@fin.cx/einvoice 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/classes.decoder.d.ts +40 -0
- package/dist_ts/classes.decoder.js +320 -0
- package/dist_ts/classes.encoder.d.ts +51 -0
- package/dist_ts/classes.encoder.js +293 -0
- package/dist_ts/classes.xinvoice.d.ts +136 -0
- package/dist_ts/classes.xinvoice.js +352 -0
- package/dist_ts/einvoice.d.ts +217 -0
- package/dist_ts/einvoice.js +505 -0
- package/dist_ts/errors.d.ts +121 -0
- package/dist_ts/errors.js +241 -0
- package/dist_ts/formats/base/base.decoder.d.ts +32 -0
- package/dist_ts/formats/base/base.decoder.js +52 -0
- package/dist_ts/formats/base/base.encoder.d.ts +13 -0
- package/dist_ts/formats/base/base.encoder.js +7 -0
- package/dist_ts/formats/base/base.validator.d.ts +44 -0
- package/dist_ts/formats/base/base.validator.js +39 -0
- package/dist_ts/formats/base.decoder.d.ts +19 -0
- package/dist_ts/formats/base.decoder.js +130 -0
- package/dist_ts/formats/base.validator.d.ts +44 -0
- package/dist_ts/formats/base.validator.js +39 -0
- package/dist_ts/formats/cii/cii.decoder.d.ts +61 -0
- package/dist_ts/formats/cii/cii.decoder.js +111 -0
- package/dist_ts/formats/cii/cii.encoder.d.ts +43 -0
- package/dist_ts/formats/cii/cii.encoder.js +48 -0
- package/dist_ts/formats/cii/cii.types.d.ts +31 -0
- package/dist_ts/formats/cii/cii.types.js +40 -0
- package/dist_ts/formats/cii/cii.validator.d.ts +56 -0
- package/dist_ts/formats/cii/cii.validator.js +146 -0
- package/dist_ts/formats/cii/facturx/facturx.decoder.d.ts +43 -0
- package/dist_ts/formats/cii/facturx/facturx.decoder.js +207 -0
- package/dist_ts/formats/cii/facturx/facturx.encoder.d.ts +82 -0
- package/dist_ts/formats/cii/facturx/facturx.encoder.js +400 -0
- package/dist_ts/formats/cii/facturx/facturx.types.d.ts +10 -0
- package/dist_ts/formats/cii/facturx/facturx.types.js +15 -0
- package/dist_ts/formats/cii/facturx/facturx.validator.d.ts +32 -0
- package/dist_ts/formats/cii/facturx/facturx.validator.js +138 -0
- package/dist_ts/formats/cii/zugferd/zugferd.decoder.d.ts +43 -0
- package/dist_ts/formats/cii/zugferd/zugferd.decoder.js +218 -0
- package/dist_ts/formats/cii/zugferd/zugferd.encoder.d.ts +97 -0
- package/dist_ts/formats/cii/zugferd/zugferd.encoder.js +550 -0
- package/dist_ts/formats/cii/zugferd/zugferd.types.d.ts +10 -0
- package/dist_ts/formats/cii/zugferd/zugferd.types.js +15 -0
- package/dist_ts/formats/cii/zugferd/zugferd.v1.decoder.d.ts +49 -0
- package/dist_ts/formats/cii/zugferd/zugferd.v1.decoder.js +229 -0
- package/dist_ts/formats/cii/zugferd/zugferd.validator.d.ts +16 -0
- package/dist_ts/formats/cii/zugferd/zugferd.validator.js +29 -0
- package/dist_ts/formats/decoder.factory.d.ts +15 -0
- package/dist_ts/formats/decoder.factory.js +46 -0
- package/dist_ts/formats/factories/decoder.factory.d.ts +13 -0
- package/dist_ts/formats/factories/decoder.factory.js +56 -0
- package/dist_ts/formats/factories/encoder.factory.d.ts +14 -0
- package/dist_ts/formats/factories/encoder.factory.js +40 -0
- package/dist_ts/formats/factories/validator.factory.d.ts +12 -0
- package/dist_ts/formats/factories/validator.factory.js +110 -0
- package/dist_ts/formats/factorx.decoder.d.ts +18 -0
- package/dist_ts/formats/factorx.decoder.js +178 -0
- package/dist_ts/formats/factorx.encoder.d.ts +51 -0
- package/dist_ts/formats/factorx.encoder.js +293 -0
- package/dist_ts/formats/facturx.decoder.d.ts +18 -0
- package/dist_ts/formats/facturx.decoder.js +210 -0
- package/dist_ts/formats/facturx.encoder.d.ts +51 -0
- package/dist_ts/formats/facturx.encoder.js +293 -0
- package/dist_ts/formats/facturx.validator.d.ts +67 -0
- package/dist_ts/formats/facturx.validator.js +266 -0
- package/dist_ts/formats/pdf/extractors/associated.extractor.d.ts +14 -0
- package/dist_ts/formats/pdf/extractors/associated.extractor.js +68 -0
- package/dist_ts/formats/pdf/extractors/base.extractor.d.ts +92 -0
- package/dist_ts/formats/pdf/extractors/base.extractor.js +319 -0
- package/dist_ts/formats/pdf/extractors/index.d.ts +4 -0
- package/dist_ts/formats/pdf/extractors/index.js +5 -0
- package/dist_ts/formats/pdf/extractors/standard.extractor.d.ts +13 -0
- package/dist_ts/formats/pdf/extractors/standard.extractor.js +74 -0
- package/dist_ts/formats/pdf/extractors/text.extractor.d.ts +45 -0
- package/dist_ts/formats/pdf/extractors/text.extractor.js +151 -0
- package/dist_ts/formats/pdf/pdf.embedder.d.ts +69 -0
- package/dist_ts/formats/pdf/pdf.embedder.js +183 -0
- package/dist_ts/formats/pdf/pdf.extractor.d.ts +49 -0
- package/dist_ts/formats/pdf/pdf.extractor.js +98 -0
- package/dist_ts/formats/pdf/robust-pdf.extractor.d.ts +40 -0
- package/dist_ts/formats/pdf/robust-pdf.extractor.js +324 -0
- package/dist_ts/formats/ubl/en16931.ubl.validator.d.ts +18 -0
- package/dist_ts/formats/ubl/en16931.ubl.validator.js +169 -0
- package/dist_ts/formats/ubl/generic/ubl.encoder.d.ts +151 -0
- package/dist_ts/formats/ubl/generic/ubl.encoder.js +892 -0
- package/dist_ts/formats/ubl/ubl.decoder.d.ts +61 -0
- package/dist_ts/formats/ubl/ubl.decoder.js +95 -0
- package/dist_ts/formats/ubl/ubl.encoder.d.ts +38 -0
- package/dist_ts/formats/ubl/ubl.encoder.js +46 -0
- package/dist_ts/formats/ubl/ubl.types.d.ts +16 -0
- package/dist_ts/formats/ubl/ubl.types.js +21 -0
- package/dist_ts/formats/ubl/ubl.validator.d.ts +50 -0
- package/dist_ts/formats/ubl/ubl.validator.js +112 -0
- package/dist_ts/formats/ubl/xrechnung/xrechnung.decoder.d.ts +34 -0
- package/dist_ts/formats/ubl/xrechnung/xrechnung.decoder.js +424 -0
- package/dist_ts/formats/ubl/xrechnung/xrechnung.encoder.d.ts +75 -0
- package/dist_ts/formats/ubl/xrechnung/xrechnung.encoder.js +555 -0
- package/dist_ts/formats/ubl/xrechnung.validator.d.ts +15 -0
- package/dist_ts/formats/ubl/xrechnung.validator.js +107 -0
- package/dist_ts/formats/ubl.validator.d.ts +82 -0
- package/dist_ts/formats/ubl.validator.js +306 -0
- package/dist_ts/formats/utils/format.detector.d.ts +62 -0
- package/dist_ts/formats/utils/format.detector.js +249 -0
- package/dist_ts/formats/validation/en16931.validator.d.ts +23 -0
- package/dist_ts/formats/validation/en16931.validator.js +119 -0
- package/dist_ts/formats/validator.factory.d.ts +18 -0
- package/dist_ts/formats/validator.factory.js +78 -0
- package/dist_ts/formats/xinvoice.decoder.d.ts +28 -0
- package/dist_ts/formats/xinvoice.decoder.js +332 -0
- package/dist_ts/formats/xinvoice.encoder.d.ts +19 -0
- package/dist_ts/formats/xinvoice.encoder.js +282 -0
- package/dist_ts/index.d.ts +51 -0
- package/dist_ts/index.js +90 -0
- package/dist_ts/interfaces/common.d.ts +79 -0
- package/dist_ts/interfaces/common.js +24 -0
- package/dist_ts/interfaces.d.ts +87 -0
- package/dist_ts/interfaces.js +23 -0
- package/dist_ts/plugins.d.ts +14 -0
- package/dist_ts/plugins.js +31 -0
- package/npmextra.json +35 -0
- package/package.json +71 -0
- package/readme.hints.md +1107 -0
- package/readme.howtofixtests.md +38 -0
- package/readme.literature.md +1 -0
- package/readme.md +998 -0
- package/readme.plan.md +481 -0
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/einvoice.ts +603 -0
- package/ts/errors.ts +341 -0
- package/ts/formats/base/base.decoder.ts +68 -0
- package/ts/formats/base/base.encoder.ts +14 -0
- package/ts/formats/base/base.validator.ts +64 -0
- package/ts/formats/cii/cii.decoder.ts +139 -0
- package/ts/formats/cii/cii.encoder.ts +64 -0
- package/ts/formats/cii/cii.types.ts +44 -0
- package/ts/formats/cii/cii.validator.ts +171 -0
- package/ts/formats/cii/facturx/facturx.decoder.ts +243 -0
- package/ts/formats/cii/facturx/facturx.encoder.ts +483 -0
- package/ts/formats/cii/facturx/facturx.types.ts +18 -0
- package/ts/formats/cii/facturx/facturx.validator.ts +180 -0
- package/ts/formats/cii/zugferd/zugferd.decoder.ts +256 -0
- package/ts/formats/cii/zugferd/zugferd.encoder.ts +661 -0
- package/ts/formats/cii/zugferd/zugferd.types.ts +18 -0
- package/ts/formats/cii/zugferd/zugferd.v1.decoder.ts +267 -0
- package/ts/formats/cii/zugferd/zugferd.validator.ts +31 -0
- package/ts/formats/factories/decoder.factory.ts +62 -0
- package/ts/formats/factories/encoder.factory.ts +47 -0
- package/ts/formats/factories/validator.factory.ts +134 -0
- package/ts/formats/pdf/extractors/associated.extractor.ts +78 -0
- package/ts/formats/pdf/extractors/base.extractor.ts +355 -0
- package/ts/formats/pdf/extractors/index.ts +4 -0
- package/ts/formats/pdf/extractors/standard.extractor.ts +86 -0
- package/ts/formats/pdf/extractors/text.extractor.ts +162 -0
- package/ts/formats/pdf/pdf.embedder.ts +242 -0
- package/ts/formats/pdf/pdf.extractor.ts +141 -0
- package/ts/formats/ubl/en16931.ubl.validator.ts +216 -0
- package/ts/formats/ubl/generic/ubl.encoder.ts +1041 -0
- package/ts/formats/ubl/ubl.decoder.ts +121 -0
- package/ts/formats/ubl/ubl.encoder.ts +63 -0
- package/ts/formats/ubl/ubl.types.ts +22 -0
- package/ts/formats/ubl/ubl.validator.ts +133 -0
- package/ts/formats/ubl/xrechnung/xrechnung.decoder.ts +471 -0
- package/ts/formats/ubl/xrechnung/xrechnung.encoder.ts +619 -0
- package/ts/formats/ubl/xrechnung.validator.ts +185 -0
- package/ts/formats/utils/format.detector.ts +306 -0
- package/ts/formats/validation/en16931.validator.ts +135 -0
- package/ts/index.ts +164 -0
- package/ts/interfaces/common.ts +90 -0
- package/ts/interfaces.ts +98 -0
- package/ts/plugins.ts +61 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { UBLBaseEncoder } from '../ubl.encoder.js';
|
|
2
|
+
import type { TCreditNote, TDebitNote } from '../../../interfaces/common.js';
|
|
3
|
+
/**
|
|
4
|
+
* UBL Encoder implementation
|
|
5
|
+
* Provides encoding functionality for UBL 2.1 invoice and credit note documents
|
|
6
|
+
*/
|
|
7
|
+
export declare class UBLEncoder extends UBLBaseEncoder {
|
|
8
|
+
/**
|
|
9
|
+
* Encodes a credit note into UBL XML
|
|
10
|
+
* @param creditNote Credit note to encode
|
|
11
|
+
* @returns UBL XML string
|
|
12
|
+
*/
|
|
13
|
+
protected encodeCreditNote(creditNote: TCreditNote): Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Encodes a debit note (invoice) into UBL XML
|
|
16
|
+
* @param debitNote Debit note to encode
|
|
17
|
+
* @returns UBL XML string
|
|
18
|
+
*/
|
|
19
|
+
protected encodeDebitNote(debitNote: TDebitNote): Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Adds common document elements to both invoice and credit note
|
|
22
|
+
* @param doc XML document
|
|
23
|
+
* @param invoice Invoice or credit note data
|
|
24
|
+
* @param documentType Document type (Invoice or CreditNote)
|
|
25
|
+
*/
|
|
26
|
+
private addCommonElements;
|
|
27
|
+
/**
|
|
28
|
+
* Adds credit note specific data to the document
|
|
29
|
+
* @param doc XML document
|
|
30
|
+
* @param creditNote Credit note data
|
|
31
|
+
*/
|
|
32
|
+
private addCreditNoteSpecificData;
|
|
33
|
+
/**
|
|
34
|
+
* Adds invoice specific data to the document
|
|
35
|
+
* @param doc XML document
|
|
36
|
+
* @param invoice Invoice data
|
|
37
|
+
*/
|
|
38
|
+
private addInvoiceSpecificData;
|
|
39
|
+
/**
|
|
40
|
+
* Adds party information (supplier or customer)
|
|
41
|
+
* @param doc XML document
|
|
42
|
+
* @param parentElement Parent element
|
|
43
|
+
* @param elementName Element name (AccountingSupplierParty or AccountingCustomerParty)
|
|
44
|
+
* @param party Party data
|
|
45
|
+
*/
|
|
46
|
+
private addParty;
|
|
47
|
+
/**
|
|
48
|
+
* Adds payment terms information
|
|
49
|
+
* @param doc XML document
|
|
50
|
+
* @param parentElement Parent element
|
|
51
|
+
* @param invoice Invoice data
|
|
52
|
+
*/
|
|
53
|
+
private addPaymentTerms;
|
|
54
|
+
/**
|
|
55
|
+
* Adds payment means information
|
|
56
|
+
* @param doc XML document
|
|
57
|
+
* @param parentElement Parent element
|
|
58
|
+
* @param invoice Invoice data
|
|
59
|
+
*/
|
|
60
|
+
private addPaymentMeans;
|
|
61
|
+
/**
|
|
62
|
+
* Adds tax total information
|
|
63
|
+
* @param doc XML document
|
|
64
|
+
* @param parentElement Parent element
|
|
65
|
+
* @param invoice Invoice data
|
|
66
|
+
*/
|
|
67
|
+
private addTaxTotal;
|
|
68
|
+
/**
|
|
69
|
+
* Adds legal monetary total information
|
|
70
|
+
* @param doc XML document
|
|
71
|
+
* @param parentElement Parent element
|
|
72
|
+
* @param invoice Invoice data
|
|
73
|
+
*/
|
|
74
|
+
private addLegalMonetaryTotal;
|
|
75
|
+
/**
|
|
76
|
+
* Adds invoice lines
|
|
77
|
+
* @param doc XML document
|
|
78
|
+
* @param parentElement Parent element
|
|
79
|
+
* @param invoice Invoice data
|
|
80
|
+
*/
|
|
81
|
+
private addInvoiceLines;
|
|
82
|
+
/**
|
|
83
|
+
* Helper method to append a simple element with text content
|
|
84
|
+
* @param doc XML document
|
|
85
|
+
* @param parentElement Parent element
|
|
86
|
+
* @param elementName Element name
|
|
87
|
+
* @param textContent Text content
|
|
88
|
+
*/
|
|
89
|
+
private appendElement;
|
|
90
|
+
/**
|
|
91
|
+
* Helper method to get country code from country name
|
|
92
|
+
* Simple implementation that assumes the country name is already a code
|
|
93
|
+
* @param countryName Country name
|
|
94
|
+
* @returns Country code (2-letter ISO code)
|
|
95
|
+
*/
|
|
96
|
+
private getCountryCode;
|
|
97
|
+
/**
|
|
98
|
+
* Preserves metadata from invoice to enhance UBL XML output
|
|
99
|
+
* @param doc XML document
|
|
100
|
+
* @param root Root element
|
|
101
|
+
* @param invoice Invoice data
|
|
102
|
+
*/
|
|
103
|
+
private preserveMetadata;
|
|
104
|
+
/**
|
|
105
|
+
* Adds business references from metadata to UBL document
|
|
106
|
+
* @param doc XML document
|
|
107
|
+
* @param root Root element
|
|
108
|
+
* @param businessReferences Business references from metadata
|
|
109
|
+
*/
|
|
110
|
+
private addBusinessReferencesToUBL;
|
|
111
|
+
/**
|
|
112
|
+
* Enhances payment information from metadata in UBL document
|
|
113
|
+
* @param doc XML document
|
|
114
|
+
* @param root Root element
|
|
115
|
+
* @param paymentInfo Payment information from metadata
|
|
116
|
+
*/
|
|
117
|
+
private enhancePaymentInformationUBL;
|
|
118
|
+
/**
|
|
119
|
+
* Adds date information from metadata to UBL document
|
|
120
|
+
* @param doc XML document
|
|
121
|
+
* @param root Root element
|
|
122
|
+
* @param dateInfo Date information from metadata
|
|
123
|
+
*/
|
|
124
|
+
private addDateInformationUBL;
|
|
125
|
+
/**
|
|
126
|
+
* Enhances party information with contact details from metadata
|
|
127
|
+
* @param doc XML document
|
|
128
|
+
* @param invoice Invoice data
|
|
129
|
+
*/
|
|
130
|
+
private enhancePartyInformationUBL;
|
|
131
|
+
/**
|
|
132
|
+
* Enhances a party with GLN, additional identifiers, and contact info
|
|
133
|
+
* @param doc XML document
|
|
134
|
+
* @param partySelector Party selector
|
|
135
|
+
* @param partyData Party data
|
|
136
|
+
*/
|
|
137
|
+
private enhancePartyUBL;
|
|
138
|
+
/**
|
|
139
|
+
* Adds contact information to a party in UBL document
|
|
140
|
+
* @param doc XML document
|
|
141
|
+
* @param partySelector Party selector
|
|
142
|
+
* @param contactInfo Contact information from metadata
|
|
143
|
+
*/
|
|
144
|
+
private addContactToPartyUBL;
|
|
145
|
+
/**
|
|
146
|
+
* Enhances line items with metadata in UBL document
|
|
147
|
+
* @param doc XML document
|
|
148
|
+
* @param invoice Invoice data
|
|
149
|
+
*/
|
|
150
|
+
private enhanceLineItemsUBL;
|
|
151
|
+
}
|