Adds two PO-level charges shown below GST, per issue #133 ask 2. - Stored as ABSOLUTE rupee amounts on PurchaseOrder.tcsAmount / discountAmount (Decimal?, default 0; null/0 on historical & imported POs). Migration added. - Discount is applied post-GST. totalAmount folds the charges in (net payable = subtotal + GST + TCS − Discount), so payments / reports / advance all use the true amount due. lib/po-money.ts is the single source of truth. - Forms (create + edit) render a shared TcsDiscountFields with a % control bidirectionally linked to the rupee value (percentage is convenience only, taken against the GST-inclusive total; only the absolute amount is persisted). - createPo / updatePo store & compute; both manager-edit actions PRESERVE the PO's TCS/Discount when recomputing the total; import leaves them at 0. - PO detail shows TCS / Discount / Net payable below GST; PDF + XLSX export show the same breakdown and a corrected grand total. Tests: lib/po-money unit tests; po-tcs-discount integration test (create / edit / manager-line-edit preservation). Docs: CLAUDE.md GST section + wiki Purchase Orders (TCS/Discount + a full "what import sets vs. not" field-mapping table). Full unit (360) + integration (305) suites green; tsc clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 lines
386 B
SQL
5 lines
386 B
SQL
-- Issue #133: PO-level TCS and Discount, shown below GST.
|
|
-- Absolute rupee amounts (nullable, default 0 so historical/imported POs read as 0).
|
|
-- totalAmount already includes these: subtotal + GST + tcsAmount - discountAmount.
|
|
ALTER TABLE "PurchaseOrder" ADD COLUMN "tcsAmount" DECIMAL(12,2) DEFAULT 0;
|
|
ALTER TABLE "PurchaseOrder" ADD COLUMN "discountAmount" DECIMAL(12,2) DEFAULT 0;
|