E-invoicing Singapore

InvoiceNow validator (PINT SG)

Check an invoice or credit note for InvoiceNow, Singapore's Peppol network, against the PINT SG rules OpenPeppol publishes: the UBL 2.1 schema, the PINT Billing rules and the Singapore rules, with every finding on its line. Nothing is uploaded.

The GST InvoiceNow Requirement in short

Under the GST InvoiceNow Requirement, GST-registered businesses send their invoice data to IRAS through the InvoiceNow network. Newly incorporated companies that register for GST voluntarily have had to since 1 November 2025, and all new voluntary registrants since 1 April 2026.

IRAS announced on 26 February 2026 that the requirement reaches every GST-registered business in phases: on 1 April 2028 new compulsory registrants and existing businesses with annual supplies of up to S$200,000, on 1 April 2029 up to S$1 million, on 1 April 2030 up to S$4 million, and on 1 April 2031 the rest.

InvoiceNow invoices follow PINT SG, the Singapore specialization of Peppol International, in UBL.

How to check a PINT SG invoice

  1. Open the validator with the PINT SG invoice profile, or the credit note one. A UBL file with the PINT SG identifier picks the right one by itself.
  2. Paste the UBL or drop the file, then press Validate.
  3. Click a rule id for what it checks.

What is checked

The UBL 2.1 schema, then OpenPeppol's PINT SG 1.4.1 artefacts as published: the PINT Billing rules and the Singapore rules, such as the GST categories (BR-CL-17-GST-SG) and the GST totals in SGD for an invoice in another currency (BR-53-GST-SG). We compared our results with Saxon for Java on OpenPeppol's PINT examples and altered copies of them: every rule was the same.

Your Access Point and IRAS may check more, such as the registration of the parties, which is not done here.

Profiles to check with

  • PINT SG Invoice: A Peppol PINT SG invoice for Singapore, checked against the UBL 2.1 schema, the PINT Billing rules and the Singapore rules OpenPeppol publishes. Validate
  • PINT SG Credit Note: A Peppol PINT SG credit note for Singapore, checked against the UBL 2.1 schema, the PINT Billing rules and the Singapore rules OpenPeppol publishes. Validate

Rules invoices break most

Each one has a page with what it checks, its test and, for many, how to fix it.

  • BR-CL-17-GST-SG: Invoice tax categories MUST be coded using valid Singapore code values
  • BR-53-GST-SG: If the GST accounting currency code (BT-6-GST) is present, then the Invoice total GST amount (BT-111-GST), Invoice total including GST amount and Invoice Total...
  • BR-110-GST-SG: The GST accounting currency code (BT-6-GST) must be present when Invoice total including GST amount or Invoice Total excluding GST amount in accounting currency...
  • BR-109-GST-SG: An Universally unique Invoice Identifier (BT-SG-003) shall be formatted according to the UUID standard
  • BR-CO-10-SG: Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).

Questions

Is the invoice uploaded?

No. The schema check and the rules both run in your browser. Only the API and URL monitors validate on our servers.

Does a valid result mean the invoice will be accepted?

It means it passes the schema and the PINT SG rules OpenPeppol publishes. Your Access Point or InvoiceNow-Ready Solution may run further checks.

Can I check invoices from code?

Yes: the API and the command-line client with --schema pint-sg-invoice, or --schema auto for a folder of mixed invoices.

Official sources

Other countries