- Home
- Apps
- SaaS Tools
- Mexico CFDI 4.0 Electronic Invoicing
Illustrative previewBuild-to-order Odoo module: sign and stamp CFDI 4.0 invoices via SAT-authorized PACs,
with complemento support, on Odoo 17, 18 & 19.
What is Mexico CFDI 4.0 Electronic Invoicing?
Build-to-order Odoo module: sign and stamp CFDI 4.0 invoices via SAT-authorized PACs, with complemento support, on Odoo 17, 18 & 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Mexico CFDI 4.0 Electronic Invoicing is a build-to-order Odoo module that ECOSIRE designs, develops, installs and supports for your specific SAT obligations — this is not an off-the-shelf apps.odoo.com download you install yourself. There is no instant download; after purchase our Odoo engineers scope your RFC catalogs, PAC contract and complementos, then deliver a production-ready module in one working week.
The module turns Odoo's native Accounting invoices into fully compliant CFDI 4.0 electronic documents. On validation of a customer invoice (account.move), it generates the SAT-spec XML (comprobante, emisor, receptor, conceptos, impuestos), digitally signs it with your Certificado de Sello Digital (CSD), and transmits it to your SAT-authorized PAC for timbrado (stamping). The stamped XML, UUID (Folio Fiscal), and QR-bearing PDF representation are stored back on the invoice via a dedicated model extension, so your team keeps working entirely inside Odoo.
We build it the right way with real Odoo primitives: new fields and compute methods (@api.depends) on account.move and res.partner to hold RFC, Régimen Fiscal, Uso CFDI and CFDI status; ir.model.access.csv plus record rules so only accounting roles can stamp or cancel; QWeb reports for the printable CFDI PDF; and automated actions / scheduled jobs to retry failed timbrado and poll cancellation acuses. PAC connectivity is implemented as a configurable service layer so you can point at your chosen PAC (Finkok, Facturama, SW/Smarter Web, Prodigia, and similar) with credentials held in Odoo Settings, not hard-coded.
Beyond core invoices, the build covers Complemento de Pago (REP) for the payment complement required under partial and PPD scenarios, the SAT cancellation flow with motivo codes and acuse retrieval, and validation of RFC, Uso CFDI, Régimen Fiscal, and Forma/Método de Pago against the official SAT catalogs. Everything is exposed through Odoo's XML-RPC / JSON-RPC API too, so upstream systems or e-commerce fronts can trigger stamping programmatically.
Delivered for Odoo 17, 18 and 19, Community or Enterprise, with source you own, technical documentation, admin training and a post-go-live support window. If your PAC, localization or regulatory scope changes, we adapt the module rather than leaving you to patch a black-box add-on.
What you get
- Complete, production-ready Odoo module source (the addon directory with __manifest__.py, models, views, security and QWeb reports) that you fully own — Odoo 17, 18 or 19, Community or Enterprise.
- Installation and configuration on your instance: PAC credentials, CSD certificate upload, SAT catalog seeding, Regimen Fiscal and company fiscal data.
- Test-environment validation with your PAC's sandbox: sample invoice stamping, a Complemento de Pago, and a full cancellation cycle before go-live.
- Technical and admin documentation covering the module architecture, PAC configuration, cancellation motivos, and troubleshooting of common SAT rejection codes.
- A live training session for your accounting team on issuing, cancelling and reprinting CFDI documents inside Odoo.
- A post-go-live support window for bug fixes and SAT/PAC-driven adjustments, with terms confirmed in your scope agreement.
- Handover of the signed source, catalog data files, and a runbook so your own developers can maintain or extend the module.
Who this is for
Mexican SMB under SAT mandate
A company operating in Mexico that must issue CFDI 4.0 for every sale and payment. They run Odoo Accounting and need every invoice stamped by a PAC without leaving Odoo or double-keying into a separate portal.
LATAM Odoo implementation partner
A partner rolling out Odoo for Mexican clients who needs a reliable, source-owned CFDI 4.0 add-on they can standardize across projects, adapt per PAC, and support long-term instead of relying on an opaque third-party listing.
Finance / fiscal controller
The accounting lead responsible for timbrado, Complemento de Pago and cancellations. They need role-restricted controls, clear document status, and confidence that the XML matches the current SAT spec at audit time.
How Mexico CFDI 4.0 Electronic Invoicing Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| CFDI 4.0 XML matches current SAT spec | Included | Depends on in-house SAT expertise | Usually, but on the vendor's release cadence | Not included |
| PAC timbrado integration (your chosen PAC) | Included | You build every PAC integration yourself | Often locked to specific PACs | Not included |
| Complemento de Pago (REP) | Included | Must be designed and coded from scratch | Varies by listing / tier | Not included |
| Cancellation flow with SAT acuse | Included | Manual to implement and maintain | Sometimes partial or extra-cost | Not included |
| RFC / Uso CFDI / Regimen Fiscal catalogs | Included | You source and maintain catalogs | Included but you rely on vendor updates | Not included |
| You own and can modify the source | Included | Included | Not included | Partial support |
| Scoped to your PAC, company structure and complementos | Included | Included | Not included | Not included |
| Direct engineer support & SAT-change updates | Included | Internal team only | Ticket queue, no customization | Partial support |
Frequently Asked Questions about Mexico CFDI 4.0 Electronic Invoicing
How long until the module is ready, and how is it delivered?
This is a build-to-order module, not an instant download from apps.odoo.com. After purchase we scope your PAC, CSD, catalogs and complementos, then design, develop and test the module. Typical delivery is one working week depending on scope (single vs. multi-company, POS factura global, custom complementos). We install and validate it on your instance against your PAC's sandbox before go-live.
What support and updates are included after go-live?
You get a post-go-live support window for bug fixes and adjustments driven by SAT or PAC changes, with exact terms set in your scope agreement. Because you own the source, your own developers can also maintain it. When SAT revises the CFDI spec or you change PAC, we can update the module under a support or change-request arrangement rather than you replacing a black-box add-on.
Which PAC (SAT-authorized provider) can we use?
The module is built with a configurable PAC service layer, so we integrate the SAT-authorized PAC you contract with — commonly Finkok, Facturama, SW/Smarter Web, Prodigia and similar. Credentials are stored in Odoo Settings per company. If you have not chosen a PAC yet, we advise during scoping.
Does it support Complemento de Pago and cancellations?
Yes. Complemento de Pago (REP) is generated for PPD and partial-payment cases and linked to the originating CFDI UUID. The cancellation flow includes the required motivo codes (01-04), substitution UUID handling, and automated retrieval of the SAT acuse de cancelacion, with status tracked directly on the invoice.
Which Odoo versions and editions does it work with?
We build for Odoo 17, 18 and 19, on both Community and Enterprise. The module extends account.move and res.partner and uses standard Odoo primitives (ORM fields, compute methods, ir.model.access.csv, record rules, QWeb reports), so it fits cleanly into your existing Accounting configuration.
Is our CSD certificate and fiscal data kept secure?
Yes. Your Certificado de Sello Digital (.cer/.key) and password are uploaded and used inside your own Odoo instance for signing; they are not sent anywhere except to your chosen PAC for stamping. Access to stamping, cancellation and reissue is restricted to accounting/fiscal roles via record rules and ir.model.access.csv.
Related Modules

Merge Sales Orders
A build-to-order Odoo module that consolidates multiple quotations and sales orders for the same customer into one clean document, with configurable line-merge rules and full audit traceability. ECOSIRE scopes, builds, installs, and supports it on your instance.

Microsoft 365 / Outlook Two-Way Sync
Bi-directional Odoo ↔ Microsoft 365 sync for contacts, calendar, email, tasks and OneDrive — built, installed and supported by ECOSIRE.

Microsoft 365 SharePoint & OneDrive Document Integration
A build-to-order Odoo module that stores, syncs, and edits your Odoo attachments directly in Microsoft 365 SharePoint and OneDrive — with two-way linking, Office Online editing, and filestore offload over the Microsoft Graph API. ECOSIRE scopes, builds, installs, and supports it for your tenant.
Mexico CFDI 4.0 Electronic Invoicing
Build-to-order Odoo module: sign and stamp CFDI 4.0 invoices via SAT-authorized PACs, with complemento support, on Odoo 17, 18 & 19.
- CFDI 4.0 XML generation on invoice validation, built to the current SAT technical standard (comprobante, emisor, receptor, conceptos, impuestos nodes) with correct decimal and currency handling.
- PAC integration (timbrado) via a configurable service layer so you can connect Finkok, Facturama, SW, Prodigia or another SAT-authorized PAC, with credentials stored securely in Odoo Settings.
- Complemento de Pago (REP) generation for PPD and partial-payment scenarios, linking payment registrations back to the originating CFDI and its UUID.
- SAT cancellation flow with the required motivo codes (01-04), substitution UUID handling, and automated retrieval of the acuse de cancelacion.
