If your Singapore business invoices out of a custom ERP, a home-grown billing engine, or an order system your own team built, InvoiceNow is not a tick-box you buy from an app store. It is an integration project. The short version: you need an IMDA-accredited Access Point, a Peppol ID registered against your UEN, clean mapping of your sales and purchase documents to the Singapore Peppol specification, and a submission routine that lands invoice data with IRAS before your GST return is filed. This guide shows what a custom software team must plan for an InvoiceNow integration in Singapore, in what order, and where projects usually slip.
Educational only. This is a delivery-planning guide, not tax advice. Your GST adviser and the official IRAS and IMDA pages are the authority on your obligations and dates.
Who this is for, and who should skip it
For: finance-systems owners, CTOs, and product leads at GST-registered Singapore companies that run in-house or custom-built invoicing, billing, or ERP systems, plus the delivery partners who maintain those systems.
Skip if: you invoice from an off-the-shelf accounting package that already appears on IMDA’s accredited InvoiceNow-Ready Solutions list. Your path is mostly configuration with your provider. You are also outside the requirement if you are an overseas entity registered under the Overseas Vendor Registration regimes, or registered for GST only because of reverse charge, per IRAS’s GST InvoiceNow Requirement page.
The short answer: what “InvoiceNow-ready” means for a custom system
InvoiceNow is Singapore’s nationwide e-invoicing network based on the Peppol standard, introduced by IMDA in 2019. IRAS now requires all GST-registered businesses to submit invoice data to IRAS through InvoiceNow-Ready Solutions, phased in by business type and size. For a business with its own in-house enterprise solution, IRAS sets out four steps: contact an IMDA-accredited Access Point Provider, get a Peppol ID by registering in the SG Peppol Directory with your UEN, work with the Access Point to connect your solution to IRAS, and activate the GST InvoiceNow submission feature. IRAS notes onboarding can take as little as three months, with most businesses finishing within a year depending on readiness and system configuration.
For your software team, that means three pieces of real work: a document pipeline to the Access Point, a mapping layer into the Singapore Peppol format, and a control layer that proves every relevant transaction reached IRAS on time.
Check your date first
The phase you fall into decides how much runway your build has. As published by IRAS at the time of writing:
| Implementation date | Who it applies to |
|---|---|
| 1 Nov 2025 | Companies that register for GST voluntarily within 6 months of incorporation |
| 1 Apr 2026 | Businesses applying for voluntary GST registration on or after 1 Apr 2026 |
| 1 Apr 2028 | New compulsory GST registrations from 1 Apr 2028; existing registrants with total annual supplies ≤ S$200,000 |
| 1 Apr 2029 | Existing registrants with total annual supplies ≤ S$1,000,000 |
| 1 Apr 2030 | Existing registrants with total annual supplies ≤ S$4,000,000 |
| 1 Apr 2031 | Existing registrants with total annual supplies > S$4,000,000 |
Do not plan the build backwards from your date. A custom integration that touches invoicing, credit notes, purchases, and month-end close needs at least two GST return cycles of parallel running before you trust it.
Original element: the InvoiceNow integration workstream planner
This is the planner we use to scope InvoiceNow work on custom systems: one row per workstream, with the decision, owner, and what “done” looks like. Run it as a 60-minute session with finance and engineering together.
| Workstream | Decision to make | Owner | Evidence it is done | Common trap |
|---|---|---|---|---|
| 1. Access Point selection | Which IMDA-accredited Access Point, and via API, SFTP, or a connector | Finance systems lead + procurement | Signed agreement; sandbox credentials; documented message flow both ways | Choosing on price alone without checking the AP’s API, error reporting, and retry behaviour |
| 2. Peppol ID and directory | Which UEN-based Peppol ID, and which document types you receive | Finance + AP | Entry visible in the SG Peppol Directory for each legal entity | Group companies sharing one ID when each UEN files its own GST return |
| 3. Document scope | Which documents leave and enter your system: tax invoices, simplified invoices, credit notes, debit notes, receipts | Finance (tax) + product | Signed-off list mapped to IRAS’s in-scope transaction types | Forgetting purchases. IRAS wants supplies and purchases data |
| 4. Data mapping | How internal fields map to PINT SG invoice and credit-note fields | Integration engineer | Mapping sheet, schematron-valid test files, edge cases covered | GST category codes and rounding not matching what your GST return reports |
| 5. Aggregation rules | Whether POS, simplified-invoice, and petty-cash data are sent in aggregate | Finance (tax) | Written rule plus job that produces the aggregate per period | Sending millions of POS lines one by one because nobody decided |
| 6. Submission control | How you prove each in-scope transaction reached IRAS before the return is filed | Engineering + finance close owner | Reconciliation report: GST return lines vs AP acknowledgements | Treating “sent to AP” as “received by IRAS” with no acknowledgement check |
| 7. Failure handling | Retries, idempotency, and who fixes a rejected document | Engineering | Runbook, alerting, duplicate-safe resend | Retries that create duplicate invoices at the buyer |
| 8. Records and audit | Where the submitted payload and acknowledgements are stored, and for how long | Finance + IT | Retention policy aligned to the 5-year GST record rule | Logs rotated after 90 days by a default platform setting |
| 9. Supplier GST checks | Whether to validate GST charged by suppliers who are not GST-registered | Accounts payable lead | Validation rule live, or a recorded decision not to build it | Paying and claiming GST that should never have been charged |
What the data side actually involves
Supplies and purchases, not just sales invoices
IRAS expects invoice data for transactions reported in your GST return: standard-rated supplies and purchases, zero-rated supplies and purchases, and exempt supplies. That covers sales invoices, tax invoices, simplified tax invoices, serially numbered receipts, debit notes, and credit notes. Teams that only wire up outbound sales invoices find out late that purchase data, often in a separate payables tool, is in scope too.
IRAS also lists what you need not submit, including deemed supplies, reverse-charge transactions, exempt financial services, and import permits. Encode those exclusions as explicit rules in your mapping layer.
The Singapore Peppol specification
Singapore’s billing specification is published as PINT SG Billing, the Singapore profile of the Peppol International invoice model. The current release at the time of writing is v1.4.1, dated 25 May 2026, with separate invoice and credit-note transactions, code lists, rules, and schematrons. Test against those schematrons, pin the version you validated, and diarise a check for new releases. IMDA’s InvoiceNow Technical Playbook is the companion reference for the technical flow.
Timing is tied to the GST return
IRAS’s deadline is the earlier of the date you file the relevant GST return or that return’s filing due date. For supplies with an invoice, the transaction date is the document issue date. For purchases, it is either the supplier document date or the date posted to your accounting system, depending on how you claim input tax. So the integration cannot be a quarterly batch someone remembers to run. It needs a daily send and a pre-filing check that blocks the return until every in-scope line is acknowledged.
Architecture choices for custom systems
Most custom stacks land on one of three patterns. Pick based on how many systems create invoices and how healthy your core is.
| Pattern | How it works | Fits when | Watch out for |
|---|---|---|---|
| Direct integration | Your ERP or billing app calls the Access Point API itself | One modern system issues all invoices; team owns the codebase | Tax logic spreads into application code; harder to change later |
| Integration service in the middle | A small service collects documents from every source, maps to PINT SG, sends, and stores acknowledgements | Several systems issue invoices or record purchases | Needs its own monitoring, ownership, and runbook |
| Export plus AP-side mapping | Your system exports files; the Access Point or a partner maps and transmits | Legacy core is fragile or rarely changed | Mapping knowledge lives outside your team; check what reconciliation data you get back |
Whichever you pick, borrow from good B2B integration hygiene: idempotent sends keyed on your invoice number and UEN, retries with back-off, and a dead-letter queue a human actually reviews. Our notes on idempotency and retry design, webhook reliability, and the event-driven ERP integration checklist apply directly. If the core system is too brittle to touch safely, treat InvoiceNow as the first slice of a wider legacy modernisation in Singapore rather than another patch.
Worked example: a newly GST-registered subscription business
Illustrative scenario, not a client case. A Singapore software company registers for GST voluntarily in mid-2026. Under the IRAS phasing, voluntary registrations from 1 Apr 2026 are already in scope, so the requirement applies from the start. It bills customers from a custom subscription engine, records supplier bills in a separate accounts-payable tool, and issues credit notes for mid-cycle downgrades.
- Week 1: finance and engineering run the workstream planner above. Scope covers tax invoices, credit notes, and supplier purchase data. Decision: an integration service in the middle, because two systems hold in-scope data.
- Weeks 2 to 3: test accredited Access Points’ sandbox APIs, sign with one, and register the Peppol ID against the UEN.
- Weeks 3 to 6: map invoices and credit notes against PINT SG schematrons, including proration and rounding, and pull purchase data from the payables tool.
- Weeks 6 to 8: daily send job, acknowledgement store, and a pre-filing reconciliation report that compares GST return lines to acknowledged documents.
- From week 8: activate submission, then run two return cycles with finance reviewing the reconciliation before each filing.
The weeks are a planning sketch for a small, well-documented stack, not a quote or benchmark. A multi-entity group with a legacy core should expect longer.
Costs and support you can plan around
IRAS lists a GST InvoiceNow Transition Grant of S$1,000 for SMEs (annual supplies up to S$4,000,000) and S$5,000 for larger businesses, plus an InvoiceNow Queen Bee Grant of S$25,000 for larger businesses. Free-of-charge solution packages with basic e-invoicing capability are available up to 31 March 2031, with the current package list valid until 31 March 2027. Check eligibility on IMDA’s InvoiceNow Grants page before you put grant money in a budget. Grants offset onboarding, not re-engineering a messy billing core, so scope that separately. Our Singapore custom software cost guide in SGD explains how to price the build portion.
Mistakes that turn a three-month job into a year
- Letting the Access Point be a black box. If you cannot see rejections and acknowledgements in your own system, you cannot prove compliance at filing time.
- Hard-coding tax logic in five places. Put GST category mapping in one service or module with tests.
- Skipping parallel runs. Reconcile against your GST return for at least two cycles before you stop double-checking.
Decision framework: build, configure, or replatform?
Configure if invoicing already runs on an accredited InvoiceNow-Ready Solution. Build an integration if your custom system is healthy, your team owns the code, and billing is a real differentiator. Replatform the finance module if the system issuing invoices is undocumented, unowned, or already due for replacement. In that case, InvoiceNow is the deadline that justifies the move.
FAQ
Does InvoiceNow replace my GST return?
No. IRAS states businesses remain responsible for filing accurate GST returns, keeping records for at least five years, and meeting invoicing rules. InvoiceNow submission is an extra obligation, not a substitute.
Can we send point-of-sale sales as totals?
IRAS allows businesses to aggregate supplies data from point-of-sale systems, supplies with simplified tax invoices, and petty-cash purchases before submitting. Agree the aggregation rule with your tax adviser and build it as a scheduled job.
What to do next
Confirm your implementation date with IRAS, list every system that creates or records an in-scope document, and run the workstream planner with finance and engineering in the same room. If you want a delivery partner to scope the integration, map your data to PINT SG, or modernise the billing core behind it, see our systems integration services in Singapore and custom software for Singapore, or contact WC1 with your current stack and implementation date.
