ODOO · MEXICAN LOCALIZATION

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.

Odoo Readyofficial partner
CFDI 4.0l10n_mx_edi with your PAC
5.0★on Clutch
MTY · GDL · TXnearshore CST

What is Odoo localization for Mexico?

Mexican localization is the set of modules and configurations that make Odoo SAT-compliant.

See in detail

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. This is not optional: electronic invoicing compliant with the SAT is mandatory to operate in Mexico. We are a software factory founded in 2018 (Monterrey, Guadalajara + Texas, 5.0★ on Clutch) and Odoo Ready; we configure the localization on verifiable criteria —standard version, SAT complements and PAC— and hand it over documented, with no vendor lock-in.

The SAT clock: dated obligations and how Odoo covers them

Each obligation, with its date and how it lands in your instance. This is the ground a global partner can’t cover for you.

SAT tax obligations and how Odoo covers them
ObligationWhat it isIn force sinceHow it lands in your Odoo
CFDI 4.0Digital tax document for income, expense, payment and transferIn force; version 3.3 has been discontinuedl10n_mx_edi_40 configured and audited against Anexo 20
Payment complement (REP 2.0)Electronic payment receipt for installment or deferred collectionsRequired when collecting in installments or on creditNative, configured and reconciled with the source invoice
DIOT*Informative return of operations with third partiesMonthly · 2026 format and cadence under SAT reviewGenerated from Odoo (Enterprise or module)
Electronic accountingSAT grouping chart of accounts and trial balanceDepending on your tax regimeSAT chart of accounts + trial balance configured
Carta Porte 3.1*Goods-transport complementRoad transport (type T) · exclusive 3.1 mandate pending confirmationNative configured (type T); sea/air/rail = development
Comercio exteriorComplement for export operationsWhen you export goodsNative, configured with customs data
CFDI cancellationCancellation scheme with receiver acceptanceIn forceFlow configured; Odoo stores the reason and acknowledgment
Payroll (complement)Stamped payroll receiptIf you run payroll in MexicoAdd-on: ships in no Odoo edition out of the box

The obligations and dates are set by the SAT and change. Every data point is verified against the official source before configuring your instance. Items marked with * are pending confirmation of validity with the SAT source.

Official source: the SAT portal (sat.gob.mx). Verified in the analysis, not from memory.

And where it runs decides whether you can stamp the way you need

Comparison of Odoo tiers: Community self-hosted, Odoo Online and Odoo.sh.
Community (self-hosted)Odoo Online (SaaS)Odoo.sh (PaaS)
LicenseFree (open source)Enterprise · per user/monthEnterprise · per user/month + platform
Who administers the serverYou / your partner (iTech AMS)Odoo (100%)Odoo (infra) · you/iTech (the code)
Custom modules / your own codeYes, full controlNo (only approved App Store)Yes (deploy via Git)
PAC for CFDIAny (factura.com, Finkok…)Only the integrated ones (3)Any
Addendas / payroll / multimodal Carta PorteDevelopableNo (require code)Developable
Startup costLower license, higher infra/AMSPredictable, all-inclusiveLicense + platform
For whomTight budget, wants full control and has someone to run the infraSMB that wants standard Odoo, a fast start, and whose tax case fits an integrated PACNeeds Enterprise + customization/addendas/own PAC/payroll, without administering the server

What the localization 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 configure it

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.

BEFORE STAMPING$7,500technical analysis · 1 week · credited

Start with the analysis: what you stamp and in which tier

In fifteen minutes we check which version your catalogs are on and whether your tax case fits Odoo Online or needs Odoo.sh. The technical analysis hands you the exact fiscal scope, the tier and the budget in writing, and it is credited to the project if you move forward.

The `itech_cfdi_facturacom` module for Community is audited against Anexo 20 and we run it; we do not claim it battle-tested in production at scale. On Enterprise, stamping is configuration.

Request the analysis

When you need it

You operate in Mexico and are required to invoice in compliance with the SAT using CFDI 4.0, not the already-discontinued 3.3 version.
You want to stamp directly from Odoo —income, expense, payment (complement) and transfer— without using the SAT portal or a separate system.
You need to issue the payment receipt complement (REP) and reconcile it automatically with invoices in the system.
Your business requires SAT complements: carta porte for goods transport or comercio exterior for exports.
You must generate the DIOT, the trial balance and the SAT grouping chart of accounts for electronic accounting.
You run payroll in Mexico and want to stamp the receipts with the SAT payroll complement inside the same ERP.
PROOF OF COMPETENCE

We wrote the stamping and audited it

For our own operation on Odoo 19 Community we built the stamping connector and audited it against the SAT's Anexo 20; we run it. It is not a client case or a module battle-tested in production at scale — it is the proof that we actually do the localization.

erp.itechdev.com.mx

Proof of competence, not a client case.

FAQ

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.

Request your localization analysis

Tell us what you stamp today and we schedule the analysis: fiscal scope, tier and a budget in writing.

What do you stamp today?

We book nothing without your permission. No cold calls.

What we do guarantee

  • We verify your SAT catalogs in the analysis, whether or not you pay for the fix.
  • Native Carta Porte configured (type T); multimodal is development, quoted separately.
  • We do not re-stamp already-issued CFDI: the SAT prohibits it.
  • The instance and config are 100% yours, documented.
THE NEXT STEP

Make Odoo stamp right from day one

The technical analysis gives you the fiscal scope, the tier and the budget in writing.