SRI e-invoicing for Odoo 16 and 19
Our module issues, signs and sends your documents to the SRI from Odoo Community 16 and 19. All six document types were authorized in the SRI test environment with a real electronic signature. See the numbers and download the RIDE of each one.
- 12authorized documents
- 6document types
- 2Odoo Community versions
All in the SRI test environment, not in production.
Six document types authorized in the test environment
Each document was issued from Odoo, signed with a real Security Data certificate and reached the AUTHORIZED status in the SRI test environment. There, the authorization number equals the access key.
Test issuerTORRES AVILA CHRISTIAN PATRICIO1722703632001
Invoice (factura)
SRI code 01
Odoo 16Authorized
- Number
- 001-002-000000001
- Access key
- 1210202601172270363200110010020000000012858217211
Odoo 19Authorized
- Number
- 001-003-000000001
- Access key
- 1210202601172270363200110010030000000017263381318
Credit note
SRI code 04
Odoo 16Authorized
- Number
- 001-002-000000001
- Access key
- 1210202604172270363200110010020000000018394852917
Odoo 19Authorized
- Number
- 001-003-000000001
- Access key
- 1210202604172270363200110010030000000016233835015
Debit note
SRI code 05
Odoo 16Authorized
- Number
- 001-002-000000001
- Access key
- 1210202605172270363200110010020000000015298035816
Odoo 19Authorized
- Number
- 001-003-000000001
- Access key
- 1210202605172270363200110010030000000010084765619
Withholding receipt
SRI code 07
Odoo 16Authorized
- Number
- 001-004-000000002
- Access key
- 1210202607172270363200110010040000000027543938018
Odoo 19Authorized
- Number
- 001-005-000000003
- Access key
- 1210202607172270363200110010050000000031219091911
Purchase settlement
SRI code 03
Odoo 16Authorized
- Number
- 001-016-000000001
- Access key
- 1310202603172270363200110010160000000017112351416
Odoo 19Authorized
- Number
- 001-006-000000001
- Access key
- 1310202603172270363200110010060000000019869856618
Waybill (guía de remisión)
SRI code 06
Odoo 16Authorized
- Number
- 001-017-000000001
- Access key
- 1310202606172270363200110010170000000011719288410
Odoo 19Authorized
- Number
- 001-007-000000001
- Access key
- 1310202606172270363200110010070000000013698930813
Test data. The PDFs are real RIDEs generated by Odoo in the SRI test environment; they are not production documents.
What the module does
Every feature in this list is already part of the module's main release.
XML per technical sheet 2.34
Validated against the SRI XSD before signing.
XAdES-BES signature
Signed with your company's .p12 file. The password is stored encrypted.
Access key with check digit
Generated automatically, check digit included.
Automatic send and polling
The module sends the document and polls for the authorization until the SRI answers.
Resend without renumbering
Resending keeps the same access key and the same sequential.
SRI errors in plain sight
SRI messages are shown to the user inside Odoo.
RIDE as PDF
The printable representation of the authorized document is generated.
Email to the customer
The document is emailed to your customer.
Voided documents
A document voided in the SRI portal is shown as voided in Odoo.
Expense reimbursement
Invoices support the reimbursement block in the XML. Its authorization is still waiting for an SRI answer in the test environment.
Transactional annex (ATS)
The export is validated against the ATS XSD published by the SRI.
Quality and security you can check
Figures from the continuous integration run locally on October 14, 2026.
automated tests
- Core: 1,041 tests, 99% coverage (statements and branches), gate 95%
- Odoo 16 modules: 358 + 76 tests, 95% and 98% coverage
- Odoo 19 modules: 314 + 80 tests, 94% and 99% coverage
- 15 user stories in a real browser (Playwright) per Odoo version, against a simulated SRI
Minimum coverage gate on the Odoo modules: 80%.
How it is reviewed
- Every change is reviewed commit by commit, before merging, by independent automated reviewers for security, reliability, readability and resilience.
- Live validation against the SRI test environment with a real certificate, as shown above.
Your electronic signature
The certificate and its password never leave the server and never appear in logs.
Hardened server
- HTTPS with security headers through Caddy.
- Database manager (/web/database) blocked and list_db off; hashed master password.
- Database user without superuser rights, on an internal network that is not exposed.
- Containers run as non-root, with a read-only filesystem, no Linux capabilities and no-new-privileges.
- Odoo image built from a pinned upstream commit and scanned with Trivy: 0 critical vulnerabilities.
- Encrypted off-site backups with restic and a scripted restore drill.
- Brute-force login protection (fail2ban or CrowdSec).
- Instance audit script: scores headers, TLS, ports, Odoo configuration, backup age and certificate expiry.
How you get it
The fastest way to start is the SRI Pilot: e-invoicing live, withholdings and purchases, and basic accounting. It runs on Odoo Community 19 and on Odoo Community 16, for companies that have not migrated yet.
Questions about the SRI module
Does it work with my Odoo 16?
Yes. The module works on Odoo Community 16 and 19. All six document types were authorized in the SRI test environment on both versions.
What happens if the SRI rejects a document?
The SRI message is shown inside Odoo. Resending keeps the same access key and the same sequential, so the document is not renumbered.
Where does my electronic signature live?
On your Odoo server. The .p12 file and its password never leave the server or appear in logs, and the password is stored encrypted.
Book your diagnosis
Tell us how your company works. We reply within one business day with the next steps.
Or write to us at chris.torres.dev@gmail.com