AFIP vs ARCA — what changed in 2026
The government dissolved AFIP in July 2024 and created ARCA (Agencia de Recaudación y Control Aduanero) as its successor. Only the name changed — CUITs and fiscal keys stayed the same. What did change: tighter control over monotributistas invoicing VAT-registered companies, and bank integration to detect discrepancies in monthly CAEA.
What stays the same from Odoo's technical perspective:
- The
wsaa(authentication) andwsfe(e-invoicing) webservices keep the same URLs and SOAP envelopes — only the branding in the documentation changed. - The digital certificate is still managed from the fiscal key via the Administrador de Relaciones service.
- CAE (Electronic Authorization Code) and CAEA (Anticipated Electronic Authorization Code) keep their 14-digit formats.
What did change and forces you to revisit setup:
- ARCA-Monotributo cross-check: if you issue a C invoice to a VAT-registered client and they claim it as credit, ARCA automatically flags the operation. If you exceed 30% of your monthly invoicing with a single client, it triggers a disguised-employment alert.
- RG 5616/2024: new VAT withholding regime for B2B digital services. Applies if you invoice a foreign provider for hosting, SaaS, online advertising — the 21% withholding must be filed via Odoo as an internal debit note.
- Cross-border TIN validation: E invoices (export) now require validating the buyer's TIN against fiscal records in the destination country. Without this, ARCA defers exporter VAT refunds for up to 90 days.
Several unofficial connectors (especially those built by local devs for SMBs) hard-coded the string "AFIP" in response validation. When endpoints started returning "ARCA" in some headers, those integrations break silently — the invoice doesn't emit, no visible error. Check your connector's logs and update if it still validates by text.
Comprobante types (A/B/C/E) and which one each client generates
The golden rule: the comprobante type depends on the receiver's VAT status, not the issuer's.
| Type | When | VAT itemized |
|---|---|---|
| A | VAT-registered issuer → VAT-registered receiver | Yes, on a separate line |
| B | VAT-registered issuer → end consumer / monotributista / exempt | No, included in price |
| C | Monotributo or VAT-exempt issuer → anyone | Not applicable |
| E | Export (any issuer → foreign buyer) | 0%, INCOTERM declared |
Odoo determines the type automatically if the partner has the L10n AR AFIP Responsibility Type field set correctly. The most common mistake: marking the client as Responsable Inscripto when they're actually Monotributista — Odoo generates a type-A invoice, AFIP rejects it with code 10052.
Sub-types that matter
- Type-A invoice with "Operación sujeta a percepción" notation — if you sell to a perception agent, you must itemize IIBB and VAT perceptions (RG 2408) as separate lines.
- Type-M invoice — a variant of A for when the buyer's CUIT isn't yet validated. Issued with full VAT withholding. Almost nobody uses it because the operation is cumbersome, but it's valid.
- Electronic C receipt — mandatory since 2023 for monotributistas who collect upfront, often forgotten.
Configuring l10n_ar
in Odoo (CAE, CAEA, FACE)
The l10n_ar
(Argentina) module ships officially with Odoo 17+ and keeps compatibility with 16. The electronic connector is called l10n_ar_edi
(Electronic Data Interchange) and brings:
- WSAA + WSFE (traditional A/B/C invoice, CAE per document)
- WSFEXv1 (E invoice for export)
- WSFEv1 (legacy version, still supported)
What it does not bring officially:
- CAEA
(anticipated authorization, for high-volume invoicing in offline zones) — requires Adhoc's module (
l10n_ar_edi_caea) or custom development. - FACE (SME Electronic Credit Invoice) — separate module, essential if your clients are large enterprises and you want your invoice to be tradable on capital markets.
- T comprobantes (tourism) — niche, requires custom development.
#1. Company setup
In Settings → Companies → Your company:
- CUIT in the VAT field (format XX-XXXXXXXX-X), Odoo validates the check digit automatically.
- AFIP Responsibility Type: Responsable Inscripto, Monotributo, Exento, Consumidor Final.
- Province — affects IIBB and Convenio Multilateral jurisdiction.
- AFIP activities (CLAE) — a client can have several, one primary.
#2. Digital certificate
Generate the CSR (Certificate Signing Request) from Odoo (the Generate CSR button), upload it to AFIP/ARCA via the Administrador de Certificados Digitales service, download the signed.crt, and load it back into Odoo together with the private key. Validity: 2 years. Automatic reminder: set up a recurring activity 30 days before expiration.
#3. Electronic point of sale
Each point of sale is an independent numbering range. In Accounting → Configuration → Journals → AFIP POS, create one per comprobante × point-of-sale combination. Typical error: using one POS for both A and B; Odoo allows it but AFIP rejects because numbering must be separate per type.
AFIP/ARCA requires certification in the homologation (testing) environment before enabling production. Load the homologation certificate, issue 50 test invoices successfully, then request the production certificate. Skipping this step is the most common shortcut and AFIP blocks production sign-off until you comply.
Monotributo: the 5 most common traps
Monotributo is the simplified regime for freelancers and SMBs invoicing under a certain ceiling. In Odoo it looks simple — a partner with AFIP Responsibility = Monotributista issues type-C invoices, no VAT itemized. But the operational traps:
- Forgotten quarterly recategorization — ARCA automatically recategorizes every January and July based on the last 12 months. If your Odoo revenue doesn't match what ARCA sees, you get bumped up a tier and your fee jumps 30–60%. Fix: monthly report cross-checking Odoo against ARCA.
- Exclusion from exceeding the cap — if you cross the annual cap on a single large invoice, AFIP excludes you retroactively and you must pay VAT and Income Tax from the start of the month. Set an Odoo alert when you hit 90% of the cap.
- Type-C invoice to a company with disguised dependency relationship — the famous "off-the-books employment". ARCA cross-references: if you invoice more than 30% per month to the same CUIT for over 12 consecutive months, an investigation triggers.
- Late monthly fee payment — the fee is due on the 20th of each month. Late payment → automatic block on e-invoicing. Odoo doesn't warn you, AFIP simply returns error 1014 on the next CAE attempt.
- Manual comprobantes that don't appear in Mis Comprobantes — if you issue by hand for contingency (preprinted invoice), you must upload it in the Comprobantes en línea service within 24h. Forgetting is the #1 cause of discrepancies in recategorization.
Anonymous case: SMB that migrated from Tango to Odoo
Digital marketing services company, 18 employees, Buenos Aires. 2025 revenue: ARS 380M (~ USD 320K at average official exchange rate). 9 years on Tango Gestión, migration to Odoo 17 executed in Q3 2025. Three reasons to migrate:
- Tango doesn't integrate well with new digital banks (Mercado Pago, Ualá, Brubank). Bank reconciliation by hand = 2 days/month of an accountant.
- No native CRM. They sold with Excel spreadsheets + WhatsApp.
- The cost of Tango Punto de Venta + Tango Gestión + Tango Sueldos exceeded USD 280/month per user for 18 people.
What went right:
- Partner migration (1,200 active clients) in 3 days with a Python script + Odoo API.
- Argentine chart of accounts (RG 3293) mapped from Tango's without structural changes.
- First 50 invoices in AFIP homologation in 5 days — zero rejections.
What went wrong:
- VAT history was not migrated line by line (a conscious decision) — the accountant had to file the last DDJJ of the fiscal year with Tango and the first with Odoo, with no overlap. 3 extra days of work.
- Invoice numbering — the accountant assumed AFIP allows reusing points of sale across systems. It doesn't. Each migration requires decommissioning the point of sale in AFIP and creating a new one. The first batch of invoices in Odoo was rejected until fixed.
- Professional-fee receipts from employees (8 monotributistas billing the SRL) weren't in Tango — they were generated by hand. When moved to Odoo, 4 monotributistas surfaced out of date with missed recategorizations. Total fine: ARS 380K (~ USD 320).
"Odoo's ROI broke even at 7 months, not the 12 we'd projected. What we didn't account for: the time recovered by the accountant and me — reconciliation went from 2 days/month to 2 hours. That's 22 days a year between the two of us."
Related resources:
- Argentina country page — l10n, AFIP/ARCA, certified partners
- Monotributo recategorization: the calendar nobody explains
- Migration service from Tango / Bejerman / Quickbooks
- AFIP/ARCA 2026 checklist (18 points)
Frequently asked questions
The questions that come in every week from Argentine SMBs evaluating Odoo + AFIP/ARCA.
Does Odoo Community work for invoicing in Argentina or do I need Enterprise?
Community works perfectly. l10n_ar and l10n_ar_edi
are official free modules. Enterprise adds Studio (custom views without code), better multi-user performance, and official support — useful but not mandatory for AFIP.
How much does it cost to run Odoo + AFIP for a 5-person SMB?
Hosting (Hetzner, DigitalOcean, or local): USD 20–40/month. No Enterprise license: USD 0. No paid connector (l10n_ar_edi is official): USD 0. Total infrastructure: ~ USD 30/month. Compared to USD 280/month for Tango with 5 users, savings of ~ USD 3,000/year.
What do I do if AFIP rejects an invoice with code 10010?
10010 = "Buyer CUIT not valid for the invoice type". Usually it's: you issued a type-A invoice to a monotributista (rejection is correct), or the CUIT is mistyped. Validate with the Constancia de Inscripción service before issuing.
Can I use the same AFIP digital certificate in two Odoo installations (test and prod)?
No. AFIP detects concurrent use of the same certificate and blocks one. You need a homologation certificate for test and a production certificate for prod — two distinct files.
How do I handle Convenio Multilateral IIBB in Odoo?
l10n_ar
supports basic IIBB. For Convenio Multilateral (distributing rates across provinces) you need Adhoc's l10n_ar_account_withholding
module or custom development. Without it, you calculate IIBB by hand each month.
Can I issue from a physical POS (thermal printer) with Odoo?
Yes, Odoo Point of Sale (free) issues type-B/C invoice tickets with online CAE or CAEA (anticipated, if your activity allows). The certified fiscal controller (printer) is not mandatory if you already issue electronic — AFIP treats both comprobantes as equivalent.
Is it worth migrating from Tango / Bejerman to Odoo if I only invoice?
If you only invoice (no inventory, CRM, or collections), the license savings are eaten by migration cost. It makes sense when you already need inventory, manufacturing, project management, or CRM — because Odoo bundles everything with invoicing.
How long does a complete Odoo + AFIP setup take?
Single-CUIT SMB, single province, no special integrations: 2–3 weeks (1 week setup + certificate, 1 week homologation with 50 test invoices, 1 week production cutover). Multi-company, multi-province, or with e-commerce: 6–10 weeks.
What documents do I need before starting?
CUIT with fiscal key level 3, up-to-date AFIP registration certificate, Argentine chart of accounts (or the one you used in Tango), product list with correct VAT codes, and the last 3 months of DDJJ to validate opening balances.
How do I handle foreign-currency (USD) invoices from Argentina?
For type-E (export) you issue directly in USD, AFIP converts to BNA rate of the day. For type-A/B in USD to a local client (rare but legal): you issue in USD and show the ARS conversion at the MEP or BNA rate as applicable. Odoo handles both with multi-currency active.
Does ARCA replace AFIP or are they the same?
ARCA absorbed AFIP in July 2024. It's the same entity with a new name and internal reorganization. Your CUIT, your fiscal key, your debts, your permissions — all still valid. Webservices and technical documentation keep references to AFIP for compatibility.
If your accountant still edits invoices by hand or calculates VAT outside the system, a 5-day Odoo audit
identifies the friction points, the required l10n_ar
patches, and the remediation plan with timeline and cost. Book a free 30-min audit →