用于生成PDF发票的库。
项目描述
这是一个生成简单发票的库。目前支持的格式是PDF和用于Pohoda会计系统的XML。PDF发票基于ReportLab。
安装
以root用户身份运行此命令
pip install InvoiceGenerator
如果您想升级到新版本,请添加 --upgrade 标志
pip install InvoiceGenerator --upgrade
您也可以使用GitHub仓库中的setup.py
python setup.py install
文档
完整的文档可在 Read The Docs 上找到。
示例
基本API
首先定义发票数据
import os from tempfile import NamedTemporaryFile from InvoiceGenerator.api import Invoice, Item, Client, Provider, Creator # choose english as language os.environ["INVOICE_LANG"] = "en" client = Client('Client company') provider = Provider('My company', bank_account='2600420569', bank_code='2010') creator = Creator('John Doe') invoice = Invoice(client, provider, creator) invoice.currency_locale = 'en_US.UTF-8' invoice.add_item(Item(32, 600, description="Item 1")) invoice.add_item(Item(60, 50, description="Item 2", tax=21)) invoice.add_item(Item(50, 60, description="Item 3", tax=0)) invoice.add_item(Item(5, 600, description="Item 4", tax=15))
注意:由于Python的表示错误,为了避免得到很多小数位的结果,将数字写为整数 tax=10,Decimal tax=Decimal('10.1') 或字符串 tax='1.2'。
生成PDF发票文件
from InvoiceGenerator.pdf import SimpleInvoice pdf = SimpleInvoice(invoice) pdf.gen("invoice.pdf", generate_qr_code=True)
Pohoda XML
生成XML发票文件
from InvoiceGenerator.pohoda import SimpleInvoice pdf = SimpleInvoice(invoice) pdf.gen("invoice.xml")
注意:Pohoda使用三种税率:无税率:0%,低税率:15%,高税率:21%。如果任何项目不满足这些百分比,则不会为这些项目设置rateVat参数,导致税率为0%。
目前只支持SimpleInvoice用于Pohoda XML格式。
黑客攻击
在github上复制仓库并编写代码。请确保在/tests/下添加覆盖您代码的测试。您可以使用以下命令运行测试
python setup.py test
然后通过pull request提出您的补丁。
文档是从doc/source/生成的,使用Sphinx
python setup.py build_sphinx
然后转到doc/build/html/index.html。
历史
1.2.0 - 2024-07-14
大型项目更新,支持Python 3.8 - 3.12
1.1.0 - 2020-04-24
修复发票上的二维码
停止支持Python 2
添加pt_BR翻译
添加对透明PNG的支持
1.0.0 - 2018-05-17
添加对Pohoda XML格式的支持
添加了更多复杂的文档
参数Address.zip已重命名为Address.zip_code
向Address添加参数division和country
添加参数Address.bank_code如果存在,则将银行代码写入账号号码之后,否则整个Address.bank_account将被使用
地址将渲染以适合PDF发票上的区域
代码风格修正
四舍五入修复:使用decimal.Decimal并添加参数Invoice.rounding_strategy
二维码修复
允许在SimpleInvoice中设置线宽
0.5.4 - 2017-03-22
修复构建包中的地区设置
0.5.3 - 2017-01-09
使用Babel进行货币格式化;修复并改进测试
0.5.2 - 2014-12-04
停止提及python2.6支持
将invoice.variable_symbol设置为可选
0.5.1 - 2014-10-28
修复相对导入的conf
使用python本地函数splitlines对注释进行拆分
0.5.0 - 2014-09-21
向对象Invoice添加属性number
替换发票头中发票号码的变量符号
更新捷克语翻译
0.4.9 - 2014-07-3
修复上一个提交中的错误
0.4.8 - 2014-07-3
创建预付款发票
0.4.7 - 2014-07-1
更改二维码生成器的日期格式
禁用在Invoice上转换日期时间到字符串
禁用渲染空值
0.4.6 - 2014-05-14
只有当有多个页面时才显示页数
将Date重命名为Date of exposure
使用pillow代替PIL
0.4.5 - 2014-04-21
支持多页项目打印
支持多行项目描述
使用地区打印货币字符串和值
在供应商头部添加徽标
早期版本没有注释。
贡献者
Adam Strauch (@creckx)
Martin Voldrich (@rbas)
Petr Dlouhy (@PetrDlouhy)
Antoine Musso (@hashar)
invoicegenerator-1.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d9977fa63eaa4769a8175dee0487d9a6be2a4667e703c5e1e83a141b32cd0976 |
|
MD5 | 5412d72f76d07cd8e6315c0cb77302e2 |
|
BLAKE2b-256 | 2531f256a6fe577752672b76062cc4fe10b46439bfdad6b97b7b479174e5ebf2 |
InvoiceGenerator-1.2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2eab5a02f6c975c03c554d0f214e5ed2c9b70956c0d1558a05cc24ed3a6173dc |
|
MD5 | 8c18bdab13d768a3de3385d1333b0a22 |
|
BLAKE2b-256 | 7cc3d52b0808108eacd11f40ba8a9f25a75f4499abd914d5a8b53a92b4774ff8 |