4,680,583 AI resources indexedWorking toward the worldโ€™s largest AI resource index.

Odoo Localization & Compliance (l10n)

Country-specific Odoo localization: tax configuration, e-invoicing (CFDI, FatturaPA, SAF-T), fiscal reporting, and country chart of accounts setup.

Installable skillCC-BY-4.0By Ramon RiosUpdated Oct 26, 2026
INTENDED FORClaude CodeCodexCursorInstall in a listed agent.

instructions.md

---
name: odoo-l10n-compliance
description: "Country-specific Odoo localization: tax configuration, e-invoicing (CFDI, FatturaPA, SAF-T), fiscal reporting, and country chart of accounts setup."
risk: critical
source: community
date_added: "2026-03-04"
---

# Odoo Localization & Compliance (l10n)

## Overview

Odoo provides country localization modules (`l10n_*`) for charts of accounts, taxes, and fiscal reporting. This skill helps you install and configure the right localization, set up country-specific e-invoicing (Mexico CFDI, Italy FatturaPA, Poland SAF-T), and prepare fiscal configuration for qualified local review. Module coverage depends on the exact Odoo version, edition, and installed add-ons; a module name is not evidence that every listed report or integration is available.

## When to Use This Skill

- Setting up Odoo for a company in a specific country (Mexico, Italy, Spain, US, etc.).
- Configuring country-required e-invoicing (electronic invoice submission to tax authorities).
- Setting up VAT/GST/IVA tax rules with correct fiscal positions.
- Generating required fiscal reports (VAT return, SAF-T, DIAN report).

## How It Works

1. **Activate**: Mention `@odoo-l10n-compliance` and specify your country and Odoo version.
2. **Install**: Get the exact localization module and configuration steps.
3. **Configure**: Receive tax code setup, fiscal position rules, and reporting guidance.

## Country Localization Modules

Use this table as a discovery starting point, not a feature or legal-support guarantee. Confirm the version-specific module dependencies and reporting coverage before installation.

| Country | Starting module | Coverage to verify for the deployed version |
|---|---|---|
| ๐Ÿ‡บ๐Ÿ‡ธ USA | `l10n_us` | Chart of accounts, applicable US reports and separate payroll integrations |
| ๐Ÿ‡ฒ๐Ÿ‡ฝ Mexico | `l10n_mx_edi` | CFDI 4.0 e-invoicing, SAT integration, IEPS tax |
| ๐Ÿ‡ช๐Ÿ‡ธ Spain | `l10n_es` | SII real-time VAT, Modelo 303/390, AEAT |
| ๐Ÿ‡ฎ๐Ÿ‡น Italy | `l10n_it_edi` | FatturaPA XML, SDI submission, reverse charge |
| ๐Ÿ‡ต๐Ÿ‡ฑ Poland | `l10n_pl` | Applicable JPK exports and current VAT reporting |
| ๐Ÿ‡ง๐Ÿ‡ท Brazil | `l10n_br` | Required Brazilian e-invoicing, tax and report add-ons; verify provider/publisher |
| ๐Ÿ‡ฉ๐Ÿ‡ช Germany | `l10n_de` | SKR03/SKR04 CoA, DATEV export, UStVA |
| ๐Ÿ‡จ๐Ÿ‡ด Colombia | `l10n_co_edi` | DIAN e-invoicing, UBL 2.1 |

## Examples

### Example 1: Configure Mexico CFDI 4.0

```
Step 1: Install module
  Apps โ†’ Search "Mexico" โ†’ Install "Mexico - Accounting"
  Also install: "Mexico - Electronic Invoicing" (l10n_mx_edi)

Step 2: Configure Company
  Settings โ†’ Company โ†’ [Your Company]
  Country: Mexico
  RFC: Your RFC number (tax ID)
  Company Type: Moral Person or Physical Person

Step 3: Upload SAT Certificates
  Use the certificate/key menus documented for your Odoo version
  CSD Certificate (.cer file from SAT)
  Matching CSD Private Key (.key file from SAT)
  Password: the password for that CSD private key (not a FIEL/e.firma password)
  Configure the selected supported PAC and its separate credentials
  Use test certificates and the PAC test environment before production

Step 4: Issue a CFDI Invoice
  Create a test invoice with complete fiscal/product data
  Submit for signing through the configured PAC using the version-specific flow
  Inspect acceptance/rejection and the returned UUID (folio fiscal)
  PDF includes QR code + UUID for buyer verification
```

### Example 2: Review an EU B2B Fiscal Position

Do not apply one zero-rate rule to all EU goods and services. Confirm the supply,
customer VAT status, place-of-supply rules and required evidence with the local
accountant first. Prefer the localization's supplied taxes and fiscal positions.

```text
1. Identify the applicable localized tax and invoice wording for this supply.
2. Review its computation, account mappings and report tags in a test database.
   A percentage tax uses Percentage of Price; Fixed means a currency amount.
3. Configure a fiscal position mapping the domestic tax to the reviewed tax.
4. Restrict automatic detection to the relevant EU member countries and VAT
   conditions; "Europe" includes countries outside the EU.
5. Test domestic B2B/B2C, eligible EU B2B, invalid/missing VAT and export cases.
6. Have the accountant verify invoice totals, wording and fiscal reports.
```

### Example 3: Install and Validate a Localization

```bash
# In an authorized disposable/test database with a backup; installation mutates data
./odoo-bin -d mydb --stop-after-init -i l10n_mx_edi

# Verify in Odoo:
# Apps โ†’ Installed โ†’ Search "l10n_mx" โ†’ Should show as Installed
```

## Best Practices

- โœ… **Do:** Install the localization module **before** creating any accounting entries โ€” it sets up the correct accounts.
- โœ… **Do:** Use **Fiscal Positions** to automate tax switching for international customers (B2B vs B2C, domestic vs export).
- โœ… **Do:** Test e-invoicing in the **SAT/tax authority test environment** before going live.
- โŒ **Don't:** Manually create a chart of accounts if a localization module exists for your country.
- โŒ **Don't:** Mix localization tax accounts with custom accounts โ€” it breaks fiscal reports.

## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Reference: [Odoo 19 Mexican localization](https://www.odoo.com/documentation/19.0/applications/finance/fiscal_localizations/mexico.html). Use the documentation for the deployed version and current local tax-authority guidance before production. Never put private keys or passwords in chat, logs, or source control.

Platform guidance

Imported SKILL.md format for Claude Code, Codex and Cursor. Review the complete instructions and required tools before use. Package integrity checked; individual agent behavior has not been tested.