#invoice #git #cli

应用程序 ucelofka

简单的开票程序

4 个版本 (2 个破坏性版本)

0.3.0 2020年2月21日
0.2.0 2020年1月4日
0.1.1 2020年1月2日
0.1.0 2020年1月2日

#8 in #invoice

GPL-3.0 许可证

50KB
1.5K SLoC

Ucelofka

一个通过命令行发布简单发票的程序。这是一个适用于能够使用 GIT 的人的简单发票系统。

程序本身应该在一个文件/目录结构上运行,该结构可以插入到 GIT 中并进行维护。

数据文件应存储在 YAML 格式。

默认输出应是一个 HTML 文件,可用于在您最喜欢的浏览器中生成 PDF。

安装

cargo install --path .

常见工作流程

如何使用 ucelofka 的常见程序。

首先,我们需要创建一个数据目录。

$ ucelofka project make --target ucelofka-data

然后您可以观察目录的内容并编辑 yaml 文件。之后,初始化一个 GIT 仓库,添加文件并创建初始提交是一个好主意。

$ cd ucelofka
$ git init .
$ git add *
$ git commit -m "Initial data"

然后创建一个发票。

$ ucelofka invoice --path . create --account first_account --customer first_customer --entry 001_first_entry --identity first_identity
Created invoice 202000001

您可以手动编辑发票数据。之后,您可以直接渲染新的发票。

$ ucelofka invoice render -T default.html -I 202000001

现在您可以在浏览器中打开生成的文件并打印为 PDF,然后将其发送给您的客户。别忘了之后将其放入 GIT 中。

$ git add invoices/202000001.yml output/202000001.html
$ git commit -m "January 2020"

如果您想为下一个月创建另一个发票条目,您可以简单地。

$ ucelofka entry create --currency USD --id 002_second_entry --name "IT services" --price 2000 --detail "Programming" --detail "Deployment"

其余程序相同。

$ ucelofka invoice --path . create --account first_account --customer first_customer --entry 002_second_entry --identity first_identity
$ ucelofka invoice render -T default.html -I 202000002
$ git add invoices/202000002.yml output/202000002.html
$ git commit -m "February 2020"

默认数据目录结构

/accounts

  • 您的银行账户(钱应发送到那里)。

/customers

  • 您的客户信息。

/entries

  • 将向您的客户收取费用的条目。

/identities

  • 您的账单信息。

/invoices

  • 已发布的发票。

/output

  • 渲染的发票。

/templates

  • 用于渲染发票的模板。

依赖关系

~20–30MB
~539K SLoC