克罗地亚Fiskalizacija税务服务客户端
项目描述
fiskal-hr
Python 3包,用于集成克罗地亚税务当局Fiskalizacija服务。
范围
该软件包提供了与Fiskalizacija服务的完全集成,包括
- 在测试(DEMO)模式下检查发票详情 -
FiskalClient.check_invoice()
- 提交发票 -
FiskalClient.submit_invoice()
- 提交税务文件 -
FiskalClient.submit_document()
- 更改支付方式 -
FiskalClient.change_payment_method()
需求
您需要客户端证书、Fiskalizacija服务证书和FINA根CA证书。请阅读集成指南以获取获取和准备证书的详细步骤。
您还需要在计算机上安装libxmlsec1
库。
快速入门
-
安装
fiskal-hr
pip install fiskal-hr
-
确保您已准备好证书,然后初始化fiskal客户端软件包
from fiskalhr.invoice import Invoice from fiskalhr.ws import FiskalClient from fiskalhr.signature import Signer, Verifier signer = Signer("path/to/your-client-cert.pem") # if encrypted, you'll need the password as well verifier = Verifier("path/to/service-cert.pem", ["path/to/fina-demo-ca-combined.pem"]) fiskal_client = FiskalClient( "path/to/fina-demo-ca-combined.pem", "path/to/wsdl/FiskalizacijaService.wsdl", signer, verifier, )
-
检查与服务之间的通信
fiskal_client.test_service()
这向回声服务发送“ping”消息,以检查基本连接是否正常工作。如果出现错误,则
test_service()
方法将引发异常。 -
创建测试发票并要求服务对其执行健全性检查(此功能仅在演示模式下可用)
invoice = Invoice(fiskal_client, oib="YOUR-OIB", invoice_number="1/X/1", total=100) fiskal_client.check_invoice(invoice)
如果有任何错误,则
check_invoice()
方法将使用包含错误详情的details
属性引发fiskalhr.ResponseError
。请注意,这仅进行基本健全性检查。例如,它不会检查销售点位置(在本例发票号码中的代码
X
)是否已注册。
测试
此包有100%的单元测试覆盖率。要运行测试
pytest
覆盖率报告将自动生成。要将其导出为HTML格式,请运行coverage html
。
测试不会联系Fiskalizacija服务或任何其他外部服务,也不需要实际证书。它们完全自包含。
有关测试和证书的更多信息,请参阅测试指南。
贡献
发现了一个错误或认为某事可以改进?所有贡献都受欢迎!
在更改任何代码之前,请打开一个GitHub问题,说明您想做什么。这将确保您的计划贡献与包的其余部分很好地配合,并最大限度地减少您的拉取请求被拒绝的可能性。
如果更改任何代码,请确保在您的更改之后
- 所有测试通过,代码覆盖率仍然是100%
black
、flake8
和isort
没有发现问题- 代码不依赖于任何外部服务
版权和许可证
版权(C)2022年 Senko Rasic senko@senko.net
此包可在MIT许可证的条款下使用和分发。有关详细信息,请参阅LICENSE文件。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
fiskal-hr-0.9.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0634d40fb03500ab3b70541e4cd68a7ea58b9ce21c2597ef89c6c59a29208eaa |
|
MD5 | 63486b9c0068d20a203271a5bc51a8fb |
|
BLAKE2b-256 | 88b08b70516ada39e1e8f2019a9a3081cd0dba03f4f80d872b41e8b682a510e9 |
fiskal_hr-0.9.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 367d9a557eb71c25edfa62681cff7b2b9525a5fcff5b44cdbffe2aba6e88bc21 |
|
MD5 | d201cf32b2b40106174305edaa41fe39 |
|
BLAKE2b-256 | 224507d2f00d83067217873b289ae522f08b7191fdb17f035da577b453fa2518 |