电子发票-欧盟
用于生成符合电子发票的 EN16931 的自由和开源工具链 (Factur-X/ZUGFERD、UBL、CII、XRechnung)来自流行电子表格格式或 贾森.
此软件包包含 @e-invoice-eu/core双方
电子发票- 欧盟命令行工具
编辑 电子发票-欧盟网络服务
用它作为基础.
目录
特征
库可以以下列格式创建电子发票: 1
- 跨行业发票-CII
- 世界商业语言-UBL
- Factur-X/ZUGFERD(所有简介,包括XRECHNUNG),配有PDF/A的完整支持
电子发票可直接取自 电子发票-欧盟内部
格式
或通过 绘图定义
从流行的电子表格格式中 .ods, (中文(简体) ), .xlsx, (中文(简体) ), .csv,, , , , , , , , .
库以 TypeScript 执行,并提供完整的类型定义 从盒子里出来。 不需要额外的@ types 软件包 。 所有的数据结构, 包括内部发票格式和制图定义的 完全输入,确保全面的IntelliSense支持.
该库作为ES模块"CommonJS"和"UMD"可供使用,使其成为了 兼容浏览器环境和像Node.js这样的JavaScript运行时间.
文档
报告的一般文件 e-invoice-eu 可在
e-invoice-eu GitHub 页面。 。 。 .
参考文献请查看
API 文档。 。 。 .
安装
npm install @e-invoice-eu/core
使用量
进口/要求图书馆
如果你拥有 import 关键字 :
import { InvoiceService, MappingService } from '@e-invoice-eu/core';
与 require数字 :
const { InvoiceService, MappingService } = require('@e-invoice-eu/core');
在浏览器中 :
<script src="https://cdn.jsdelivr.net/npm/@e-invoice-eu/core@latest/dist/e-invoice-eu.min.js"></script>
<script>
const invoiceService = new eInvoiceEU.InvoiceService(/* arguments */);
const mappingService = new eInvoiceEU.MappingService(/* arguments */);
// Your code goes here ...
</script>
从电子表格文件创建发票数据
对于此可选步骤, 您需要两个电子表格文件作为 Buffer (单位:千美元)
绘图定义为
Mapping
对象 :
import { MappingService } from '@e-invoice-eu/core';
const mappingService = new MappingService(console);
const invoice = mappingService.transform(
spreadsheet, // a `Buffer`
'Factur-X-Extended', // see https://gflohr.github.io/e-invoice-eu/en/docs/basics/supported-formats/
mapping, // a `Mapping`
);
回来的 invoice 对象是一个
Invoice
实例。 它还不是 XML 字符串或 PDF 缓冲器 !
从内部格式的数据生成发票
你可以自己提供发票数据
Invoice
实例或您可以通过电子表格数据和映射定义创建它
显示于 前一节。 。 。 .
import { InvoiceService } from '@e-invoice-eu/core';
const invoiceService = new InvoiceService(console);
const renderedInvoice = await invoiceService.generate(invoiceData, options);
见本摘要 options (可选选项被标记为
问号 ?:
| 名称 | 类型 | 说明 |
|---|---|---|
| 格式 | string | (单位:千美元) 支持的格式 |
| 朗语 | string | 语言标识符类似 fr-fr |
| 嵌入PDF吗? | boolean | 通过 true 如果 PDF 版本被嵌入到 XML 输出中 |
| pdf吗? | FileInfo | 发票的PDF版本 |
| 数据? | FileInfo | 发票电子表格文件 |
| 附件吗? | FileInfo[] | 任意的附件数量 |
参数 format
这里包含了电子发票的格式作为对大小写不敏感字符串. 你个
也可以使用别名. 譬如说, Factur-X-Comfort 是用于
Factur-X-EN16931。 。 。 .
参数 lang
语言标识符类似 fr-fr。这只用于 Factur-X/ZUGFERD
pDF XMP meta数据中某些罐装文本的格式.
参数 embedPDF
这只用于纯 XML 格式( 所有不是 Factur-X/ZUGFERD). (原始内容存档于2018-09-27). 如果有真实价值, 发票的PDF版本 被嵌入为 XML 中被编码的 Base64 字符串.
参数 pdf
有两个情况需要这样做:
- 格式为Factur-X/ZUGFERD格式并
data曾经 没有 页:1. - 格式是纯 XML 格式,
embedPDF已具体说明data未指定.
参数 data
发票的电子表格版本。 如果需要PDF, 要么是因为 嵌入式PDF是为纯XML指定的,或者因为格式是Factur-X/ZUGFERD, 自由办公室 在渲染电子表格时引用 作为PDF.
如果在浏览器中使用此特性, 将触发例外 .
参数 attachments
您可以指定任意附加附件的数量.
在纯 XML 格式中,它们被嵌入为 Base64 编码字符串
在 XML 中。 在Factur-X/ZUGFERD的情况下,它们附在PDF上,
附加于强制性附件 factur-x.xml。 。 。 .
获得支持的格式
import { FormatFactoryService } from '@e-invoice-eu/core';
const factoryService = new FormatFactoryService();
const formats = factoryService.listFormatServices();
单位 format 您将找到一组
FormatInfo
对象.
获取 JSON Schema 定义
import { invoiceSchema, mappingSchema } from '@e-invoice-eu/core';
这些变量包含用于
Invoice
财务报告和审定财务报表 Mapping
接口。 这些策略可以传递给 Ajv 实例的编译方法的参数,参见 https://ajv.js.org/api.html#ajv-compile-schema-object-data-any-boolean-promise-any (中文(简体) ) 来了解更多情况!
计划有型
JSONSchemaType<Invoice>
财务报告和审定财务报表
JSONSchemaType<Mapping>
页:1.
报告错误
请报告错误 https://github.com/gflohr/e-invoice-eu/ issues (中文(简体) )。 。 。 .
版权
版权(C)2024-2026 Guido Flohr [email protected] 页面存档备份,存于互联网档案馆,所有数据 保留的权利.
这是免费软件,可按以下规定使用: WPFPL (英语)。 。 。 .
免责声明
这个免费软件是用最谨慎的方式写的,但是.. 它可能包含错误的所有软件。 冒着自己的风险使用! 没有 保证和无责任.