@design.estate/dees-document 5.1.0 → 5.3.0

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.
@@ -98,6 +98,19 @@
98
98
  }
99
99
  ]
100
100
  },
101
+ {
102
+ "name": "@fin.cx/calculation",
103
+ "version": "1.4.0",
104
+ "license": "MIT",
105
+ "files": [
106
+ {
107
+ "name": "license",
108
+ "origin": "package",
109
+ "sha256": "8831025142911880cea1c7890cc04f147b7330678888e97ba523900e5493bb5d",
110
+ "text": "MIT License\n\nCopyright (c) 2025 Task Venture Capital GmbH\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
111
+ }
112
+ ]
113
+ },
101
114
  {
102
115
  "name": "@lit/context",
103
116
  "version": "1.1.6",
@@ -425,7 +438,7 @@
425
438
  },
426
439
  {
427
440
  "name": "@tsclass/tsclass",
428
- "version": "10.0.0",
441
+ "version": "10.2.0",
429
442
  "license": "MIT",
430
443
  "files": [
431
444
  {
@@ -579,6 +592,19 @@
579
592
  }
580
593
  ]
581
594
  },
595
+ {
596
+ "name": "decimal.js",
597
+ "version": "10.6.0",
598
+ "license": "MIT",
599
+ "files": [
600
+ {
601
+ "name": "LICENCE.md",
602
+ "origin": "package",
603
+ "sha256": "3108b546bcff5d346923a82f48b2d252ca722f9088076db6d145f6b67757ad6c",
604
+ "text": "The MIT Licence.\n\nCopyright (c) 2025 Michael Mclaughlin\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n"
605
+ }
606
+ ]
607
+ },
582
608
  {
583
609
  "name": "decode-named-character-reference",
584
610
  "version": "1.2.0",
@@ -1,7 +1,7 @@
1
1
  Third-party notices
2
2
 
3
3
  The JavaScript bundle this file accompanies, including its chunks and module workers,
4
- contains code from the following 135 npm package(s). Each entry reproduces
4
+ contains code from the following 137 npm package(s). Each entry reproduces
5
5
  the license and notice files the package ships, or the license text the project
6
6
  or a bundled package supplied for it.
7
7
 
@@ -1297,6 +1297,33 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1297
1297
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1298
1298
  SOFTWARE.
1299
1299
 
1300
+ ================================================================================
1301
+ @fin.cx/calculation@1.4.0
1302
+ License: MIT
1303
+
1304
+ --- license ---
1305
+
1306
+ MIT License
1307
+
1308
+ Copyright (c) 2025 Task Venture Capital GmbH
1309
+ Permission is hereby granted, free of charge, to any person obtaining a copy
1310
+ of this software and associated documentation files (the "Software"), to deal
1311
+ in the Software without restriction, including without limitation the rights
1312
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1313
+ copies of the Software, and to permit persons to whom the Software is
1314
+ furnished to do so, subject to the following conditions:
1315
+
1316
+ The above copyright notice and this permission notice shall be included in all
1317
+ copies or substantial portions of the Software.
1318
+
1319
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1320
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1321
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1322
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1323
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1324
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1325
+ SOFTWARE.
1326
+
1300
1327
  ================================================================================
1301
1328
  @lit/context@1.1.6
1302
1329
  License: BSD-3-Clause
@@ -1974,7 +2001,7 @@ The above copyright notice and this permission notice shall be included in all c
1974
2001
  THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1975
2002
 
1976
2003
  ================================================================================
1977
- @tsclass/tsclass@10.0.0
2004
+ @tsclass/tsclass@10.2.0
1978
2005
  License: MIT
1979
2006
 
1980
2007
  --- license ---
@@ -2308,6 +2335,35 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2308
2335
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2309
2336
  SOFTWARE.
2310
2337
 
2338
+ ================================================================================
2339
+ decimal.js@10.6.0
2340
+ License: MIT
2341
+
2342
+ --- LICENCE.md ---
2343
+
2344
+ The MIT Licence.
2345
+
2346
+ Copyright (c) 2025 Michael Mclaughlin
2347
+
2348
+ Permission is hereby granted, free of charge, to any person obtaining
2349
+ a copy of this software and associated documentation files (the
2350
+ 'Software'), to deal in the Software without restriction, including
2351
+ without limitation the rights to use, copy, modify, merge, publish,
2352
+ distribute, sublicense, and/or sell copies of the Software, and to
2353
+ permit persons to whom the Software is furnished to do so, subject to
2354
+ the following conditions:
2355
+
2356
+ The above copyright notice and this permission notice shall be
2357
+ included in all copies or substantial portions of the Software.
2358
+
2359
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
2360
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
2361
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
2362
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
2363
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
2364
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2365
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2366
+
2311
2367
  ================================================================================
2312
2368
  decode-named-character-reference@1.2.0
2313
2369
  License: MIT
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-document',
6
- version: '5.1.0',
6
+ version: '5.3.0',
7
7
  description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSw4QkFBOEI7SUFDcEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHVMQUF1TDtDQUNyTSxDQUFBIn0=
@@ -37,6 +37,7 @@ export class PdfService {
37
37
  */
38
38
  async createPdfFromLetterObject(optionsArg) {
39
39
  plugins.shared.assertPaidAmountMatchesAdvancePayments(optionsArg.letterData);
40
+ plugins.shared.assertWithoutVatStatesNoTax(optionsArg.letterData, optionsArg.documentSettings);
40
41
  const html = `
41
42
  <script type="module">
42
43
  ${await helpers.getBundleAsString()}
@@ -48,4 +49,4 @@ export class PdfService {
48
49
  return pdfResult;
49
50
  }
50
51
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wZGZzZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5wZGZzZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBSXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckIsU0FBUztJQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUNoQyxVQUF5QztRQUV6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztJQUNYLE9BQU8sQ0FBZ0M7SUFFaEMsZ0JBQWdCLENBQTZCO0lBRXBELFlBQVksVUFBeUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxVQUd0QztRQUNDLE9BQU8sQ0FBQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sSUFBSSxHQUFHOztVQUVQLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixFQUFFOzsyREFFZ0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQ3BGLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDNUIsaUJBQWlCLE9BQU8sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUNuRCxVQUFVLENBQUMsVUFBVSxDQUN0QjtLQUNBLENBQUM7UUFDRixxQkFBcUI7UUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQ3ZFLElBQUksQ0FDTCxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGIn0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wZGZzZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5wZGZzZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBSXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckIsU0FBUztJQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUNoQyxVQUF5QztRQUV6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztJQUNYLE9BQU8sQ0FBZ0M7SUFFaEMsZ0JBQWdCLENBQTZCO0lBRXBELFlBQVksVUFBeUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxVQUd0QztRQUNDLE9BQU8sQ0FBQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRixNQUFNLElBQUksR0FBRzs7VUFFUCxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTs7MkRBRWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUNwRixVQUFVLENBQUMsZ0JBQWdCLENBQzVCLGlCQUFpQixPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FDbkQsVUFBVSxDQUFDLFVBQVUsQ0FDdEI7S0FDQSxDQUFDO1FBQ0YscUJBQXFCO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLDJCQUEyQixDQUN2RSxJQUFJLENBQ0wsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiJ9
@@ -9,3 +9,13 @@ import * as plugins from "./plugins.js";
9
9
  * so the letterhead and the content never disagree about the same letter.
10
10
  */
11
11
  export declare const isAccountingDoc: (letterArg: plugins.tsclass.business.TLetter | null | undefined) => letterArg is plugins.tsclass.finance.TAccountingDoc;
12
+ /**
13
+ * Refuses to print a letter without VAT (`IDocumentSettings.withoutVat`) that
14
+ * states tax: an item at a rate above 0, a standard-rated item (category `S`,
15
+ * the category of an item that names none), or reverse charge. Printing no
16
+ * tax would hide what such a document owes; a letter that is no accounting
17
+ * document states none.
18
+ */
19
+ export declare const assertWithoutVatStatesNoTax: (letterArg: plugins.tsclass.business.TLetter, documentSettingsArg: {
20
+ withoutVat?: boolean;
21
+ }) => void;
@@ -9,4 +9,23 @@ import * as plugins from "./plugins.js";
9
9
  * so the letterhead and the content never disagree about the same letter.
10
10
  */
11
11
  export const isAccountingDoc = (letterArg) => letterArg?.type === "accounting-doc";
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudGluZ2RvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX3NoYXJlZC9hY2NvdW50aW5nZG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQzdCLFNBQThELEVBQ1QsRUFBRSxDQUN2RCxTQUFTLEVBQUUsSUFBSSxLQUFLLGdCQUFnQixDQUFDIn0=
12
+ /**
13
+ * Refuses to print a letter without VAT (`IDocumentSettings.withoutVat`) that
14
+ * states tax: an item at a rate above 0, a standard-rated item (category `S`,
15
+ * the category of an item that names none), or reverse charge. Printing no
16
+ * tax would hide what such a document owes; a letter that is no accounting
17
+ * document states none.
18
+ */
19
+ export const assertWithoutVatStatesNoTax = (letterArg, documentSettingsArg) => {
20
+ if (documentSettingsArg.withoutVat !== true || !isAccountingDoc(letterArg)) {
21
+ return;
22
+ }
23
+ if (letterArg.reverseCharge === true) {
24
+ throw new Error("withoutVat: the document is in reverse charge, whose tax the recipient owes and the document must state");
25
+ }
26
+ const taxed = (letterArg.items ?? []).findIndex((itemArg) => itemArg.vatPercentage !== 0 || (itemArg.vatCategory ?? "S") === "S" || itemArg.vatCategory === "AE");
27
+ if (taxed !== -1) {
28
+ throw new Error(`withoutVat: item ${taxed + 1} states tax (${letterArg.items[taxed].vatPercentage} %, category ${letterArg.items[taxed].vatCategory ?? "S"}); a document without VAT holds exempt items only`);
29
+ }
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudGluZ2RvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX3NoYXJlZC9hY2NvdW50aW5nZG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQzdCLFNBQThELEVBQ1QsRUFBRSxDQUN2RCxTQUFTLEVBQUUsSUFBSSxLQUFLLGdCQUFnQixDQUFDO0FBRXZDOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQ3pDLFNBQTJDLEVBQzNDLG1CQUE2QyxFQUN2QyxFQUFFO0lBQ1IsSUFBSSxtQkFBbUIsQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDM0UsT0FBTztJQUNULENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5R0FBeUcsQ0FBQyxDQUFDO0lBQzdILENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUM3QyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLElBQUksQ0FDakgsQ0FBQztJQUNGLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsS0FBSyxHQUFHLENBQUMsZ0JBQWdCLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxnQkFBZ0IsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLElBQUksR0FBRyxtREFBbUQsQ0FBQyxDQUFDO0lBQ2pOLENBQUM7QUFDSCxDQUFDLENBQUMifQ==
@@ -17,5 +17,15 @@ export interface IDocumentSettings {
17
17
  languageCode?: translation.LanguageCode;
18
18
  dateStyle?: Intl.DateTimeFormatOptions["dateStyle"];
19
19
  vatGroupPositions?: boolean;
20
+ /**
21
+ * The document shows no tax: no VAT column in the positions, no VAT line and
22
+ * no net sum below them, one total, and the prices without "net" — the
23
+ * price in one sum, as § 34a UStDV asks of a Kleinunternehmer's invoice (its
24
+ * supplies are exempt under § 19 UStG), with the exemption's note the items
25
+ * state. A document that states tax (an item at a rate above 0, a
26
+ * standard-rated item, reverse charge) is refused, since printing none would
27
+ * hide what it owes (`assertWithoutVatStatesNoTax`).
28
+ */
29
+ withoutVat?: boolean;
20
30
  theme?: IDocumentTheme;
21
31
  }
@@ -10,8 +10,10 @@
10
10
  * 5 BIC 11 unstructured remittance information
11
11
  * 6 beneficiary name
12
12
  *
13
- * The document number goes into line 11, the free-text remittance: line 10 only
14
- * takes an ISO 11649 creditor reference (`RF…`), which a document number is not.
13
+ * Line 10 takes an ISO 11649 creditor reference (`RF…`), line 11 free text;
14
+ * the code carries one of them, never both. Which one a document gives is
15
+ * `epcRemittanceOf`: the creditor reference it states, else the reference it
16
+ * states as free text, else its number.
15
17
  *
16
18
  * Lines are separated by a line feed, and nothing follows the last filled line.
17
19
  * A line break inside the name or the remittance information becomes a space.
@@ -25,9 +27,32 @@ export interface IEpcQrPaymentData {
25
27
  iban: string;
26
28
  currency: string;
27
29
  amount: number;
28
- /** What the payer's bank transfers as remittance information, at most 140 characters. */
30
+ /** What the payer's bank transfers as remittance information, at most 140 characters; empty beside a creditor reference. */
29
31
  remittanceInformation: string;
32
+ /**
33
+ * An ISO 11649 creditor reference (`RF…`, typed or printed), carried in line
34
+ * 10 in its electronic form. It must be valid, and the remittance
35
+ * information empty beside it; otherwise no code exists.
36
+ */
37
+ creditorReference?: string;
30
38
  }
39
+ /** How a document's payment is referenced in its EPC QR code, and what its pay box prints of it. */
40
+ export interface IEpcRemittance {
41
+ /** the creditor reference for line 10, in its electronic form */
42
+ creditorReference?: string;
43
+ /** the free text for line 11; empty beside a creditor reference */
44
+ remittanceInformation: string;
45
+ /** the reference the document states, as its pay box prints it: a creditor reference in groups of four; absent when it states none */
46
+ printedReference?: string;
47
+ }
48
+ /**
49
+ * How a document references its payment: the reference it states
50
+ * (`paymentOptions.paymentReference`, EN 16931 BT-83) as a creditor reference
51
+ * when it is a valid ISO 11649 one, printed in groups of four; any other
52
+ * stated reference as free text, as stated; and where it states none, its
53
+ * number as free text, printed nowhere else, as before.
54
+ */
55
+ export declare const epcRemittanceOf: (statedReferenceArg: string | undefined, numberArg: string) => IEpcRemittance;
31
56
  /**
32
57
  * Builds the EPC QR code content, or returns null when no valid code exists
33
58
  * for the payment: the EPC QR code transfers euros only, an amount from 0.01
@@ -39,5 +64,7 @@ export interface IEpcQrPaymentData {
39
64
  * remittance information is cut further at whole grapheme clusters. The name is
40
65
  * not cut further: when the other lines alone leave no room for any of the
41
66
  * remittance information, or exceed 331 bytes themselves, the result is null.
67
+ * A creditor reference that is no valid ISO 11649 one, or one given beside
68
+ * remittance information, leaves no valid code either.
42
69
  */
43
70
  export declare const buildEpcQrPayload: (paymentArg: IEpcQrPaymentData) => string | null;
@@ -1,3 +1,25 @@
1
+ import * as plugins from "./plugins.js";
2
+ /**
3
+ * How a document references its payment: the reference it states
4
+ * (`paymentOptions.paymentReference`, EN 16931 BT-83) as a creditor reference
5
+ * when it is a valid ISO 11649 one, printed in groups of four; any other
6
+ * stated reference as free text, as stated; and where it states none, its
7
+ * number as free text, printed nowhere else, as before.
8
+ */
9
+ export const epcRemittanceOf = (statedReferenceArg, numberArg) => {
10
+ const stated = statedReferenceArg?.trim() ?? "";
11
+ if (stated.length === 0) {
12
+ return { remittanceInformation: numberArg };
13
+ }
14
+ const creditorReference = plugins.calculation.normalizeCreditorReference(stated);
15
+ return creditorReference === null
16
+ ? { remittanceInformation: stated, printedReference: stated }
17
+ : {
18
+ creditorReference,
19
+ remittanceInformation: "",
20
+ printedReference: plugins.calculation.formatCreditorReference(creditorReference),
21
+ };
22
+ };
1
23
  /** The largest amount an EPC QR code can carry. */
2
24
  const EPC_MAX_AMOUNT = 999999999.99;
3
25
  /** The largest EPC QR code content, in bytes. */
@@ -43,12 +65,21 @@ const truncateToGraphemes = (textArg, maxCharactersArg, maxBytesArg) => {
43
65
  * remittance information is cut further at whole grapheme clusters. The name is
44
66
  * not cut further: when the other lines alone leave no room for any of the
45
67
  * remittance information, or exceed 331 bytes themselves, the result is null.
68
+ * A creditor reference that is no valid ISO 11649 one, or one given beside
69
+ * remittance information, leaves no valid code either.
46
70
  */
47
71
  export const buildEpcQrPayload = (paymentArg) => {
48
72
  const iban = paymentArg.iban?.replace(/\s+/g, "").toUpperCase() ?? "";
49
73
  const name = truncateToGraphemes(toSingleLine(paymentArg.name ?? ""), EPC_MAX_NAME_CHARACTERS, EPC_MAX_PAYLOAD_BYTES);
50
74
  const bic = paymentArg.bic?.replace(/\s+/g, "").toUpperCase() ?? "";
51
75
  const amount = Math.round(paymentArg.amount * 100) / 100;
76
+ const statedCreditorReference = paymentArg.creditorReference?.trim() ?? "";
77
+ const creditorReference = statedCreditorReference.length > 0 ? plugins.calculation.normalizeCreditorReference(statedCreditorReference) : "";
78
+ const remittanceText = toSingleLine(paymentArg.remittanceInformation ?? "");
79
+ if (creditorReference === null || (creditorReference.length > 0 && remittanceText.length > 0)) {
80
+ // line 10 takes a valid creditor reference only, and the code one reference, never two
81
+ return null;
82
+ }
52
83
  if (paymentArg.currency !== "EUR" ||
53
84
  !Number.isFinite(amount) ||
54
85
  amount < 0.01 ||
@@ -67,10 +98,9 @@ export const buildEpcQrPayload = (paymentArg) => {
67
98
  iban,
68
99
  `EUR${amount.toFixed(2)}`,
69
100
  "",
70
- "",
101
+ creditorReference,
71
102
  ];
72
103
  // the remittance line and its separator get the bytes the other lines leave
73
- const remittanceText = toSingleLine(paymentArg.remittanceInformation ?? "");
74
104
  const remittance = truncateToGraphemes(remittanceText, EPC_MAX_REMITTANCE_CHARACTERS, Math.max(0, EPC_MAX_PAYLOAD_BYTES - utf8Length(leadingLines.join("\n")) - 1));
75
105
  if (remittanceText.length > 0 && remittance.length === 0) {
76
106
  return null;
@@ -82,4 +112,4 @@ export const buildEpcQrPayload = (paymentArg) => {
82
112
  const payload = lines.join("\n");
83
113
  return utf8Length(payload) <= EPC_MAX_PAYLOAD_BYTES ? payload : null;
84
114
  };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudGNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvcGF5bWVudGNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0JBLG1EQUFtRDtBQUNuRCxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUM7QUFFcEMsaURBQWlEO0FBQ2pELE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDO0FBRWxDLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBQ25DLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFDO0FBRTFDLCtDQUErQztBQUMvQyxNQUFNLFdBQVcsR0FBRyxnQ0FBZ0MsQ0FBQztBQUVyRCxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBQ3RDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBRXJGLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBZSxFQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUVuRixzRkFBc0Y7QUFDdEYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRTNGOzs7O0dBSUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQzFCLE9BQWUsRUFDZixnQkFBd0IsRUFDeEIsV0FBbUIsRUFDWCxFQUFFO0lBQ1YsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxLQUFLLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxD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
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudGNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvcGF5bWVudGNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFtRHhDOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLGtCQUFzQyxFQUFFLFNBQWlCLEVBQWtCLEVBQUU7SUFDM0csTUFBTSxNQUFNLEdBQUcsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRixPQUFPLGlCQUFpQixLQUFLLElBQUk7UUFDL0IsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtRQUM3RCxDQUFDLENBQUM7WUFDRSxpQkFBaUI7WUFDakIscUJBQXFCLEVBQUUsRUFBRTtZQUN6QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDO1NBQ2pGLENBQUM7QUFDUixDQUFDLENBQUM7QUFFRixtREFBbUQ7QUFDbkQsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDO0FBRXBDLGlEQUFpRDtBQUNqRCxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUVsQyxNQUFNLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztBQUNuQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsQ0FBQztBQUUxQywrQ0FBK0M7QUFDL0MsTUFBTSxXQUFXLEdBQUcsZ0NBQWdDLENBQUM7QUFFckQs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
@@ -1,2 +1,4 @@
1
1
  import * as tsclass from '@tsclass/tsclass';
2
2
  export { tsclass };
3
+ import * as calculation from '@fin.cx/calculation';
4
+ export { calculation };
@@ -1,4 +1,7 @@
1
1
  // tsclass scope
2
2
  import * as tsclass from '@tsclass/tsclass';
3
3
  export { tsclass };
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX3NoYXJlZC9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyJ9
4
+ // fin.cx scope
5
+ import * as calculation from '@fin.cx/calculation';
6
+ export { calculation };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX3NoYXJlZC9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUVuQixlQUFlO0FBQ2YsT0FBTyxLQUFLLFdBQVcsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMifQ==
@@ -79,6 +79,7 @@ export declare const EN_translations: {
79
79
  "payment.paid": string;
80
80
  "payment.qr": string;
81
81
  "payment.qr.description": string;
82
+ "payment.reference": string;
82
83
  "payment.terms": string;
83
84
  "payment.terms.amountDue": string;
84
85
  "payment.terms.direct": string;
@@ -95,6 +96,9 @@ export declare const EN_translations: {
95
96
  phone: string;
96
97
  "price.total.net": string;
97
98
  "price.unit.net": string;
99
+ "price.total.withoutVat": string;
100
+ "price.unit.withoutVat": string;
101
+ totalWithoutVat: string;
98
102
  price: string;
99
103
  quantity: string;
100
104
  referencedContract: string;
@@ -81,6 +81,7 @@ export const EN_translations = {
81
81
  "payment.paid": "Paid in advance",
82
82
  "payment.qr": "Pay via QR code",
83
83
  "payment.qr.description": "Scan the QR code with you banking app",
84
+ "payment.reference": "Payment reference",
84
85
  "payment.terms": "Payment Terms",
85
86
  "payment.terms.amountDue": "without deduction until",
86
87
  "payment.terms.direct": "Without deduction until",
@@ -97,6 +98,10 @@ export const EN_translations = {
97
98
  phone: "Phone",
98
99
  "price.total.net": "Total Net Price",
99
100
  "price.unit.net": "Unit Net Price",
101
+ // a document without VAT (`withoutVat`) states prices, not net prices, and one total
102
+ "price.total.withoutVat": "Total Price",
103
+ "price.unit.withoutVat": "Unit Price",
104
+ totalWithoutVat: "Total",
100
105
  price: "Price",
101
106
  quantity: "Quantity",
102
107
  referencedContract: "Referenced contract",
@@ -206,6 +211,7 @@ export const DE_translations = {
206
211
  "payment.paid": "Bereits gezahlt",
207
212
  "payment.qr": "Überweisen per QR-Code",
208
213
  "payment.qr.description": "Den QR-Code einfach mit der Banking-App einscannen",
214
+ "payment.reference": "Verwendungszweck",
209
215
  "payment.terms": "Zahlungsbedingungen",
210
216
  "payment.terms.amountDue": "ohne Abzug bis zum",
211
217
  "payment.terms.direct": "Ohne Abzug bis zum",
@@ -222,6 +228,9 @@ export const DE_translations = {
222
228
  phone: "Telefon",
223
229
  "price.total.net": "Gesamtpreis",
224
230
  "price.unit.net": "Stückpreis",
231
+ "price.total.withoutVat": "Gesamtpreis",
232
+ "price.unit.withoutVat": "Stückpreis",
233
+ totalWithoutVat: "Gesamtbetrag",
225
234
  price: "Preis",
226
235
  quantity: "Menge",
227
236
  referencedContract: "Referenzierter Vertrag",
@@ -291,4 +300,4 @@ export const translate = (languageCode, key) => {
291
300
  // an unknown key renders as itself, so a missing translation is visible instead of empty
292
301
  return found ?? key;
293
302
  };
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvdHJhbnNsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUM3QywrQ0FBK0MsQ0FBQztBQUVsRCwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLHdCQUF3QixFQUFFLGdCQUFnQjtJQUMxQyw0QkFBNEIsRUFBRSxJQUFJO0lBQ2xDLHlCQUF5QixFQUFFLGFBQWE7SUFDeEMsc0JBQXNCLEVBQUUsaUJBQWlCO0lBQ3pDLG9CQUFvQixFQUFFLGNBQWM7SUFDcEMsb0JBQW9CLEVBQUUsYUFBYTtJQUNuQyxVQUFVLEVBQUUsS0FBSztJQUNqQixXQUFXLEVBQUUsTUFBTTtJQUNuQixrQkFBa0IsRUFBRSxhQUFhO0lBQ2pDLHVCQUF1QixFQUFFLGlCQUFpQjtJQUMxQyxlQUFlLEVBQUUsUUFBUTtJQUN6QixvQkFBb0IsRUFBRSxvQkFBb0I7SUFDMUMsc0JBQXNCLEVBQUUsMkJBQTJCO0lBQ25ELHdCQUF3QixFQUFFLG1CQUFtQjtJQUM3QyxpQkFBaUIsRUFBRSxZQUFZO0lBQy9CLGdCQUFnQixFQUFFLFVBQVU7SUFDNUIsZUFBZSxFQUFFLFVBQVU7SUFDM0IsZUFBZSxFQUFFLFNBQVM7SUFDMUIsaUJBQWlCLEVBQUUsTUFBTTtJQUN6QixtQkFBbUIsRUFBRSxhQUFhO0lBQ2xDLGtCQUFrQixFQUFFLGFBQWE7SUFDakMsZ0JBQWdCLEVBQUUsY0FBYztJQUNoQyw4QkFBOEIsRUFBRSxtQkFBbUI7SUFDbkQsbUNBQW1DLEVBQUUsV0FBVztJQUNoRCxpQ0FBaUMsRUFBRSxVQUFVO0lBQzdDLHVDQUF1QyxFQUFFLGdCQUFnQjtJQUN6RCxtQ0FBbUMsRUFBRSxZQUFZO0lBQ2pELG1DQUFtQyxFQUNqQywwRkFBMEY7SUFD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
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvdHJhbnNsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUM3QywrQ0FBK0MsQ0FBQztBQUVsRCwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLHdCQUF3QixFQUFFLGdCQUFnQjtJQUMxQyw0QkFBNEIsRUFBRSxJQUFJO0lBQ2xDLHlCQUF5QixFQUFFLGFBQWE7SUFDeEMsc0JBQXNCLEVBQUUsaUJBQWlCO0lBQ3pDLG9CQUFvQixFQUFFLGNBQWM7SUFDcEMsb0JBQW9CLEVBQUUsYUFBYTtJQUNuQyxVQUFVLEVBQUUsS0FBSztJQUNqQixXQUFXLEVBQUUsTUFBTTtJQUNuQixrQkFBa0IsRUFBRSxhQUFhO0lBQ2pDLHVCQUF1QixFQUFFLGlCQUFpQjtJQUMxQyxlQUFlLEVBQUUsUUFBUTtJQUN6QixvQkFBb0IsRUFBRSxvQkFBb0I7SUFDMUMsc0JBQXNCLEVBQUUsMkJBQTJCO0lBQ25ELHdCQUF3QixFQUFFLG1CQUFtQjtJQUM3QyxpQkFBaUIsRUFBRSxZQUFZO0lBQy9CLGdCQUFnQixFQUFFLFVBQVU7SUFDNUIsZUFBZSxFQUFFLFVBQVU7SUFDM0IsZUFBZSxFQUFFLFNBQVM7SUFDMUIsaUJBQWlCLEVBQUUsTUFBTTtJQUN6QixtQkFBbUIsRUFBRSxhQUFhO0lBQ2xDLGtCQUFrQixFQUFFLGFBQWE7SUFDakMsZ0JBQWdCLEVBQUUsY0FBYztJQUNoQyw4QkFBOEIsRUFBRSxtQkFBbUI7SUFDbkQsbUNBQW1DLEVBQUUsV0FBVztJQUNoRCxpQ0FBaUMsRUFBRSxVQUFVO0lBQzdDLHVDQUF1QyxFQUFFLGdCQUFnQjtJQUN6RCxtQ0FBbUMsRUFBRSxZQUFZO0lBQ2pELG1DQUFtQyxFQUNqQywwRkFBMEY7SUFD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
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-document',
6
- version: '5.1.0',
6
+ version: '5.3.0',
7
7
  description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSx1TEFBdUw7Q0FDck0sQ0FBQSJ9
@@ -118,7 +118,11 @@ export declare class DeContentInvoice extends DeesElement {
118
118
  /**
119
119
  * The QR pay box. It is printed only when the payment has a valid EPC QR
120
120
  * code: a euro amount to the sender's IBAN, which a document in another
121
- * currency or without the sender's IBAN does not have.
121
+ * currency or without the sender's IBAN does not have. The code carries the
122
+ * reference the document states (`paymentOptions.paymentReference`): an ISO
123
+ * 11649 creditor reference in line 10, any other as free text, and where it
124
+ * states none, the letter's number (`epcRemittanceOf`). A stated reference
125
+ * is printed beside the code, so a payer who types the transfer quotes it.
122
126
  */
123
127
  private renderPaymentInfo;
124
128
  /**