A service business in Kuala Lumpur invoices a client for March work: ₹50,000 retainer (paid monthly upfront, no tax risk), ₹30,000 for a two-week project (SST-taxable), and 120 hours at ₹500/hour (₹60,000, with 3% EPF withholding if the contractor is Malaysian). One invoice. Three tax rules. Most accounting software will either tax everything uniformly or leave line items orphaned. This is where invoicing meets tax compliance, and small errors compound into reconciliation nightmares and audit exposure. If you're billing mixed models, you need a proration strategy that works with your tax jurisdiction and your accounting software—not against it. Why mixed billing breaks standard invoicing Retainers, project fees, and hourly billing have different tax and cash recognition rules: Retainers: Often non-taxable or treated as advance payment; revenue recognized over the service period, not at invoice. Project fees: Taxable at invoice (SST in Malaysia at 6%, GST in Singapore at 8%); lump-sum or milestone-based. Hourly work: Taxable at invoice; subject to contractor withholding (3% EPF + income tax in Malaysia, CPIS in Indonesia, CPF in Singapore). When you combine all three on a single invoice and apply a blanket tax rate, you either over-tax the retainer (which shouldn't be taxed), under-tax the hourly component (which requires contractor withholding), or fail to split the GL posting so that revenue, tax payable, and receivables reconcile correctly. The result: your invoice total is correct, but your accounting records show a single taxed amount that doesn't match what you actually owe to the tax authority or withheld from contractors. The three-line-item proration framework The cleanest approach is to split the invoice into three distinct line items, each with its own tax treatment and GL account. Here's the structure: Line 1: Retainer (non-taxable or advance payment) Amount: ₹50,000 Tax rate: 0% GL posting: Deferred revenue or retainer payable (not taxable revenue yet) Why: Retainers are paid upfront but revenue is recognized over time as you deliver the service. Tax is typically deferred until the service is rendered or the retainer is drawn down. In Xero and QB Online, create a separate line item with "Tax" set to "No Tax" or your jurisdiction's equivalent. Do not use the standard sales tax rate. Line 2: Project fee (SST/GST-taxable, no withholding) Amount: ₹30,000 Tax rate: 6% (Malaysia SST) or 8% (Singapore GST) Tax due: ₹1,800 (SST) or ₹2,400 (GST) GL posting: Project revenue (taxable account) + Sales Tax Payable Why: Project fees are delivered, taxable at invoice, and not subject to contractor withholding (you're invoicing a client, not receiving payment as a contractor). This line item uses the standard tax rate for your jurisdiction. The invoice total for this line is ₹31,800 (Malaysia) or ₹32,400 (Singapore). Line 3: Hourly work (taxable + contractor withholding) Amount: ₹60,000 (120 hours × ₹500) Tax rate: 6% SST (Malaysia) or 8% GST (Singapore) Tax due: ₹3,600 (SST) or ₹4,800 (GST) Contractor withholding (Malaysia): 3% EPF = ₹1,800 Net to contractor: ₹60,000 − ₹1,800 = ₹58,200 (or remit ₹1,800 to EPF on their behalf) GL posting: Time & materials revenue (taxable account) + Sales Tax Payable + Contractor withholding liability Why: Hourly billing is taxable, and if you're paying a contractor (not an employee), you withhold EPF or income tax depending on the jurisdiction. The critical insight: Withholding is not a reduction in tax owed. It's a liability you hold on behalf of the contractor and remit to the tax authority or EPF. Do not net it against SST/GST. Invoice structure and GL reconciliation Here's how the full invoice looks and reconciles in Xero, QB Online, or Wave: Line Item Amount Tax % Tax Due Invoice Total Retainer ₹50,000 0% ₹0 ₹50,000 Project ₹30,000 6% ₹1,800 ₹31,800 Hourly (120h @₹500) ₹60,000 6% ₹3,600 ₹63,600 Invoice Total ₹140,000 ₹5,400 ₹145,400 GL postings (Malaysia SST example): Debit: Accounts Receivable ₹145,400 Credit: Deferred Revenue (Retainer) ₹50,000 Credit: Project Revenue (taxable) ₹30,000 Credit: Time & Materials Revenue (taxable) ₹60,000 Credit: Sales Tax Payable ₹5,400 If the hourly work involves a contractor withholding (e.g., 3% EPF on ₹60,000 = ₹1,800): Debit: Accounts Receivable ₹145,400 (unchanged) Credit: EPF Payable (or Contractor Withholding) ₹1,800 Credit: Time & Materials Revenue ₹58,200 (₹60,000 − ₹1,800 withholding) Credit: Sales Tax Payable ₹5,400 ... (other credits as above) This structure ensures that every tax dollar is tracked to the correct payable account and every revenue stream is segregated for audit. How Xero, QB Online, and Wave handle this Xero Xero allows multiple tax rates per invoice and separate GL accounts per line item. To implement proration: Create three separate line items on the invoice (not combined into one). For the retainer line, set the tax type to "No Tax" or a custom 0% category. For the project and hourly lines, set tax to your