#税收 #联邦 #PDF #支付 #管理 #帮助 #工具

bin+lib fbihtax

FBiH(波斯尼亚和黑塞哥维那联邦)税务支付管理的简单 CLI 工具。

2 个版本

0.3.2 2022年8月23日
0.3.1 2022年8月19日

#1978解析实现

MIT 许可证

70KB
2K SLoC

fbihtax

进行中 - 基本版本可用,个人使用,但未经过彻底测试

用 Rust 编写的 FBiH(波斯尼亚和黑塞哥维那联邦)税务支付管理的简单 CLI 工具。

目前 PDF 输出需要安装 pdftk,否则可以使用 fdfjson 输出。

安装

从二进制文件

检查版本以获取构建的二进制文件。安装脚本也可用,但需要 root 权限。脚本还将安装运行此工具所需的 pdftk 版本。

$ sudo sh -c "$(curl -fsSL https://git.sr.ht/~esensar/fbihtax/blob/main/scripts/install.sh)"

$ sudo sh -c "$(wget -qO- https://git.sr.ht/~esensar/fbihtax/blob/main/scripts/install.sh)"

$ sudo sh -c "$(fetch -o - https://git.sr.ht/~esensar/fbihtax/blob/main/scripts/install.sh)"

使用 cargo

Fbihtax 部署到 crates.io,因此可以使用 cargo 进行安装

$ cargo install fbihtax

注意:这需要手动安装 pdftk

从源代码

克隆存储库,然后使用 cargo 安装 fbihtax

$ cargo install --path .

注意:这需要手动安装 pdftk

使用方法

最好在某个服务器上自动使用,但如果需要也可以手动使用。有关自动示例,请查看 fbihtax-example-project,它也可以用作模板。

有关更多信息,请使用 fbihtax --help

生成 AMS 表格

此工具支持多种 AMS 表格格式(PDF 可能是最有趣的)。要生成简单的 PDF,请运行

$ fbihtax ams --income 1000.00 --output-format pdf

上述命令需要安装并可在路径上使用 pdftk。如果不在路径上,可以在配置中提供工具的路径。

为了更多定制,可以生成 fdfxfdfjson 格式。要在生成的 PDF 中使用自定义字体

$ fbihtax ams --income 1000.00 --output-format xfdf
$ pdftk amscache.pdf fill_form amsform.xfdf output amsform.pdf replacement_font "Your Font Family Here"

上述命令需要 pdftk-java 版本高于 v3.3.0,因为在此之前的替换_font 不可用

有关更多选项,请查看 fbihtax ams --help

生成税务分解

此工具可以提供基本的税务分解,以便更容易计算税务支付。

$ fbihtax tax-breakdown --income 1000.00

这将在当前目录中生成 taxbreakdown.json。有关更多选项,请查看 fbihtax tax-breakdown --help

生成 GPD 表格

此工具还可以生成 GPD 表格(年度税务报告)。它依赖于使用此工具生成 AMS 表格构建的数据库。如果数据库中缺少某些数据,可以使用 fbihtax db 命令集手动添加。还可以提供额外的 GIP(雇主提供的年度税务报告)以正确与数据库中的数据结合。

$ fbihtax gpd --year 2021 --output-format pdf

与 AMS 命令一样,此命令可以输出不同格式,这对于添加自定义字体到 PDF 很有用。

$ fbihtax gpd --year 2021 --output-format xfdf
$ pdftk gpdcache.pdf fill_form gpdform.xfdf output gpdform.pdf replacement_font "Your Font Family Here"

上述命令需要 pdftk-java 版本高于 v3.3.0,因为在此之前的替换_font 不可用

有关更多选项,请查看 fbihtax gpd --help,有关数据库管理选项,请查看 fbihtax db --help

配置

此工具在当前工作目录中的 .fbihtax.json 文件中查找配置。除了主要配置外,还可以提供可选的独立用户和客户配置 JSON 文件。

有关所有选项,请查看 示例配置用户客户配置 JSON 文件也位于 示例 目录中。

要提供用户和客户配置,请使用 --user-config file_name.json--client-config file_name.json

许可证

MIT

依赖项

17–32MB
~351K SLoC