Skip to content

Odoo for Mexico: CFDI Electronic Invoicing & Tax Setup

DeployMonkey Team · March 22, 2026 10 min read

Mexican Tax System in Odoo

Mexico requires CFDI (Comprobante Fiscal Digital por Internet) electronic invoicing for all businesses. Every invoice must be signed by a PAC (Proveedor Autorizado de Certificación) and reported to SAT (Servicio de Administración Tributaria). Odoo Enterprise includes native Mexican localization.

Setup

1. Mexican Localization

# Install Mexican localization during Odoo setup:
# Select Mexico as country
# This installs:
# - Mexican chart of accounts
# - IVA tax configuration (16%)
# - CFDI module
# - Mexican fiscal positions
# - RFC validation

2. Company Configuration

# Company settings:
# RFC: XAXX010101000 (13 characters for companies)
# Régimen Fiscal: select applicable regime
# Certificado de Sello Digital (CSD): upload .cer and .key files
# PAC: select provider (Finkok, Solución Factible, etc.)
# PAC credentials: username and password

3. Tax Configuration

# Mexican taxes:
# IVA 16% — Standard VAT (most goods and services)
# IVA 0% — Zero-rated (food staples, medicines)
# IVA Exento — Exempt (education, medical services)
# IEPS — Special tax on production (alcohol, tobacco, fuel)
# ISR Retention — Income tax withholding
# IVA Retention — VAT withholding (2/3 of IVA)

CFDI 4.0 Electronic Invoicing

# CFDI workflow:
# 1. Create invoice in Odoo
# 2. Odoo generates CFDI XML (version 4.0)
# 3. XML signed with CSD digital certificate
# 4. Sent to PAC for certification
# 5. PAC stamps with UUID (folio fiscal)
# 6. SAT receives copy from PAC
# 7. Stamped XML stored in Odoo
# 8. PDF with QR code generated for customer

# CFDI 4.0 requirements:
# - Receiver RFC and tax regime
# - Receiver name exactly as registered with SAT
# - Usage code (Uso de CFDI): G03, P01, etc.
# - Payment method: PUE (single payment) or PPD (deferred)
# - Payment form: 01 (cash), 03 (transfer), 04 (card), etc.

PAC Integration

# Supported PACs in Odoo:
# - Finkok (most popular with Odoo)
# - Solución Factible
# - EDICOM
# - Others via community modules

# Configuration:
# Accounting → Settings → Mexican Electronic Invoicing
# Select PAC → enter credentials
# Test mode: use PAC sandbox for testing
# Production: switch to live credentials

Payment Complement (Complemento de Pago)

# When payment method is PPD (deferred):
# 1. Invoice issued with PPD
# 2. Customer pays later
# 3. Payment registered in Odoo
# 4. Odoo generates Complemento de Pago (payment CFDI)
# 5. Sent to PAC for certification
# 6. Customer receives payment receipt

Cancellation

# CFDI cancellation (as of 2022):
# Requires reason code:
# 01 — CFDI issued with errors with replacement
# 02 — CFDI issued with errors without replacement
# 03 — Operation not carried out
# 04 — Nominative operation related to global invoice

# Customer must accept cancellation (if > 72 hours old)
# Odoo handles the cancellation workflow via PAC

Payroll CFDI

  • Payroll CFDI (Nómina) for employee pay stubs
  • Complements for: overtime, bonuses, severance
  • ISR withholding calculated per employee
  • IMSS (social security) integration

DeployMonkey for Mexico

Deploy Odoo for your Mexican business on DeployMonkey. The AI agent configures CFDI, PAC integration, IVA taxes, and payment complements. SAT-compliant electronic invoicing from day one.