$ 362.23
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 3700 |
| Technical Name |
l10n_sg_invoicenow_validation |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 3700 |
| Technical Name |
l10n_sg_invoicenow_validation |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Singapore InvoiceNow Pre-flight Validation
IMDA / SG PINT conformance rule pack that blocks bad invoices before they leave your Access Point
A pre-flight conformance gate for Singapore's nationwide InvoiceNow network (operated by IMDA on the Peppol framework). It re-implements the checkable subset of the SG PINT Schematron locally and refuses to dispatch a non-conformant document, so a rejection is caught before the invoice leaves your Peppol Access Point — not asynchronously, after the move is posted and a message id is spent. Built on Singapore InvoiceNow and the shared e-Invoice Core Engine. Compatible with Odoo 18 & 19.
Catch the reject before you send
On the InvoiceNow network the Access Point and the recipient corner run the SG PINT Schematron over your UBL. A single out-of-list code or a GST arithmetic slip means an asynchronous rejection you have to reconcile. This module runs those rules locally and tells you the exact failing rule identifier so you can fix the invoice and resend cleanly.
Code-list conformance
Tax category, invoice / credit-note type code, unit of measure (UN/ECE), payment means (UNCL4461), endpoint scheme and currency are each checked against the closed SG PINT code lists. An out-of-list value is a hard reject on the network — this stops it at the door.
GST arithmetic
A standard-rated category must carry a positive rate; zero-rated,
exempt, out-of-scope and reverse-charge categories must carry exactly
0%. Each category subtotal's tax amount must equal
taxable × percent / 100 within
rounding tolerance.
Structural PINT rules
Exactly one tax subtotal per category and rate, every line category represented in the GST breakdown (BR-CO-18), unique non-empty line identifiers (BT-126), the SGD tax-accounting currency on foreign-currency invoices (BT-6), and the credit-note billing reference.
Identifier conformance
Supplier and customer UEN structure with the ACRA weighted check-letter,
the IRAS GST registration-number format, and the Peppol participant
scheme (0195, SG:UEN) — enforced on the document before
dispatch.
Peppol receiver lookup
Derives the receiver's SMP DNS name via the real Peppol SML
B-<md5> hash algorithm and, when you enable it,
confirms over the public discovery endpoints that the receiver is
actually registered for SG PINT before you send. No invoice content
is ever transmitted by this module.
Off / Warn / Block
A company setting chooses the enforcement mode. In Block mode the sender's Send via InvoiceNow action is refused when the document carries any conformance error, with the exact failing rule codes. In Warn mode the issues are shown but dispatch is allowed.
How it fits
This module adds no transport of its own — it hardens the dispatch path you already have. A Pre-flight Check button and a standalone wizard run the rule pack on demand and store a structured report (error / warning counts plus the full text) right on the invoice, so a user can fix the document and re-run in seconds.
Bring your own keys
No transmission and no bundled credentials. The optional Peppol receiver lookup uses only the public SML / SMP discovery endpoints. Everything runs on your own database.
Screenshots
Invoice Imda Pre Flight Conf
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module