Singapore InvoiceNow Archive
Archive sent and received InvoiceNow (Peppol PINT) documents with IRAS retention metadata and a tamper-evident audit trail
Keep your e-invoices inspection-ready
Singapore's nationwide e-invoicing network, InvoiceNow, is operated by the IMDA on the Peppol framework using the SG PINT document profile. Once your invoices flow through an Access Point, you still carry the IRAS record-keeping obligation: GST-registered businesses must keep their records for at least five years and be able to retrieve and reproduce them, unaltered, on inspection. This app turns Odoo into a purpose-built, local archive that does exactly that — for both the documents you send and the ones you receive.
It is a pure archival and retention utility. It stores documents, computes retention deadlines and proves integrity. It does not transmit anything and does not replace your Access Point.
What it does
5-year IRAS retention
Every archived document gets its statutory retention deadline computed from your financial-year end and the Year of Assessment, using the published IRAS 5-year minimum. Records past their deadline are flagged for review.
SHA-256 tamper fingerprint
The stored document is fingerprinted with SHA-256 on archive. A one-click integrity check re-hashes the file and tells you immediately whether a byte has changed.
Hash-chained audit trail
Create, archive, view, verify, supersede and export events are written to an append-only log whose rows are sealed into a hash chain. Deleting, editing or reordering any row breaks the chain and is detected.
Retrieval index register
Export a CSV index of your archived documents filtered by date, amount, counterparty, Peppol ID or direction — the artefact you present to an IRAS inspector to demonstrate retrieval.
Peppol ID validation
Counterparty identifiers are parsed and validated against the Singapore Peppol scheme 0195 (SG:UEN) and the three published ACRA UEN formats, so your archive carries clean, structured participant identifiers.
Archive from Odoo bills
A wizard turns the invoices and bills you already process in Odoo into archive records, copying the original PINT/UBL XML or PDF attachment and seeding the retrieval metadata automatically.
Captured for every document
| Field | Why it matters |
|---|---|
| Direction (sent / received) | Separates AR and AP archives for inspection |
| Document date & number | Primary IRAS retrieval keys |
| Counterparty name & Peppol ID | Identifies the trading party (0195:SGUEN…) |
| Total & GST amount (SGD) | Reconciles the record to the GST return |
| Stored file & format | The reproducible source document (PINT XML / PDF) |
| SHA-256 content hash | Proves the record is unaltered |
| Year of Assessment & retention date | Drives the 5-year keep-until deadline |
| Audit log chain seal | Tamper-evident history of every action |
How it works
- Capture — archive a document manually or pull it straight from an Odoo invoice/bill attachment.
- Fingerprint — the file is hashed with SHA-256 and the first audit-log entry is sealed.
- Archive — mandatory retrieval metadata is checked and the record is locked into the archived state.
- Retain — the 5-year IRAS deadline is computed and kept current by a daily background job.
- Retrieve — search by any combination of keys and export the index register for an inspection.
Scope & boundaries
This module is a local archival and retention utility. It generates no network traffic and is not an Access Point, Service Metadata Publisher or certified Peppol provider. Peppol identifier checks validate format only; confirming live registration on the Peppol Directory remains an Access-Point lookup you perform. The 5-year period reflects the published IRAS minimum; always confirm your specific retention obligation with your tax advisor.
Screenshots
Archive From Documents
Index Register Export
Audit Log
Archived Documents
Update date: 2026-07-02