Singapore InvoiceNow Credit Notes (PINT-SG)
Generate PINT-SG credit-note and adjustment UBL linked to the original tax invoice for IRAS - transmit through your own Peppol Access Point (BYOK)
What this module does
When you raise a customer credit note (refund) in Odoo, this module builds the matching Singapore InvoiceNow (PINT-SG) Credit Note in OASIS UBL 2.1 - the format Singapore's national e-invoicing network and the IRAS GST InvoiceNow pipeline consume. Every credit note is automatically linked to the original tax invoice it corrects, carries the seller and buyer UEN as Peppol participant identifiers and the GST registration number under the GST tax scheme, and breaks GST down by Singapore aligned tax category at the prevailing 9% standard rate.
The generated document is transmitted using your own accredited Peppol Access Point credentials (Bring Your Own Key). The module generates the format and routes the payload; it is not itself the accredited Access Point.
Key features
PINT-SG Credit Note UBL
Emits a UBL 2.1 CreditNote with the PINT-SG
CustomizationID urn:peppol:pint:billing-1@sg-1 and the
Peppol Billing profile, ready for the InvoiceNow network.
Linked to the original invoice
The mandatory preceding-invoice reference (BG-3) is filled automatically from the reversed Odoo invoice, so every credit note points at the tax invoice it corrects.
Singapore GST categories
Full PINT-SG aligned tax category code list - SR, SRCA-S, SRCA-C, SROVR-RS, SROVR-LVG, SRRC, SRLVG, ZR, ES33, ESN33, DS, OS, NA and NG - with per-category tax subtotals.
UEN & GST validation
Validates the UEN against the published ACRA formats (business, local company and 2009-onward) and the GST registration number (UEN or legacy M/MR number) before generating.
Credit notes and debit adjustments
Issue a value-reducing credit note (type 381) or a value-increasing debit adjustment (type 383), each carrying the correction reason and an optional reason code.
BYOK Access Point transport
Transmit through your own accredited Peppol Access Point using a configurable REST connection with bounded retries; poll the AS4 delivery status. Your API token stays on your database.
Built-in business rules
| Rule | Check |
|---|---|
| SG-CN-REF | Credit note references the original tax invoice (BG-3) |
| SG-SELLER-UEN | Seller carries a valid UEN (Peppol scheme 0195) |
| SG-GST-REG | GST registration number is a valid UEN or M/MR number |
| SG-GST-CAT | Every tax category is a published PINT-SG aligned code |
| SG-GST-RATE | Standard-rated lines use a published GST rate (9%, or 8%/7% back-dated) |
| SG-ZERO-RATE | Zero-rated / exempt / out-of-scope categories carry 0% |
| SG-GST-CALC | Declared GST equals base × rate within tolerance |
How it works
- Run the SG InvoiceNow Onboarding wizard to set the company UEN, GST registration number and the Access Point connection.
- Set the UEN / GST registration number on your customers.
- Raise a customer credit note in Odoo (Add Credit Note / Reverse) and post it - the original invoice is linked automatically.
- Use Generate SG Credit Note (or the action menu) to build, validate and optionally transmit the PINT-SG UBL.
- Download the UBL or send it through your Access Point and track the AS4 delivery status.
Scope & compliance boundary
This module is a format generator and BYOK transport. It produces PINT-SG credit-note UBL aligned to the published OpenPeppol / IMDA Singapore specialisation and the IRAS GST InvoiceNow requirement, and routes it using the customer's own accredited Access Point credentials. It does not act as, or claim to be, an accredited Access Point or solution provider, and it does not require any government accreditation on your behalf.
Supported on Odoo Community 18.0 and 19.0.
Screenshots
Access Points
Credit Note Documents
Onboarding
Update date: 2026-07-02