Mexican localization in Odoo: CFDI 4.0, PAC stamping, DIOT and payroll
We configure the Mexican tax localization in Odoo —l10n_mx and l10n_mx_edi_40— so your ERP stamps the CFDI 4.0 in compliance with the SAT from within the system: income, expense, payment and transfer, with an authorized PAC, DIOT, payroll and SAT complements. No parallel portals, no manual reconciliation.
Mexican localization is the set of modules and configurations that make Odoo SAT-compliant.
It relies on l10n_mx (tax catalog, grouping chart of accounts and payment forms/methods) and l10n_mx_edi_40, the module that generates and stamps CFDI 4.0 through an authorized PAC (Finkok or Factura.com). Once configured, Odoo issues the document when the invoice is confirmed —income, expense, payment and transfer types— and stores the XML and SAT acknowledgment inside the record itself.
The code and configuration are 100% yours from day one.
Six operational reasons, zero adjectives
The code is yours from day one
Repos in your name, documented CI/CD and zero vendor lock-in. If you leave tomorrow, you take it all, running.
WhatsApp API with an official provider
We are a Meta Tech Provider: your WhatsApp Business API line with no middlemen, and chatbots wired to your ERP.
Sprint delivery, CMMI 2 processes
A working demo every two weeks and measurable progress. No "it’s 80% done" without something you can click.
AI applied to your operation
LLM agents, RAG over your data and process automation — the same practice we use to run iTech itself.
Real nearshore: Texas + Monterrey
Legal entity in the U.S. (iTech Corp, Texas), contracts under U.S. law, same CST time zone and USMCA.
ERP with CFDI 4.0 invoicing
We implement Odoo with integrated SAT stamping (PAC), client portal and reconciliation — a full operation, not just software.
When you need it
What it includes
l10n_mx configuration
Installation and setup of the localization: tax catalog (VAT, IEPS, withholdings), SAT grouping chart of accounts, payment forms and methods, and company tax data (RFC, regime, postal code).
CFDI 4.0 and l10n_mx_edi_40
Activation of l10n_mx_edi_40 to issue CFDI 4.0: income, expense, payment and transfer types, with CFDI use, tax object and validation of the SAT catalogs (c_*) before stamping.
Stamping with an authorized PAC
Connection to a SAT-authorized PAC (Finkok or Factura.com): loading of the digital seal certificate (CSD), tests in the stamping environment and automatic issuance of the XML and acknowledgment when the invoice is confirmed.
Payment complement (REP)
Configuration of the payment receipt complement to stamp installment or deferred payments and reconcile them with the source invoices inside Odoo.
DIOT and electronic accounting
Generation of the DIOT, the trial balance and the grouping chart-of-accounts reports to comply with the electronic accounting the SAT requires.
Cancellation and addendas
Configuration of the CFDI 4.0 cancellation flow (with the receiver-acceptance scheme the SAT requires) and of addendas for customers that need them (retail chains, automotive), issued within the document itself.
Payroll and SAT complements
Stamping of the payroll receipt with its complement, and configuration of carta porte or comercio exterior when the business requires it (goods transport or exports).
How we work
1Tax diagnosis
We map regime, RFC, business activity and obligations: which CFDI types you issue, whether you need the payment complement, carta porte, comercio exterior or payroll. Output: scope and PAC selection.
2Base configuration
We install l10n_mx and l10n_mx_edi_40, configure taxes, the grouping chart of accounts, tax data and load the digital seal certificate (CSD).
3Stamping tests
We issue test CFDI 4.0 against the PAC environment, validate the SAT catalogs (c_UsoCFDI, c_RegimenFiscal, c_ObjetoImp) and fix errors before production.
4Complements and reports
We enable the payment complement, DIOT, trial balance and, if applicable, carta porte or comercio exterior; we verify each XML against the SAT standard.
5Go-live and handoff
We move to production with real stamping, document the configuration and hand over the instance and reports — 100% your property, no black box.
Tech stack
The tools and platforms we build it with — chosen for your problem, not for hype.
Frequently asked questions
Can't find your question? Talk to an engineer — no sales script.
Contact us →Which PAC do you use for stamping?
We work with SAT-authorized PACs, primarily Finkok and Factura.com, which integrate natively or via module with l10n_mx_edi_40. If you already have a contract with another authorized PAC, we evaluate it during the diagnosis. The choice depends on your stamp volume, cost per stamp and support.
What is the difference between CFDI 4.0 and 3.3?
CFDI 4.0 is the current, mandatory version of the tax document; 3.3 has been discontinued by the SAT. Version 4.0 requires additional fields such as the receiver’s exact name and postal code per their Tax Status Certificate, the tax object per line item, and stricter validations. We configure Odoo with l10n_mx_edi_40, which generates CFDI 4.0 directly.
Does Odoo stamp payroll with the SAT complement?
Yes. We configure the payroll module with Mexican tax rules and the SAT payroll complement, so each receipt is stamped with its PAC and the XML is delivered to the employee. We define the exact scope (earnings, deductions, ISR, IMSS) based on your operation during the diagnosis.
Do you handle carta porte and comercio exterior?
Yes, when the business requires it. We configure the carta porte complement for goods transport by road and the comercio exterior complement for export operations. Both are issued as part of the CFDI 4.0 through the PAC, with the goods, location and customs data the SAT requires.
How do you cancel a CFDI from Odoo?
From within Odoo, through the PAC. We configure the CFDI 4.0 cancellation flow per the SAT’s current scheme, which requires stating the cancellation reason and —where applicable— obtaining the receiver’s acceptance before the document is cancelled. Odoo records the status (cancelled, cancellation in progress, rejected) and stores the acknowledgment, so your accounting always reflects the real status before the SAT.
Do I own the tax configuration?
Yes, 100%. The configured instance, any custom modules we develop in Python/XML, the documentation and the PAC access are yours. There is no vendor lock-in: the localization is left operational and documented so any team can keep it running.
More from Odoo
Get your AI assessment in 3 minutes
No sales meetings. Answer a few questions and get an actionable plan — with the option to book directly with an expert.
Free · 3 minutes · no commitment