OdooODOO · 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.

CMMI Level 2
5.0★ on Clutch
200+ projects
Code 100% yours · MTY + Texas

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. 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 + Texas, CMMI Level 2, 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.

Why iTechDev

Fixed budget

Scope and price defined before we start. No hourly billing, no ambiguous scope.

Code 100% yours

All code and configuration are your property from the first commit. No vendor lock-in.

Progress every 2 weeks

Live functional demos each sprint. You see real progress, not a months-long black box.

Engineering with process

CMMI Level 2, 5.0★ on Clutch and 200+ projects. Nearshore team in Monterrey + Texas, in your time zone (CST).

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.

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

1

Tax 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.

2

Base 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).

3

Stamping 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.

4

Complements 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.

5

Go-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.

Odoo 17l10n_mxl10n_mx_edi_40CFDI 4.0PAC (Finkok/Factura.com)Complemento de PagosCarta PorteDIOTNóminaSATPythonPostgreSQLXMLCancelación SAT

Frequently asked questions

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

YOUR ASSESSMENT, FRICTIONLESS

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