@unisim/doc 0.9.1 → 0.10.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.
- package/README.md +6 -0
- package/dist/business/index.d.ts +2 -2
- package/dist/business/index.d.ts.map +1 -1
- package/dist/business/index.js +1 -1
- package/dist/business/index.js.map +1 -1
- package/dist/business/labels.d.ts +3 -0
- package/dist/business/labels.d.ts.map +1 -1
- package/dist/business/labels.js +4 -0
- package/dist/business/labels.js.map +1 -1
- package/dist/business/layout.d.ts.map +1 -1
- package/dist/business/layout.js +15 -4
- package/dist/business/layout.js.map +1 -1
- package/dist/business/model.d.ts +15 -4
- package/dist/business/model.d.ts.map +1 -1
- package/dist/business/totals.d.ts +12 -2
- package/dist/business/totals.d.ts.map +1 -1
- package/dist/business/totals.js +32 -5
- package/dist/business/totals.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -90,6 +90,12 @@ const { blob, pages, dropped } = businessDocToPdf(doc) // the same numbers, pr
|
|
|
90
90
|
- **Language and number style are separate.** `language: 'en' | 'fr'` picks the
|
|
91
91
|
wording; `numberStyle: 'fr' | 'en'` picks `163 000 €` vs `€163,000`. The
|
|
92
92
|
golden fixture is English text with French numbers.
|
|
93
|
+
- **Discounts (0.10.0, replacing `listPrice`):** `discount: { percent } |
|
|
94
|
+
{ amount }` on a line (per unit — the catalogue `unitPrice` prints struck
|
|
95
|
+
through above the discounted one, with "-10%" for a percentage) and on the
|
|
96
|
+
whole document (off the subtotal, before tax; the totals read Subtotal,
|
|
97
|
+
Discount, then net/tax/gross). A document discount comes off each VAT rate in
|
|
98
|
+
proportion, each base rounded once and summing to the net.
|
|
93
99
|
- **Tax modes:** `export-exempt` and `reverse-charge` print `taxNote` under the
|
|
94
100
|
totals; `standard` prints net, one row per rate, then the gross.
|
|
95
101
|
- **Two steps:** `layoutBusinessDoc` returns a display list in top-down points,
|
package/dist/business/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type { BusinessClient, BusinessDoc, BusinessDocKind, BusinessDocLanguage, BusinessIssuer, BusinessLine, BusinessParty, CurrencyCode, NumberStyle, TaxMode, } from './model.js';
|
|
1
|
+
export type { BusinessClient, BusinessDiscount, BusinessDoc, BusinessDocKind, BusinessDocLanguage, BusinessIssuer, BusinessLine, BusinessParty, CurrencyCode, NumberStyle, TaxMode, } from './model.js';
|
|
2
2
|
export { BUSINESS_LABELS } from './labels.js';
|
|
3
3
|
export type { BusinessLabels } from './labels.js';
|
|
4
|
-
export { computeTotals, formatAmount, formatDate, formatMoney, formatQuantity, formatRate, lineTotal, wantsDecimals, } from './totals.js';
|
|
4
|
+
export { computeTotals, discountOff, formatAmount, formatDate, formatMoney, formatQuantity, formatRate, lineTotal, unitNet, wantsDecimals, } from './totals.js';
|
|
5
5
|
export type { BusinessTotals, PricedDoc, PricedLine, TaxBand } from './totals.js';
|
|
6
6
|
export { businessDocToPdf, layoutBusinessDoc, wrapText } from './layout.js';
|
|
7
7
|
export type { BusinessPdfResult, LayoutOp, LayoutPage } from './layout.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/business/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,GACR,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3E,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/business/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,GACR,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,OAAO,EACP,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3E,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/business/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { BUSINESS_LABELS } from './labels.js';
|
|
2
|
-
export { computeTotals, formatAmount, formatDate, formatMoney, formatQuantity, formatRate, lineTotal, wantsDecimals, } from './totals.js';
|
|
2
|
+
export { computeTotals, discountOff, formatAmount, formatDate, formatMoney, formatQuantity, formatRate, lineTotal, unitNet, wantsDecimals, } from './totals.js';
|
|
3
3
|
export { businessDocToPdf, layoutBusinessDoc, wrapText } from './layout.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/business/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/business/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,OAAO,EACP,aAAa,GACd,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -14,6 +14,9 @@ export interface BusinessLabels {
|
|
|
14
14
|
unitPrice: string;
|
|
15
15
|
lineTotal: string;
|
|
16
16
|
notes: string;
|
|
17
|
+
subtotal: string;
|
|
18
|
+
/** "Discount 10%", or "Discount" for an amount. */
|
|
19
|
+
discount: (rate: string) => string;
|
|
17
20
|
totalNet: string;
|
|
18
21
|
tax: (rate: string) => string;
|
|
19
22
|
total: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/business/labels.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEtE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;CACxC;
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/business/labels.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEtE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;CACxC;AAoFD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAsB,CAAA"}
|
package/dist/business/labels.js
CHANGED
|
@@ -23,6 +23,8 @@ const EN = {
|
|
|
23
23
|
unitPrice: 'Unit price',
|
|
24
24
|
lineTotal: 'Line total',
|
|
25
25
|
notes: 'Notes:',
|
|
26
|
+
subtotal: 'Subtotal',
|
|
27
|
+
discount: (rate) => (rate ? `Discount ${rate}%` : 'Discount'),
|
|
26
28
|
totalNet: 'Total excl. tax',
|
|
27
29
|
tax: (rate) => `VAT ${rate}%`,
|
|
28
30
|
total: 'Total',
|
|
@@ -61,6 +63,8 @@ const FR = {
|
|
|
61
63
|
unitPrice: 'Prix unitaire',
|
|
62
64
|
lineTotal: 'Total ligne',
|
|
63
65
|
notes: 'Notes :',
|
|
66
|
+
subtotal: 'Sous-total',
|
|
67
|
+
discount: (rate) => (rate ? `Remise ${rate} %` : 'Remise'),
|
|
64
68
|
totalNet: 'Total HT',
|
|
65
69
|
tax: (rate) => `TVA ${rate} %`,
|
|
66
70
|
total: 'Total',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/business/labels.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,gCAAgC;
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/business/labels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/business/layout.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAiC,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAA;AAEnG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/business/layout.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAiC,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAA;AAEnG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAY7C,MAAM,MAAM,QAAQ;AAClB,yEAAyE;AACvE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,GAC5F;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACrH;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE3F,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,EAAE,CAAA;CAChB;AA8DD,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA4B1F;AAmED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,EAAE,CA6MhE;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,iBAAiB,CA6BtG"}
|
package/dist/business/layout.js
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// ---------------------------------------------------------------------------
|
|
20
20
|
import { PdfDocument, rgb, widthOfText } from '../pdfcore.js';
|
|
21
21
|
import { BUSINESS_LABELS } from './labels.js';
|
|
22
|
-
import { computeTotals, formatAmount, formatDate, formatMoney, formatQuantity, formatRate, wantsDecimals, } from './totals.js';
|
|
22
|
+
import { computeTotals, formatAmount, formatDate, formatMoney, formatQuantity, formatRate, unitNet, wantsDecimals, } from './totals.js';
|
|
23
23
|
const PAGE_W = 595.28;
|
|
24
24
|
const PAGE_H = 841.89;
|
|
25
25
|
const LEFT = 25.5;
|
|
@@ -231,7 +231,9 @@ export function layoutBusinessDoc(doc) {
|
|
|
231
231
|
if (columns.some((c) => c.key === 'code'))
|
|
232
232
|
cells.set('code', wrapText(line.code ?? '', 'helv', BODY, inner('code')));
|
|
233
233
|
cells.set('description', wrapText(line.description ?? '', 'helv', BODY, inner('description')));
|
|
234
|
-
|
|
234
|
+
// A discounted line: the catalogue price struck through above what is charged.
|
|
235
|
+
const net = unitNet(line);
|
|
236
|
+
const struck = net !== line.unitPrice;
|
|
235
237
|
const priceLines = (struck ? 2 : 1) + (line.unit ? 0.87 : 0);
|
|
236
238
|
const textLines = Math.max(cells.get('code')?.length ?? 0, cells.get('description').length, doc.kind === 'delivery-note' ? 1 : priceLines);
|
|
237
239
|
// The fixture's 45.4pt rows are the product picture's height plus padding,
|
|
@@ -264,13 +266,17 @@ export function layoutBusinessDoc(doc) {
|
|
|
264
266
|
case 'unitPrice': {
|
|
265
267
|
let t = top;
|
|
266
268
|
if (struck) {
|
|
267
|
-
const list = amount(line.
|
|
269
|
+
const list = amount(line.unitPrice);
|
|
268
270
|
const w = widthOfText('helv', list, BODY);
|
|
269
271
|
p.textRight(right, t, BODY, 'helv', list);
|
|
270
272
|
p.current.ops.push({ op: 'rect', x: right - w, top: t + 7.9, width: w, height: 0.5, fill: INK });
|
|
273
|
+
// "-10 %" beside it, for a percentage.
|
|
274
|
+
if (line.discount && 'percent' in line.discount) {
|
|
275
|
+
p.textRight(right - w - 4, t + 1, 8, 'helvI', `-${formatRate(line.discount.percent, doc.numberStyle)}${doc.language === 'fr' ? '\u00a0%' : '%'}`);
|
|
276
|
+
}
|
|
271
277
|
t += BODY_STEP;
|
|
272
278
|
}
|
|
273
|
-
p.textRight(right, t, BODY, 'helv', amount(
|
|
279
|
+
p.textRight(right, t, BODY, 'helv', amount(net));
|
|
274
280
|
if (line.unit)
|
|
275
281
|
p.textRight(right, t + 12.7, 8, 'helvI', line.unit);
|
|
276
282
|
break;
|
|
@@ -286,6 +292,11 @@ export function layoutBusinessDoc(doc) {
|
|
|
286
292
|
// ── Notes (left) and totals (right) ──────────────────────────────────────
|
|
287
293
|
const totalRows = [];
|
|
288
294
|
if (doc.kind !== 'delivery-note') {
|
|
295
|
+
if (totals.discount) {
|
|
296
|
+
const d = doc.discount;
|
|
297
|
+
totalRows.push([labels.subtotal, money(totals.subtotal), 'helv']);
|
|
298
|
+
totalRows.push([labels.discount(d && 'percent' in d ? formatRate(d.percent, doc.numberStyle) : ''), money(-totals.discount), 'helv']);
|
|
299
|
+
}
|
|
289
300
|
if (doc.taxMode === 'standard' && totals.taxes.length) {
|
|
290
301
|
totalRows.push([labels.totalNet, money(totals.net), 'helv']);
|
|
291
302
|
for (const band of totals.taxes)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/business/layout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/business/layout.ts"],"names":[],"mappings":"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"}
|
package/dist/business/model.d.ts
CHANGED
|
@@ -46,16 +46,25 @@ export interface BusinessLine {
|
|
|
46
46
|
quantity: number;
|
|
47
47
|
/** "unité", "day", "kg" — printed in italics under the unit price. */
|
|
48
48
|
unit?: string;
|
|
49
|
-
/** Minor units. */
|
|
49
|
+
/** The catalogue price, before any discount. Minor units. */
|
|
50
50
|
unitPrice: number;
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
52
|
+
* Off this line's unit price (0.10.0, replacing `listPrice`): the
|
|
53
|
+
* catalogue price is printed struck through above the discounted one.
|
|
54
54
|
*/
|
|
55
|
-
|
|
55
|
+
discount?: BusinessDiscount;
|
|
56
56
|
/** Percent, for `taxMode: 'standard'`. Ignored otherwise. */
|
|
57
57
|
taxRate?: number;
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* A discount: a percentage, or an amount in minor units — per unit on a
|
|
61
|
+
* line, off the subtotal on a whole document.
|
|
62
|
+
*/
|
|
63
|
+
export type BusinessDiscount = {
|
|
64
|
+
percent: number;
|
|
65
|
+
} | {
|
|
66
|
+
amount: number;
|
|
67
|
+
};
|
|
59
68
|
export interface BusinessDoc {
|
|
60
69
|
kind: BusinessDocKind;
|
|
61
70
|
language: BusinessDocLanguage;
|
|
@@ -77,6 +86,8 @@ export interface BusinessDoc {
|
|
|
77
86
|
issuer: BusinessIssuer;
|
|
78
87
|
client: BusinessClient;
|
|
79
88
|
lines: BusinessLine[];
|
|
89
|
+
/** Off the whole document, after the lines' own discounts and before tax. */
|
|
90
|
+
discount?: BusinessDiscount;
|
|
80
91
|
notes?: string;
|
|
81
92
|
paymentTerms?: string;
|
|
82
93
|
/** Defaults on for quotes, estimates and delivery notes. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/business/model.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,CAAA;AAE7F,sFAAsF;AACtF,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAA;AAErC,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,eAAe,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAErE,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,mCAAmC;IACnC,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/business/model.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,CAAA;AAE7F,sFAAsF;AACtF,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAA;AAErC,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,eAAe,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAErE,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,mCAAmC;IACnC,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,YAAY,CAAA;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,MAAM,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,cAAc,CAAA;IACtB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAE3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BusinessDoc, BusinessLine, CurrencyCode, NumberStyle } from './model.js';
|
|
1
|
+
import type { BusinessDiscount, BusinessDoc, BusinessLine, CurrencyCode, NumberStyle } from './model.js';
|
|
2
2
|
export interface TaxBand {
|
|
3
3
|
/** Percent. */
|
|
4
4
|
rate: number;
|
|
@@ -9,6 +9,11 @@ export interface TaxBand {
|
|
|
9
9
|
export interface BusinessTotals {
|
|
10
10
|
/** Per line, minor units, same order as `doc.lines`. */
|
|
11
11
|
lines: number[];
|
|
12
|
+
/** The lines added up. */
|
|
13
|
+
subtotal: number;
|
|
14
|
+
/** The whole document's discount, as a positive amount (0 for none). */
|
|
15
|
+
discount: number;
|
|
16
|
+
/** `subtotal - discount`: what tax is charged on. */
|
|
12
17
|
net: number;
|
|
13
18
|
/** Empty unless `taxMode` is `standard`. Sorted by rate. */
|
|
14
19
|
taxes: TaxBand[];
|
|
@@ -18,13 +23,18 @@ export interface BusinessTotals {
|
|
|
18
23
|
* Only what the arithmetic reads. An app's own line records (with a stored
|
|
19
24
|
* picture rather than a `PdfImage`, an id, a catalogue link) fit as they are.
|
|
20
25
|
*/
|
|
21
|
-
export type PricedLine = Pick<BusinessLine, 'quantity' | 'unitPrice' | '
|
|
26
|
+
export type PricedLine = Pick<BusinessLine, 'quantity' | 'unitPrice' | 'discount' | 'taxRate'>;
|
|
22
27
|
/** What the totals need from a document. */
|
|
23
28
|
export interface PricedDoc {
|
|
24
29
|
lines: readonly PricedLine[];
|
|
25
30
|
taxMode: BusinessDoc['taxMode'];
|
|
26
31
|
decimals?: BusinessDoc['decimals'];
|
|
32
|
+
discount?: BusinessDiscount;
|
|
27
33
|
}
|
|
34
|
+
/** How much a discount takes off `of`: never more than all of it, never less than nothing. */
|
|
35
|
+
export declare function discountOff(of: number, discount: BusinessDiscount | undefined): number;
|
|
36
|
+
/** A line's unit price after its own discount. */
|
|
37
|
+
export declare function unitNet(line: Pick<PricedLine, 'unitPrice' | 'discount'>): number;
|
|
28
38
|
export declare function lineTotal(line: PricedLine): number;
|
|
29
39
|
/**
|
|
30
40
|
* Tax is computed on each rate's summed base, then rounded — once per rate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"totals.d.ts","sourceRoot":"","sources":["../../src/business/totals.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"totals.d.ts","sourceRoot":"","sources":["../../src/business/totals.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExG,MAAM,WAAW,OAAO;IACtB,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAA;IAChB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,4DAA4D;IAC5D,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC,CAAA;AAE9F,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;IAC5B,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CAC5B;AAED,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAItF;AAED,kDAAkD;AAClD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG,MAAM,CAEhF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,cAAc,CA+B5D;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAUrD;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAUzF;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAKhH;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAGtE;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAEnE;AAED,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C"}
|
package/dist/business/totals.js
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
// Totals and number formatting. Pure, so the app's on-screen totals and the
|
|
2
2
|
// PDF's printed totals are the same function — not two that agree today.
|
|
3
|
+
/** How much a discount takes off `of`: never more than all of it, never less than nothing. */
|
|
4
|
+
export function discountOff(of, discount) {
|
|
5
|
+
if (!discount)
|
|
6
|
+
return 0;
|
|
7
|
+
const off = 'percent' in discount ? Math.round((of * discount.percent) / 100) : Math.round(discount.amount);
|
|
8
|
+
return Math.max(0, Math.min(of, off));
|
|
9
|
+
}
|
|
10
|
+
/** A line's unit price after its own discount. */
|
|
11
|
+
export function unitNet(line) {
|
|
12
|
+
return line.unitPrice - discountOff(line.unitPrice, line.discount);
|
|
13
|
+
}
|
|
3
14
|
export function lineTotal(line) {
|
|
4
|
-
return Math.round(line.quantity * line
|
|
15
|
+
return Math.round(line.quantity * unitNet(line));
|
|
5
16
|
}
|
|
6
17
|
/**
|
|
7
18
|
* Tax is computed on each rate's summed base, then rounded — once per rate,
|
|
@@ -10,7 +21,10 @@ export function lineTotal(line) {
|
|
|
10
21
|
*/
|
|
11
22
|
export function computeTotals(doc) {
|
|
12
23
|
const lines = doc.lines.map(lineTotal);
|
|
13
|
-
const
|
|
24
|
+
const subtotal = lines.reduce((sum, v) => sum + v, 0);
|
|
25
|
+
// A negative subtotal (credit lines) takes no discount.
|
|
26
|
+
const discount = subtotal > 0 ? discountOff(subtotal, doc.discount) : 0;
|
|
27
|
+
const net = subtotal - discount;
|
|
14
28
|
const taxes = [];
|
|
15
29
|
if (doc.taxMode === 'standard') {
|
|
16
30
|
const bases = new Map();
|
|
@@ -18,14 +32,26 @@ export function computeTotals(doc) {
|
|
|
18
32
|
const rate = line.taxRate ?? 0;
|
|
19
33
|
bases.set(rate, (bases.get(rate) ?? 0) + lines[i]);
|
|
20
34
|
});
|
|
21
|
-
|
|
35
|
+
// The whole-document discount comes off every rate in proportion, each
|
|
36
|
+
// base rounded once; the largest takes the rounding so they add up to `net`.
|
|
37
|
+
const sorted = [...bases].sort((a, b) => a[0] - b[0]);
|
|
38
|
+
if (discount) {
|
|
39
|
+
let left = net;
|
|
40
|
+
const largest = sorted.reduce((k, b, i) => (Math.abs(b[1]) > Math.abs(sorted[k][1]) ? i : k), 0);
|
|
41
|
+
sorted.forEach((b, i) => {
|
|
42
|
+
if (i !== largest)
|
|
43
|
+
left -= b[1] = Math.round((b[1] * net) / subtotal);
|
|
44
|
+
});
|
|
45
|
+
sorted[largest][1] = left;
|
|
46
|
+
}
|
|
47
|
+
for (const [rate, base] of sorted) {
|
|
22
48
|
if (rate === 0)
|
|
23
49
|
continue;
|
|
24
50
|
taxes.push({ rate, base, tax: Math.round((base * rate) / 100) });
|
|
25
51
|
}
|
|
26
52
|
}
|
|
27
53
|
const gross = net + taxes.reduce((sum, b) => sum + b.tax, 0);
|
|
28
|
-
return { lines, net, taxes, gross };
|
|
54
|
+
return { lines, subtotal, discount, net, taxes, gross };
|
|
29
55
|
}
|
|
30
56
|
const SYMBOL = { EUR: '€', GBP: '£', USD: '$' };
|
|
31
57
|
/** U+00A0 — WinAnsi can spell it, and it stops "163 000" wrapping between digits. */
|
|
@@ -39,8 +65,9 @@ export function wantsDecimals(doc) {
|
|
|
39
65
|
return true;
|
|
40
66
|
const totals = computeTotals(doc);
|
|
41
67
|
const amounts = [
|
|
42
|
-
...doc.lines.flatMap((l) => [l.unitPrice, l
|
|
68
|
+
...doc.lines.flatMap((l) => [l.unitPrice, unitNet(l)]),
|
|
43
69
|
...totals.lines,
|
|
70
|
+
totals.discount,
|
|
44
71
|
...totals.taxes.map((t) => t.tax),
|
|
45
72
|
];
|
|
46
73
|
return amounts.some((v) => v % 100 !== 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"totals.js","sourceRoot":"","sources":["../../src/business/totals.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;
|
|
1
|
+
{"version":3,"file":"totals.js","sourceRoot":"","sources":["../../src/business/totals.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unisim/doc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "The suite's document stack: read Word, OpenDocument, RTF, HTML, Markdown, CSV, JSON and text into one model, and write it back out as PDF, text, HTML, Markdown, CSV or JSON. No runtime dependencies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|