跳转到主要内容

克罗地亚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库。

快速入门

  1. 安装fiskal-hr

    pip install fiskal-hr
    
  2. 确保您已准备好证书,然后初始化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,
    )
    
  3. 检查与服务之间的通信

    fiskal_client.test_service()
    

    这向回声服务发送“ping”消息,以检查基本连接是否正常工作。如果出现错误,则test_service()方法将引发异常。

  4. 创建测试发票并要求服务对其执行健全性检查(此功能仅在演示模式下可用)

    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%
  • blackflake8isort没有发现问题
  • 代码不依赖于任何外部服务

版权和许可证

版权(C)2022年 Senko Rasic senko@senko.net

此包可在MIT许可证的条款下使用和分发。有关详细信息,请参阅LICENSE文件。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

fiskal-hr-0.9.1.tar.gz (16.9 kB 查看哈希值)

上传时间

构建分发

fiskal_hr-0.9.1-py3-none-any.whl (19.7 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面