A retainer invoice looks simple: $1,000 per month, tax applied, invoice sent. Then a client requests a mid-cycle add-on—a rush project, extra seats, or scope expansion—on day 15. Now you have a single invoice with two service dates, two tax jurisdictions possibly, and a proration that most billing systems either ignore or calculate incorrectly. The invoice lands in the client's AP inbox with tax that doesn't reconcile to their records. Finance flags it. Your team re-invoices. Three days lost. This breaks across three countries because tax jurisdictions treat service dates, supply dates, and proration windows differently. Singapore's GST cares about supply date. Malaysia's SST cares about invoice date. Indonesia's PPN cares about both. A single platform mistake costs you audit risk and client relationship friction. The math that breaks most platforms Start with a real scenario: Retainer: $1,000 USD, GST 8%, invoiced monthly on the 1st. Service period: 1st to end of month. Add-on: $500 USD, same GST rate, requested on the 15th. Service: 15th–end of month (16 days, not prorated yet). Single combined invoice, due day 30. Most platforms calculate like this: Subtotal: $1,500 | Tax: $1,500 × 0.08 = $120 | Total: $1,620 That's wrong if the retainer and add-on have different supply dates . Here's why: GST in Singapore is triggered on the earlier of invoice date or supply date. If the retainer was supplied 1–30 June, and the add-on supplied 15–30 June, they occupy overlapping service windows but GST is calculated at the time each service commenced . If the retainer was already invoiced (and GST paid) on 1 June, invoicing it again on 15 June with the add-on creates a duplicate tax event. Your GL shows two GST charges for the same service period. Your accountant flags it as a reversing entry. The correct approach: split the invoice. Retainer already invoiced on 1 June. Add-on invoiced separately on 15 June, GST applied only to the add-on amount and service window. Three-country tax rule summary Singapore (GST, 8%): Tax point is the earlier of invoice date or supply date. A retainer invoiced 1 June for June service triggers GST on 1 June. An add-on supplied 15 June but invoiced 1 June (same invoice) triggers GST on 1 June, not 15 June—but only on that portion of the add-on that was supplied by 1 June. Mid-cycle add-ons invoiced separately avoid double-taxation. Malaysia (SST, 6%): Tax point is the invoice date. A combined retainer + add-on invoice dated 1 June has one tax point: 1 June. SST is simpler here—it's not supply-date dependent. But proration matters: if you're billing for 16 days of add-on service in a 30-day month, you cannot prorate the add-on's cost without documenting the service dates in the invoice. The Inland Revenue Board requires line-item clarity on service commencement and completion dates. Multi-state US (sales tax varies 4–10%): Tax nexus is state-based, and service dates matter less than location of service recipient or (in some states) location of service delivery. A SaaS retainer to a California client is taxable in California. A service performed in Texas for a California client may be taxable in Texas (if you have nexus there). Proration doesn't change the tax rate, but jurisdiction changes within a month complicate invoicing. A client relocates 15 June; do you split the invoice by state? How to structure the invoice: three-country template The safest approach is to issue two invoices when service dates differ significantly (more than 5 days into the month): Invoice 1: Retainer (issued 1 June) Description: Monthly retainer – June 1–30 Quantity: 1 Rate: $1,000 Tax base: $1,000 Tax: $80 (SGD 8%, MYR 6%, or applicable rate) Total: $1,080 Tax point / Supply date: June 1 (Singapore: tax point on 1 June; Malaysia: invoice date 1 June) Invoice 2: Add-on services (issued 15 June) Description: Rush project – June 15–30 (16 days) Quantity: 1 Rate: $500 Tax base: $500 Tax: $40 (SGD 8%, MYR 6%, or applicable rate) Total: $540 Tax point / Supply date: June 15 (Singapore: tax point on 15 June; Malaysia: invoice date 15 June) Two invoices eliminate ambiguity: each has a clear service window, tax point, and GL entry. Tax reconciliation is immediate. No reversals. If your client insists on a single invoice, structure it this way: Combined Invoice (issued 15 June, but documents two service windows): Description Service Dates Amount Tax Rate Tax Monthly retainer June 1–30 $1,000 8% $80 Rush project June 15–30 $500 8% $40 Total $1,500 $120 This works because each line item includes its service dates. An auditor (or your client's AP team) can match the invoice to the contract and verify tax is applied correctly to each service window. GL splits: which account each line hits Your accounting system needs four GL entries to handle this correctly: Service revenue (retainer): $1,000 → Accounts Receivable GST/SST payable (retainer): $80 → Tax Payable (GST/SST liability account) Service revenue (add-on): $500 → Accounts