#文件格式 #csv #解析器 #命令行界面 #aba #cemtex

bin+lib cemtexer

生成和验证澳大利亚银行协会 Cemtex 文件格式的工具

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 次下载

MIT 许可证

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 文件,并在未来的版本中为个人用户提供易于使用的界面。

CircleCI Crates.io MIT licensed

如何使用

从以下位置下载最新版本: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