5 个版本
0.1.4 | 2023年6月23日 |
---|---|
0.1.3 | 2022年8月6日 |
0.1.2 | 2022年6月18日 |
0.1.1 | 2022年5月23日 |
0.1.0 | 2022年5月22日 |
#1323 在 解析实现
每月25 次下载
84KB
2K SLoC
Cemtexer
Cemtexer 是一款用于生成和验证澳大利亚银行协会 Cemtex 文件(.aba)的工具,目前具有命令行界面,使用 Rust 编程语言编写。Cemtex 文件格式的规范可以在各种来源中找到,例如:https://idoc.pub/documents/aba-file-format-details-online-cemtex-aba-file-conversion-csv-to-aba-d49o32yg8649
针对企业和个人用户,其设计考虑以下因素:
-
免费使用:Cemtexer 可免费使用,并持续增强功能,是付费商业产品的理想替代品。
-
自我集成:Cemtexer 允许用户通过使用普遍同意的模板格式轻松自我集成。
-
快速且安全:Cemtexer 利用 Rust 编程语言独特的性能和内存安全性承诺。
-
多功能:Cemtexer 使企业用户能够以脚本方式批量处理 Cemtex 文件,并在未来的版本中为个人用户提供易于使用的界面。
如何使用
从以下位置下载最新版本:https://github.com/gborough/cemtexer/releases/
命令行界面目前具有四个功能,键入 cemtexer -h 查看命令行选项
- 将示例模板输出到 stdout,以进行集成说明 示例
cemtexer showtemplate
- 在用户指定的位置生成模板,以便进行结算 示例
cemtexer gentemplate /path/to/template
- 从模板文件和用户生成的 .csv 结算文件在用户指定的位置生成 .aba 文件 示例
cemtexer abagen --template /path/to/template \
--csv /path/to/csv.csv \
--aba /path/to/aba.aba
- 验证用户指定的位置的现有 .aba 文件并生成报告到用户指定的位置 示例
cemtexer abacheck --aba /path/to/aba.aba \
--report /path/to/report
自我集成指南
为了无缝自我集成并以自动化方式运行程序,建议用户遵守以下文件格式约定。它们旨在涵盖绝大多数结算案例
- 要显示示例结算模板文件,只需运行
cemtexer showtemplate
然后根据上述要求生成并填写模板文件。
- 对于通常由您的帐户软件生成的 .csv,必须严格遵守以下格式,逗号分隔,所有字段均为必填项,除注释和税收扣除外。
BSB,Account Number,Account Name,Amount,Optional Comments,Optional Tax Withholding
注意:金额字段必须采用以下格式之一:以分表示的格式(例如:123)或两位小数格式(例如:123.45),可以带有或不带美元符号前缀,但不应混合使用这两种格式。请参阅以下说明。
完整填写条目的示例
063-000,1234567,Alice Smith,37.00,Purchase,0.37
可选字段示例
063-000,1234567,Alice Smith,$37.00,,0.37
063-001,9876543,Bob Smith,58.00,Purchase,
063-002,1029384,Eve Smith,$10.00,,
说明
-
目前主要针对x86_64 Linux平台,但用户可以下载源代码并在除x86_64之外的自己目标上编译。
-
由于缺乏数据源,当前版本不支持APCA号码验证,如果有可靠的数据源,请告知我。
-
由于大多数会计软件已经处理了此功能,并且由于银行和企业的不同要求,某些字段合并方式尚不明确,因此尚未提供合并多个付款的功能。如果确实有启用此功能的理由,请告知我,我将进行调查。
-
如果csv字段中的金额字段是两位小数格式和分表示格式的混合(虽然极为罕见,但并非没有),我们无法保证其正确性,因为没有进行验证,因为我们无法推断用户的真实意图。
-
反序列化.csv文件的错误报告针对的是非合规格式,即字段缺少分隔符,因此必须严格按照集成指南执行。总体而言,我们假设会计软件会输出正确的格式。
-
由于Cemtex使用不合规的日期格式(DDMMYY),闰年验证将仅运行到公元9999年。
未来版本
-
为个人用户(我假设是会计师)提供的简单UI,编译为wasm目标以便于分发和完全自包含。计划中,正在进行中。
-
一个免费使用的基于Web的SaaS解决方案,包含更多会计功能。计划中。
许可协议
本项目采用MIT许可证。
贡献
除非您明确声明,否则您提交给Cemtexer以供包含的任何贡献将被许可为MIT,不附加任何额外条款或条件。
依赖关系
约9-18MB
约216K SLoC