寻求生成符合EN16931(ZugFERD)标准的电子发票xml的模板

问题描述 投票:0回答:2

我们的小公司被要求提供符合欧盟标准的电子发票。我找到了Python包

factur-x
,以及libreoffice的factur-x插件。不幸的是,后者仅生成最少的factur-X发票,而我们的客户告诉我们这些还不够。

任何人都可以帮助我指向其他开源软件,或者所需 xml 的英语示例或描述吗?

理想情况下,Django 模板可以将 Python 字典或类似上下文转换为相关 xml,以便合并到 pdf 发票中(factur-x 可以做到)。任何其他宏或模板语言都可以。 但我会接受任何我能得到的帮助。我无法阅读用德语编写的标准文档!

xml django-templates invoice zugferd
2个回答
2
投票

目前正在研究同一主题。

要使用 Python 生成 xml,请查看此库: https://github.com/invinet/python-en16931

不幸的是,这个库似乎自去年以来就没有维护,但可以作为一个很好的起点。

使用

factur-x
库,您已经发现可以将 xml 合并到 pdf,但请记住,您将需要 PDF/A3 格式才能使发票兼容。因此,要么原始 PDF 已经具有 A3 存档格式,要么——我喜欢的方式——使用 Ghostscript 来合并 xml。 请参阅https://ghostscript.com/zugferd.html

编辑:


另请查看

factur-x
-Library 附带的 xsd 文件夹 - 那里有创建兼容 xml 所需的 XML 模式描述文件。


0
投票

我发现这个库非常有用:

https://github.com/pretix/python-drafthorse

它允许从头开始创建 xml 文件,并提供导出各种

ZUGFeRD
模式。

创作范例:

# Build data structure
doc = Document()
doc.context.guideline_parameter.id = "urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended"
doc.header.id = "RE1337"
doc.header.type_code = "380"
doc.header.name = "RECHNUNG"
doc.header.issue_date_time = date.today()
doc.header.languages.add("de")
...

并且仍在维护,最后一次提交是在 4 小时前。

© www.soinside.com 2019 - 2024. All rights reserved.