A single invoice crosses three tax jurisdictions. One line is Standard-Rated (SSL) under Malaysia's Sales and Service Tax regime, another is Goods and Services (GST) at the federal level, a third is Service and Supplies Tax (SST) within a state boundary. Your accounting software must split the GL posting into separate revenue, tax payable, and rounding accounts. Miss the rounding rule at one layer, and by month-end your tax reconciliation is off by ₹2,847. Miss the GL split entirely, and LHDN's audit trail audit finds a single 'Revenue' posting with no detail. Why Standard GL Posting Fails Across Multiple Tax Codes Most invoicing tools—even Xero and FreshBooks—post multi-jurisdiction invoices into a single revenue GL account with a single tax line. This works for single-tax transactions. The moment one invoice has SSL and GST and SST, the GL breaks: No tax code segregation: You post ₹50K revenue to one GL account, then add three tax calculations. The GL does not show which portion is taxable under which regime. Rounding compounds: SSL calculates 6%, GST at 8%, SST at 10%. Three rounding rules fire separately. One penny rounds up, one rounds down. The sum of tax on the invoice does not match the sum of three separate GL postings. Audit trail collapse: When LHDN requests your GL detail for a ₹50K invoice, you cannot trace which ₹3K portion was SSL taxable, which was GST taxable, which was SST. The invoice receipt shows three tax amounts; the GL shows none. LHDN audits do not ask 'Was this invoice compliant?' They ask 'Show me the GL posting that matches the tax code on the PDF invoice receipt.' If the GL does not reflect the tax code, the auditor flags it as unsupported. The Real ₹50K Example: Revenue Split Across Three Tax Codes Start with an invoice for a retainer that spans three service types: Website design (SSL-taxable under Service Tax Act): ₹18,000 Software license (GST-taxable, federal): ₹16,000 Training delivery (SST-taxable, Selangor rate): ₹16,000 Subtotal: ₹50,000 Now apply tax: SSL at 6% on ₹18,000 = ₹1,080 GST at 8% on ₹16,000 = ₹1,280 SST at 10% on ₹16,000 = ₹1,600 Total tax: ₹3,960 Invoice total: ₹53,960 Your GL must post this as six separate line items, not one: GL Account Amount (₹) Tax Code 4100 Revenue – SSL-Taxable Services 18,000 SSL 2101 Tax Payable – SSL 1,080 SSL Tax 4101 Revenue – GST-Taxable 16,000 GST 2102 Tax Payable – GST 1,280 GST Tax 4102 Revenue – SST-Taxable 16,000 SST 2103 Tax Payable – SST 1,600 SST Tax Total debits (revenue + tax): ₹53,960. This matches your invoice total and is traceable to three separate tax codes in the GL. Rounding Rules: Where the Audit Fails The ₹50K invoice above calculates cleanly. Real invoices do not. Say the invoice subtotal is ₹50,001 split unevenly across three service types. Now: SSL on ₹18,000.33 at 6% = ₹1,080.02 (rounded to ₹1,080) GST on ₹16,000.33 at 8% = ₹1,280.03 (rounded to ₹1,280) SST on ₹16,000.34 at 10% = ₹1,600.03 (rounded to ₹1,600) Sum of rounded tax: ₹3,960 But sum the unrounded amounts: ₹1,080.02 + ₹1,280.03 + ₹1,600.03 = ₹3,960.08. You have an 8-paisa overage. LHDN's rule is simple: round each tax code's total independently, then post the rounded amount to the GL . Do not round line-by-line and sum. The GL posting rule is: Group all SSL-taxable revenue lines. Sum them. Calculate tax on the sum. Round the result (typically to the nearest paisa; ₹0.01). Post the rounded tax to the SSL Tax Payable GL account. Repeat for GST and SST independently. If the sum of the three rounded tax amounts does not equal the invoice total minus revenue, post the rounding difference to a Rounding Variance GL account (typically 6999 or similar). The invoice shows ₹3,960.00 in total tax. Your three GL postings sum to ₹3,960.08. Post ₹0.08 to a 6999 Rounding Variance – Taxes account and close the variance at month-end to Miscellaneous Income or Tax Adjustment. GL Account Structure and Tax Code Mapping Set up your chart of accounts before you post the first multi-jurisdiction invoice. You need: Revenue accounts (4xxx series): 4100 Revenue – SSL-Taxable Services 4101 Revenue – GST-Taxable (Federal) 4102 Revenue – SST-Taxable (State) Each must be tagged with its tax code in your invoicing system. Tax Payable accounts (2xxx series): 2101 Tax Payable – SSL 2102 Tax Payable – GST 2103 Tax Payable – SST These are liabilities that clear when you remit to LHDN. Rounding variance (6xxx or 9xxx): 6999 Rounding Variance – Taxes 8999 Rounding Variance – Receivables (if VAT rounds one way on sales, another on purchases) In your invoicing or billing system , map each line item to a tax code. When the line is marked 'SSL Tax Code,' the system must post to GL 4100 and 2101 only. GST lines go to 4101 and 2102. This is not optional; it is the audit trail. Settlement Timing and Tax Remittance LHDN expects you to remit each tax code on a different schedule: SSL (Service and Service Tax) is remitted monthly. Your ₹1,080 in SSL Tax Payable (GL 2101) is due by the 15th of