From a1714833a828736f8bf730a782398d74b4368f1a Mon Sep 17 00:00:00 2001 From: SJCoetz Date: Thu, 6 Aug 2026 12:00:48 +0200 Subject: [PATCH] docs(pdf): fix poSubtotal JSDoc summary (effective-qty prose) + tidy blank lines Co-authored-by: Orca --- src/lib/pdf/format.test.ts | 2 -- src/lib/pdf/format.ts | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/pdf/format.test.ts b/src/lib/pdf/format.test.ts index e54126c..cd667b1 100644 --- a/src/lib/pdf/format.test.ts +++ b/src/lib/pdf/format.test.ts @@ -110,8 +110,6 @@ describe("effectiveQuoteDate", () => { }); }); - - describe("effectiveValidityDays", () => { it("uses quote.validity_days when set to a number", () => { expect(effectiveValidityDays({ validity_days: 60 })).toBe(60); diff --git a/src/lib/pdf/format.ts b/src/lib/pdf/format.ts index 150783a..75ae708 100644 --- a/src/lib/pdf/format.ts +++ b/src/lib/pdf/format.ts @@ -40,7 +40,9 @@ export function quoteSubtotal(items: { quantity: number; selling_price: number } } /** - * Sum of (order_qty ?? quantity) * cost_price across PO items. Differs + * Sum of effective-qty × cost_price across PO items, where + * `effective-qty` is `order_qty` when set (non-zero) and falls back to + * `quantity` otherwise. Differs from `quoteSubtotal()` in two ways: * from `quoteSubtotal()` in two ways: * 1. Multiplies by `cost_price` (the supplier-facing price), not * `selling_price` (the customer-facing price).