Add discount codes (percent, fixed, free shipping, with limits and expiry), gift cards purchasable and redeemable at checkout with balance tracking, and tax by region table applied at checkout and shown on receipts. Every money movement stays an integer-cent ledger row; add tests that reconcile totals.
Add discount codes (percent, fixed, free shipping, with limits and expiry), gift cards purchasable and redeemable at checkout with balance tracking, and tax by region table applied at checkout and shown on receipts. Every money movement stays an integer-cent ledger row; add tests that reconcile totals.