| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 2007 |
| Technical Name |
l10n_mu_ebs_credit_note |
| 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) |
| Lines of code | 2007 |
| Technical Name |
l10n_mu_ebs_credit_note |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Mauritius MRA EBS Credit Note Connector
Fiscalise customer credit notes with the Mauritius Revenue Authority Electronic Billing System — reference the original IRN, submit the JSON correction, store the returned IRN and QR. Bring-your-own-key.
Correct a fiscalised invoice the way the MRA requires
The Mauritius Revenue Authority (MRA) operates the Electronic Billing System (EBS): a real-time fiscalisation regime where every fiscal document is transmitted to the MRA Invoice Fiscalisation Platform (IFP). A credit note (invoiceType CRN) corrects a previously fiscalised invoice and must reference the original document. This connector builds that correction, transmits it, and records the IRN and QR the MRA returns — all using your own EBS credentials and signing key.
Original document referencing
Every credit note carries the original invoice IRN
(originalInvoiceRef) and a stated correction reason. When
the refund reverses a known invoice, the original IRN is proposed
automatically from the reversed entry.
Tamper-evident hash chain
Each fiscal document carries the EBS counter and the SHA-256 of the
previous document (previousNoteHash), forming the
tamper-evident chain the EBS expects, with a genesis hash for the first
document.
BRN + TAN validation
The supplier Business Registration Number (BRN, C followed
by 7–9 digits) and the 8-digit Tax Account Number (TAN) are
validated with the real MRA modulus-11 check digit algorithm on
the company, partner and onboarding wizard.
MRA business-rule validation
A rule set blocks non-compliant credit notes before transmission: original reference present, valid identifiers, recognised VAT tax codes, per-line VAT matching the 15% rate, and document totals reconciling to the line sums.
Encrypted & signed payload (BYOK)
As the MRA requires, the credit note is not sent in clear: the AES
session key returned by the MRA is RSA-unwrapped with your registered
private key, the JSON is AES-256 encrypted
(encryptedInvoice) and an RSA-SHA256 signedHash is
attached. Keys are bring-your-own (PEM in your settings) and never leave
your database.
IRN + QR handling
On acceptance the connector stores the MRA IRN, the verification QR payload and renders the QR image for the fiscal credit note. A status poller can re-query submitted documents.
What is included
| Capability | Detail |
|---|---|
| Document type | Credit Note (CRN) and Debit Note (DRN) |
| VAT structure | Standard 15% (TT01), Zero (TT02), Exempt (TT03), Out of scope (TT04) |
| Identifiers | TAN mod-11 check digit, BRN structural check |
| Transport | Token authentication (SHA-256 password), realtime fiscalisation, status query |
| Sealing | RSA key unwrap, AES-256 (ECB/CBC), RSA-SHA256 signedHash |
| Endpoints | MRA sandbox and production hosts as editable defaults |
| Integration | account.move stat button, status field, onboarding wizard, transport log, polling cron |
How it works
- Run the EBS Setup wizard: enter your company TAN, BRN and EBS credentials, and create the MRA connection.
- Post a customer credit note (refund) and click Create EBS Credit Note; the original IRN is proposed from the reversed invoice when available.
- Validate against the MRA rule set, then Generate the canonical EBS JSON.
- Fiscalise: the connector authenticates, seals the payload with your key and transmits it; the returned IRN and QR are stored on the record.
Boundary & disclosure
This is a bring-your-own-key connector. It formats the credit-note JSON the MRA EBS expects and transmits it using your own registered EBS credentials and signing key. It is not a certified billing system on your behalf and embeds no third-party accreditation. Invoice data is sent only to the MRA endpoint you configure, and your credentials never leave your database.
Requires the account and mail modules
(Community). Python packages requests and
cryptography are used for transport and sealing.
We are an independent Odoo software vendor, not an MRA agent or accredited integrator. Email support is included; if the connector does not work as described we offer a refund per the Odoo Apps Store policy.
Screenshots
Connections
Credit Notes
Transport Log
Setup
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