You've just signed a retainer with a Malaysia-based firm that operates a shared service center in Indonesia and a regional hub in Singapore. One invoice. One client. Three tax jurisdictions. Three different tax rates, GL codes, and settlement timelines. Most invoicing platforms will let you add three line items. What they won't do is help you calculate the correct tax split, post the right GL codes per jurisdiction, or explain what happens when the client asks for a mid-cycle scope change. And most payment processors won't show you when the money actually lands in your bank—if it lands at all. This is where most finance teams break. Let's fix it. Why simple line-item splitting fails The obvious approach looks clean: split ₹100K into three invoices, one per country, each with local tax applied. Problem: your client now has three invoices for a single retainer, your accounting team has to post three separate transactions, and payment reconciliation becomes a three-way guessing game. The better approach is one invoice with three line items, each mapped to a different GL code and tax rate. But that's only half the problem. Most firms allocate the retainer evenly (33% to each country) or by headcount. Both fail. Headcount varies month to month. Effort doesn't split evenly. Revenue recognition rules (ASC 606 / IFRS 15) say you recognize revenue where the performance obligation is satisfied—not where the invoice is addressed. If your team is split 40% Malaysia, 35% Indonesia, 25% Singapore, and you're not allocating revenue that way, your GL is wrong from day one. Setting up the GL split and tax codes Before you invoice, create four GL accounts: 4100-MY-Services: Malaysia service revenue (recognized as goods/services are delivered) 4100-ID-Services: Indonesia service revenue 4100-SG-Services: Singapore service revenue 2200-MY-SST-Payable, 2200-ID-PPn-Payable, 2200-SG-GST-Payable: Three separate tax payables In your invoicing platform, assign each line item to its GL code. If your platform doesn't let you map a single invoice line to a GL account, you're fighting the wrong tool. This is where purpose-built invoicing makes reconciliation trivial. Now the tax rates: Malaysia (SST): 6% on most services (some categories vary) Indonesia (PPn): 11% on most services (12% from 2025, but check your contract date) Singapore (GST): 9% (rate may differ for imported or regional services) If your retainer is ₹100K split 40/35/25, your invoice lines look like this: Description Amount (₹) Tax Rate Tax (₹) Total (₹) Services – Malaysia 40,000 6% 2,400 42,400 Services – Indonesia 35,000 11% 3,850 38,850 Services – Singapore 25,000 9% 2,250 27,250 Total Due 100,000 8,500 108,500 Post this way: Debit 1200-Accounts Receivable: ₹108,500 Credit 4100-MY-Services: ₹40,000 Credit 4100-ID-Services: ₹35,000 Credit 4100-SG-Services: ₹25,000 Credit 2200-MY-SST-Payable: ₹2,400 Credit 2200-ID-PPn-Payable: ₹3,850 Credit 2200-SG-GST-Payable: ₹2,250 Handling mid-cycle scope changes and proration Three weeks into the retainer, the client asks for an additional service in Indonesia only. Now you need to issue an adjustment invoice. This is where proration math matters. Assume the retainer is monthly and the client adds ₹10K of Indonesia services on day 20 of a 30-day month. Do not invoice ₹10K flat. You owe a credit for the undelivered portion (10 days) and an invoice for the delivered portion (20 days). Proration calculation: Days elapsed: 20 Days in period: 30 Invoice amount: ₹10K × (20 / 30) = ₹6,666.67 Tax (11% PPn): ₹733.33 Total adjustment invoice: ₹7,400 The remaining ₹3,333.33 is either credited (if the client is overpaying) or deferred to next month. If deferred, record it as a contract liability (2300-Customer Advance Payments), not revenue yet. Most invoicing platforms calculate this automatically if you specify the service period. Some don't. If yours requires manual calculation, you have a risk: rounding errors compound, especially across three tax codes. A ₹1 rounding error per invoice × 12 months × 3 countries = drift that kills reconciliation. Use a system that lets you lock in the proration rule once, then apply it automatically. Orin's billing module handles this by default, with country-specific tax and GL mapping baked in. Currency and settlement timing Your invoice is in INR. The Malaysia and Indonesia teams pay in their local currency (MYR, IDR). The Singapore team prefers to pay in USD or SGD. Now you have three payment rails, three exchange rates, and three settlement timelines. Malaysia (MYR): Most firms use local bank transfer. Settlement: 1–2 business days. FX: Apply mid-market rate at time of posting, not invoice date. Indonesia (IDR): Local transfer or regional processor (Ayopop, Fintech Karya). Settlement: 2–3 business days. FX: Again, mid-market, not invoice rate. Singapore (SGD): Fast settlement (next-day ACH or same-day via DBS/OCBC), but often requires SGD or USD conversion. Settlement: 1 business day. Here's the trap