Installable skillCC-BY-4.0

Odoo Localization & Compliance (l10n)

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

BY Agentic Awesome Skills contributorsUPDATED Oct 26, 2026
INTENDED FORโœณClaude Code>_Codexโ†—CursorInstall 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.
COMPATIBILITY & REFERENCES

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.