Subscription billing in Southeast Asia looks simple until you hit a mid-cycle upgrade, a refund request, or a tax audit. GST in Singapore, SST in Malaysia, and PPN in Indonesia all behave differently. Proration rules clash with local tax codes. And when a customer upgrades mid-month, your accounting software and billing tool often disagree on what the invoice should show. This is not theoretical. At ₱50K MRR, these edge cases stop being rare. They become your weekly firefighting list. We'll walk through the compliance layer first, then show you which platforms actually handle regional rules without workarounds. GST in Singapore: Three rules that affect every subscription Singapore's GST is 9%, charged on both goods and services. For subscription billing, three rules matter: Supply happens when you deliver, not when you invoice. A 12-month subscription invoiced on 1 Jan covers supplies from 1 Jan to 31 Dec. The GST liability accrues monthly, not all at once. Your accounting software must split the monthly revenue into twelve GST events, one per month of service. Refunds and credits reduce GST liability in the same month the service was consumed. If a customer upgrades on day 15 of a 30-day billing cycle, you must credit the unused days of the old plan and invoice the new plan prorata. GST applies to both the credit and the new charge, calculated on the daily rate. Zero-rated supplies (exports of services to non-residents) do not incur GST. If your customer is resident outside Singapore and you can evidence they are not in Singapore when consuming the service, the supply is zero-rated. Your invoice must declare this, and you must keep the proof. The mistake: Many platforms invoice the full month's GST on the invoice date. ACRA sees this as a GST timing error. Correct platforms recognize that 12 months of service = 12 GST events, and only one month's GST is due in the current period. SST in Malaysia: Intertwined with subsidy and threshold rules Malaysia's Service and Sales Tax (SST) replaced GST in 2018. It runs at 6% on services and 10% on goods. For subscriptions, the complexity is different: Service tax applies to most subscriptions. Software as a service, SaaS platforms, and digital subscriptions all attract 6% service tax. There is no registration threshold—even a sole trader invoicing RM5K per month must charge SST. Relief exists for supplies to registered exporters of goods. If your customer is a manufacturer exporting goods, they may claim SST relief on your subscription (e.g., accounting software, design tools). You must check their registration status; this is not automatic. Mid-cycle upgrades require a separate tax invoice, not a credit note. Unlike Singapore, Malaysia's tax authority (LHDN) requires that any change to a subscription within the billing period be issued as a new tax invoice dated on the change date. The old invoice stands, and you issue a new one for the delta. This doubles your invoice count and confuses cash reconciliation. Many billing tools try to handle this with prorated credit notes, which LHDN does not accept. The correct method is a separate invoice for each change, with separate SST calculations. PPN in Indonesia: Withholding, VAT numbers, and the NPWP cliff Indonesia's PPN (Pajak Pertambahan Nilai) is 12%, but subscription billing is tangled with withholding tax (PPh) and NPWP (Nomor Pokok Wajib Pajak) rules. PPN is 12% on all services, including subscriptions. Invoiced monthly or annually, PPN is due on the invoice date. If your customer does not provide an NPWP, you must withhold an additional 3% PPh-23 (withholding for service payments) and remit it to the tax office within a set schedule. NPWP is the tax ID. Without it, withholding applies. Many small businesses in Indonesia operate without an NPWP. If your customer has no NPWP and no exemption, you are legally required to withhold 3% of the gross invoice amount and remit it to the tax authority (DJP). Your invoice must show the gross, the withholding, and the net due from the customer. e-Faktur is mandatory for invoices over RP 25 million annually. If your annual billing exceeds this threshold, you must issue digital invoices (e-Faktur) via the e-Faktur system. The system auto-stamps each invoice and logs it with the DJP. If you issue a paper or PDF invoice instead, the DJP will reject the customer's PPN claim, and they will demand repayment from you. Refunds and credits must be reversed in the next reporting period. There is no concept of 'credit note' for PPN. If you refund a subscription, you issue a reversal (pembalikan) entry in the next tax month. Mid-cycle downgrades require a reversal of the original PPN and a new invoice for the reduced amount. This is where most platforms fail. Stripe, Chargebee, and Wave do not natively integrate with e-Faktur or the withholding logic. You end up issuing invoices outside the tool and manually validating them against e-Faktur, a process that breaks reconciliation and audit t