#ledger #accounting #plain-text-accounting #csv #format #format-file #import

bin+lib okane

支持 Ledger (https://www.ledger-cli.org/) 等价语法的 CLI 工具

15 个版本 (9 个破坏性更新)

0.11.0 2024年8月7日
0.10.0 2024年7月5日
0.9.0 2024年5月12日
0.8.0 2024年2月3日
0.1.0 2021年11月26日

财务 中排名 20

Download history 153/week @ 2024-05-11 14/week @ 2024-05-18 1/week @ 2024-05-25 46/week @ 2024-06-29 46/week @ 2024-07-06 2/week @ 2024-07-13 3/week @ 2024-07-20 16/week @ 2024-07-27 103/week @ 2024-08-03 11/week @ 2024-08-10

每月下载量 133

MIT 许可证 MIT

370KB
10K SLoC

okane

CircleCI crates.io

Okane 是一款使用 Rust 开发的纯文本会计软件,受 ledger-cli 影响。

此工具支持各种命令

  • balance 获取账户当前余额。
  • register 获取账户的历史记录。
  • accounts 列出文件中的所有账户。
  • format 将给定的 Ledger 文件格式化为组织格式。
  • import 将 CSV、ISO Camt053 XML 等多种来源转换为 Ledger 格式。
  • primitive 保留不太有用但有助于调试的命令。

注意 balanceregister 仍在开发中,UX 将发生重大变化。

如何使用

免责声明:此软件处于早期阶段,可能随时发生变化。

请参考支持的语法的 语法 页面。

安装

目前尚未提供二进制发布版本,因此您需要运行 cargo install 来安装此工具。

$ cargo install okane

查询文件

类似于 Ledger,您可以使用类似命令。

$ okane accounts /path/to/file.ledger
$ okane balance /path/to/file.ledger
$ okane registry /path/to/file.ledger [optional account]

格式化文件

$ okane format ~/ledger/account.ledger

此命令目前将格式化输出打印到标准输出。将来将提供原地格式化,也可以用作 Git 钩的 diff 输出。

导入 CSV 或 ISO Camt053 XML 文件

首先,您需要编写 YAML 文件以控制导入行为。我们假设它们位于 ~/ledger/ 下。YAML 的格式(抱歉)未记录,但您可以从 tests/testdata 目录中看到示例配置。

然后,运行带有日志记录和重定向到 /dev/nullokane import 命令。这样,您可以进行 dry-run 并检查其输出。

$ RUST_LOG=info okane import --config ~/ledger/import.yml ~/ledger/input_file.csv > /dev/null

在迭代日志并修改YAML文件后,您可以重定向标准输出到账本文件。

$ RUST_LOG=info okane import --config ~/ledger/import.yml ~/ledger/input_file.csv >> ~/ledger/output_path.ledger

提示:您可能不想处理所有条目,而是应首先覆盖80-90%的条目。

许可

本工具采用MIT许可

依赖项

~17MB
~344K SLoC