An agency lands a client deal: ₹2L retainer + ₹50K hourly overage + ₹80K fixed project work, all due at month-end. The instinct: one invoice, one payment, clean and simple. Then the finance team opens the books. The retainer sits in deferred revenue. The project is a fixed asset. The hourly work triggers SST calculations mid-cycle. The GL splits across three accounts, tax rates conflict, and the bank reconciliation fails because the invoice doesn't match how the money actually moved. By month three, you're either re-invoicing or carrying unexplained variances. The question isn't whether to consolidate—it's when consolidation costs more than it saves. We've mapped the GL, tax, and reconciliation math for agencies and consultancies across Malaysia and Singapore. Here's what wins. Why one invoice breaks most accounting systems A single invoice with mixed billing revenue types creates a GL problem the moment it hits the accounting software. Most platforms default to one GL account per invoice line. A ₹2L retainer, ₹50K hourly, and ₹80K project all on one invoice produces three GL postings from a single customer transaction—but the invoice total doesn't tell you how much hit each revenue bucket. Here's where it fractures: Revenue recognition timing: Retainer revenue is recognized monthly, but if you invoice it all at month-end alongside project work, both hit the GL on the same date. Project work may need to be capitalized then amortized. Hourly work is usually cash-basis revenue. One invoice, three different GL timelines. Tax calculation: A ₹2L retainer in Malaysia triggers 6% SST once. An ₹80K project might be exempt (if you're doing design/strategy) or taxable (if it's implementation). Hourly work is typically taxed. One invoice that mixes all three either over-taxes or under-taxes the customer's bill. Bank reconciliation: If the client pays the full invoice amount in one transfer but pays late on the project portion and on-time for the retainer, your reconciliation splits the payment across three GL accounts. The invoice total doesn't match any single GL posting. You spend an hour digging. Deferred revenue tracking: Retainers create a liability (money received for work not yet done). If you invoice the full amount upfront but deliver the retainer, hourly work, and project in different cycles, deferred revenue becomes a forecast guess rather than a known obligation. The consolidation math: when one invoice actually wins Consolidation works if all three revenue streams have the same tax treatment, the same payment terms, and the same delivery schedule. For example: Monthly recurring work: A ₹2.5L retainer invoice that includes embedded hourly overage and a monthly deliverable (retainer + project + T&M all invoiced at month-end, all due 30 days later, all taxed at 6% SST). Single GL account, one tax calculation, one payment reconciliation line. This works. Fixed-scope quarterly contract: ₹5L quarterly fee inclusive of retainer, project, and unlimited revisions—no hourly tracking needed. One invoice, one GL split, one tax line. Works. But the moment one of these three things changes, consolidation breaks: Different tax rates (retainer 6%, project 0%, hourly 6%) Different payment timing (retainer due net-30, project due on completion, hourly due net-60) Different recognition timing (retainer deferred, project capitalized, hourly cash-basis) The split invoicing structure (and when to use it) Most finance teams that handle mixed billing at scale use a three-invoice model: Retainer invoice (monthly, recurring): ₹2L, due net-30, posted to "Service Revenue – Retainer" GL account. Tax: 6% SST (if applicable). This is your baseline. It comes out on the same day every month, same amount, same tax treatment. The GL is predictable. Project invoice (fixed-scope or milestone-based): ₹80K, due on project completion or at milestone X. Posted to "Service Revenue – Project" or "Billable Assets" GL account. Tax: depends on scope. If it's design/strategy, likely exempt; if it's implementation, 6% SST. Issued once the scope is complete or the milestone is hit, not on a recurring schedule. Hourly/T&M invoice (monthly, cumulative): ₹30K–₹80K each month (overage tracking), due net-30. Posted to "Service Revenue – Time & Materials" GL account. Tax: 6% SST. Issued at month-end with a detailed time log. Different amount each month, which tells accounting exactly what variable cost hit that period. Why split them? Each invoice now has one GL account, one tax rate, one payment term, and one revenue recognition rule. Your accountant can reconcile the retainer invoice in 30 seconds (same amount, every time). The project invoice is a one-time event with clear scope. The hourly invoice shows you which months ran over budget and by how much. The GL post is clean. Bank reconciliation takes minutes, not hours. Tax math: Malaysia SST and Singapore GST across mixed billing Malaysia (SST, 6%): Most service revenue is taxable. If you invo