One-minute summary
3:47 PM, Friday. A store in a Maipú shopping mall. Eight people in line. The cashier confirms a boleta for CLP $184,320. The SII responds within seconds: "No CAF folios available for type 39." The boleta electrónica cannot be issued. Defontana already replied: "we'll request the next batch on Monday at 10 AM."
That moment is the concrete cost of a misconfigured ERP in Chile. Not a "theoretical compliance risk." It's three hours of lost sales times the average ticket times eight people waiting, half of whom will walk out.
The SII introduces three separate waves of changes in 2026: January 1, March, and May 1. Each closes a different loophole and widens the fiscal perimeter. Together they push SMBs outside what Defontana, Softland, Nubox, and Manager.io cover by default. The patches those vendors will ship to meet the new rules are coming, but after the deadlines and after the first fines.
This article is a step-by-step walk through migrating to factura electrónica in Chile on Odoo with minimum risk of DTE rejection, POS downtime, and F29 reassessment. Not Odoo marketing and not "10 facts about the SII." A checklist with concrete modules, configuration, tests, and fines for every rule, drawn from seven active Chile projects and audits of Defontana, Softland, and SAP B1.
- January 1, 2026 — Resolución SII 207: new fiscal obligations for marketplace platforms (Falabella, MercadoLibre Chile, Paris.cl); revised rules on the visual timbre on the boleta.
- March 2026 — Resolución Exenta N°53: merchants without printing devices must deliver the boleta electrónica by email, SMS, WhatsApp, or QR. Paper boleta by default no longer covers the obligation for e-commerce and delivery.
- May 1, 2026 — DTE 52 (guía de despacho electrónica) extension: origin, destination, carrier, driver, vehicle plate, nature of the move. Without these fields, the SII returns a rejection.
- What to fix in Odoo:
l10n_cl+l10n_cl_edi_*+ a custom module for CAF auto-request + scheduled RVD closing + WhatsApp Business API + an extendedstock_pickingschema for DTE 52. - Fines: up to 100% of the taxable base for systematic violations; 3 UTM per day for a missed RVD (≈ CLP $198,600/day in May 2026).
- Odoo out of the box does not cover CAF rotation, RVD retry, or F29 pre-fill — that's a custom extension over l10n_cl, USD 4k–12k one-time budget.
The three SII 2026 waves
The SII isn't shipping a single "January 1 release." Three separate rules take effect on different dates and hit different segments. Anyone reading only headlines misses one and gets the fine in the third week after the deadline, because the SII fiscal audit auto-triggers on indicators in the Libro de Compras y Ventas.
#1. January 1, 2026: marketplace + electronic timbre
Rule: Resolución SII 207 (December 2025), in effect from 01.01.2026.
The main change: marketplace platforms (Falabella, MercadoLibre Chile, Paris.cl, Ripley) must now hand the SII expanded data on seller transactions — amount, VAT rate, seller, buyer, payment method, settlement date. That closes the loophole through which some marketplace sales passed without full declaration.
What changes for an SMB selling on Odoo:
- Twin feed: the SII gets data from you (via DTE) and from the marketplace. Any mismatch is an automatic audit flag.
- If you sell through MercadoLibre Chile and your own site in parallel, DTE 39 (boleta) and DTE 33 (factura) must reconcile to the cent with the marketplace report.
- ML commissions are charged upfront; you book them after settlement. That gap is what the audit will flag if it isn't covered by a reconciliation script.
The second point of Resolución 207 revises the rule on the visual timbre on the customer copy of the boleta. Printing the timbre in visual form is no longer required (the rule allows digital channels), but the CAF folio in the DTE XML is still mandatory — they are different things and easy to confuse.
#2. March 2026: digital delivery of boleta electrónica
Rule: Resolución Exenta N°53, in effect March 2026.
Merchants operating without electronic printing devices (websites, delivery, B2C services: beauty, fitness, education, professional services) must now deliver the boleta electrónica to the customer through a digital channel: email, SMS, WhatsApp, or QR code on the POS receipt. Paper boleta no longer satisfies the obligation in those scenarios.
What this means in practice:
- Physical retail with a POS and printer: keep doing what you do, but add the digital delivery option because the customer will ask for it.
- E-commerce, delivery, B2C services: required to have a digital channel configured before March.
- Odoo POS by default emails a PDF of the boleta — but WhatsApp and SMS require a custom integration (WhatsApp Business API via Twilio, MessageBird, or 360dialog).
#3. May 1, 2026: guía de despacho electrónica with expanded data
Rule: DTE 52 update inside the broader fiscal-control reform, adaptation deadline 05.01.2026.
DTE 52 now requires an expanded data schema:
- Origin: shipment address at street and comuna precision.
- Destination: receiving address at the same granularity.
- Carrier ID: RUT plus razón social.
- Driver: RUT plus full name.
- Vehicle plate.
- Nature of the move: sale, inter-warehouse transfer, return, display, warranty, per the SII classifier.
The default Odoo stock.picking has no conductor_rut, patente, or naturaleza_traslado fields. You have to add them over l10n_cl. The deadline is tight: by May 25 there's one week left after the rule kicks in. Anyone who didn't make it has a truck sitting in the warehouse while accounting rebuilds the guía by hand.
The official DTE requirements and current rules are published on the SII factura electrónica portal.
What to configure in Odoo — module checklist
Not a tick-the-box module list. A reverse-engineered checklist from real implementations. Every item maps to a concrete problem that surfaced in production for at least one client.
#1. l10n_cl base stack
Minimum for Chile operations:
l10n_cl— base localization (SII chart of accounts, tax positions, DTE format).l10n_cl_edi— DTE XML generation, signing, and SOAP delivery to the SII.l10n_cl_edi_boleta— DTE 39 and 41 (boleta and boleta exenta).l10n_cl_edi_stock— DTE 52 (guía de despacho).l10n_cl_edi_exports— DTE 110, 111, 112 for export operations.l10n_cl_reports— electronic Libro de Compras y Ventas.
What Odoo by default does not cover:
- CAF auto-request when folios are running low.
- Scheduled RVD closing with retry logic on a network failure.
- Digital certificate integration (the.pfx is uploaded by hand; expiration alerts don't fire).
- WhatsApp Business API for digital boleta delivery.
- Reconciliation of the LCV against the F29 and pre-fill of the declaration.
This is written as a custom module on top of l10n_cl. Budget for the full custom stack: USD 4,000–12,000 one-time, depending on integration scope.
If you want to see what an Odoo implementation with SII compliance from day one looks like, that's the scope we usually cover.
#2. DTE types — which and when
| Type | Document | When it's used |
|---|---|---|
| 33 | Electronic Invoice (afecta) | B2B sale with VAT |
| 34 | Electronic Invoice (exenta) | B2B without VAT (export, exemption) |
| 39 | Electronic Boleta | B2C sale with VAT |
| 41 | Boleta Exenta | B2C without VAT |
| 43 | Liquidación-Factura | Sales on behalf of a third party |
| 46 | Factura de Compra | Purchase from non-issuer |
| 52 | Electronic Guía de Despacho | Goods movement |
| 56 | Debit Note | Surcharge to an invoice or boleta |
| 61 | Credit Note | Return, void, or correction |
| 110 | Export Invoice | Export abroad |
| 111 | Export Debit Note | Surcharge to an export |
| 112 | Export Credit Note | Return on an export |
Each type is configured with its own account.journal and l10n_latam_document_type_id. Each journal gets its own CAF folio pool. Common mistake: one journal for every type — the SII rejects the lot.
#3. CAF folios — auto-request
The CAF (Código de Autorización de Folios) is a pool of numbers the SII issues in batches of 100, 500, 1,000, or 5,000 per DTE type. Run out of folios and you stop issuing that DTE type until you request a new batch by hand through the SII portal.
By default Odoo does nothing automatically. The operator monitors the balance and requests new batches manually.
On top of that you build:
cron(*/4 hours):
for journal in CL_journals:
remaining = count_unused_folios(journal)
if remaining < 0.20 * last_batch_size(journal):
request_new_caf(journal) # SOAP call to SII
alert_owner(journal, channel='whatsapp')
The SII issues the new CAF file in 1 to 30 minutes depending on queue depth. The parser loads it into the journal automatically. Without this automation, every two or three weeks you replay the "Friday 5 PM, no folios left" scenario from the opening.
Concrete cost of one incident in retail: 8–12 sales per hour times the average ticket times 4 hours of downtime = USD 800–3,000 of direct loss per episode.
#4. RVD daily closing
At end of day, the store has to send the SII the Reporte de Ventas Diarias (RVD), a summary of every DTE 39 and 41 issued that day. Miss the 24-hour window and the SII books the day as unreported, accumulating fines start.
Odoo by default does not send the RVD automatically.
On top of that you build:
- A
cronthat fires at 11:50 PM local time. - Bundles every DTE 39 and 41 from the day, builds the RVD XML.
- Signs with the digital certificate, sends to the SII over SOAP.
- On error, retries after 15, 30, and 60 minutes (three attempts), then alerts the owner via WhatsApp or email.
Concrete trap: if the cashier doesn't close the shift cleanly or there's a network error, the RVD doesn't go out. After 72 hours there's a formal debt of 3 UTM per day (≈ CLP $198,600/day in May 2026).
#5. F29 with LCV cross-check
The F29 is the monthly VAT return, due by the 12th of the next month. Underneath the F29 the SII expects the LCV, the electronic register of every operation.
Odoo builds the LCV from journal entries. F29 pre-fill is custom.
What you build:
- Reconciliation report: F29 (Odoo calc) vs. LCV (what was sent to the SII) vs. bank (what actually moved in and out). Difference must be zero.
- Pre-fill: automatic F29 upload to the SII portal via SOAP.
The typical SMB error is an 8,000–15,000 CLP/month gap "that's always been there." It builds up over 6 to 12 months, the annual SII audit catches the gap and assesses back-tax per month plus UF adjustment plus interest.
#6. F22 with UF adjustment
The F22 is the annual income return (Operación Renta, April of the following year). Chile-specific quirk: amounts are adjusted by UF (Unidad de Fomento, indexed to inflation).
What you build:
- On import bookings (French barrels for wineries, smolts for aquaculture, ag machinery), the system locks the UF on the invoice date.
- On reverse, it recalculates by the UF on the operation date.
- The F22 gets built with the correct adjustment.
Without this, the annual diff lands at USD 5,000–30,000 per large import. It piles up over 3 to 5 years before the audit shows.
#7. Guía de despacho with expanded fields (deadline May 1, 2026)
Before May 1, 2026 you have to extend the stock.picking model. Minimum custom-module code:
class StockPicking(models.Model):
_inherit = 'stock.picking'
l10n_cl_origen_address = fields.Char(string='Origen completo')
l10n_cl_destino_address = fields.Char(string='Destino completo')
l10n_cl_transportista_id = fields.Many2one('res.partner')
l10n_cl_conductor_rut = fields.Char()
l10n_cl_conductor_nombre = fields.Char()
l10n_cl_patente = fields.Char()
l10n_cl_naturaleza = fields.Selection([
('1', 'Operación constituye venta'),
('2', 'Venta por cuenta de terceros'),
('3', 'Consignación a vendedores'),
('4', 'Traslado interno'),
('5', 'Traslado por otra causa'),
('6', 'Exportación'),
])
Fields are validated before generating DTE 52. Without them, the SII returns a rejection and the truck sits in the warehouse while accounting rebuilds the guía by hand.
Five typical migration mistakes
Each one showed up more than once at different clients. Not "might happen": will happen if you don't head it off.
#1. "Defontana and Softland will update themselves — we'll wait"
Defontana and Softland are local heroes, but their CAF, RVD, and DTE pipeline is monolithic. Updating for Resolución 207, Exenta 53, and the expanded guía means three separate patches, each with its own test cycle. Their clients get the working version 6 to 10 weeks after each rule takes effect. Fines pile up earlier.
What to do: if you're on Defontana issuing 30+ DTE per day, order an audit now. Migrating to Odoo takes 10–16 weeks. Start in March and you miss the May guía deadline.
#2. CAF without auto-request — Friday with no folios
Described in the opening. Concrete cost: 8–12 sales per hour times average ticket times 4 hours to recovery = USD 800–3,000 per incident. At peak retail hours it's higher.
What to do: a caf_auto_request custom module on top of l10n_cl. Direct SOAP call to the SII, monitoring via cron. Budget: USD 2,500 one-time.
#3. RVD not sent — formal debt at 72 hours
In Odoo by default the RVD doesn't close automatically. If the cashier messes up the shift or the Odoo upgrade crashes at 11:55 PM, the RVD doesn't ship. After 72 hours, formal debt.
What to do: a scheduled action with retry logic (three attempts), WhatsApp alert to the owner on failure, manual override option in the back office. For any project with 5+ POS terminals it's a must.
#4. F29 vs LCV — the gap "that was always there"
This is the most dangerous mistake because it doesn't show up immediately. It piles up over 6 to 12 months, the annual SII audit catches the gap, and assesses back-tax per month plus UF adjustment plus interest.
The gap usually traces back to one of these:
- A DTE 61 (Credit Note) not registered in the LCV of the month it was issued.
- A DTE 56 (Debit Note) double-booked across two months because of a date manipulation.
- A DTE 39 issued at month-change night (after 11 PM) booked into the next period.
- VAT-exempt items misclassified and missing from the right LCV column.
What to do: a monthly reconciliation report between the F29 (per Odoo) and the SII LCV. One or two hours of an accountant's time per month saves tens of thousands of CLP in fines and reassessments.
#5. Guía de despacho not ready by May — trucks waiting
From May 1, 2026 the SII rejects DTE 52 without conductor.rut, patente, and naturaleza_traslado. The truck sits in the warehouse while accounting rebuilds the guía by hand. The customer's unloading slot is gone, late-delivery fine, repeat complaints from the buyer.
What to do: right now (May 2026, publication date of this article) you extend stock_picking. Test on staging for at least two weeks. Production deploy no later than April 20, 2026. The window is already nearly closed. Late arrivals end up in emergency deploys with minimum coverage and in-production patches.
Case: Maule winery, 85 staff, US export
Anonymized case. Winery in the Maule valley, 85 permanent staff plus 220 seasonal during vendimia, 4 associated fundos, and a sales room in Santiago. Defontana since 2018, carefully configured but architecturally maxed out.
The trigger. A USD 1.8M Costco USA contract was signing in March 2024. Costco required full lot-to-bottle traceability in a format Defontana could only deliver as an Excel export. In parallel: Vinos de Chile Sustentable certification was scheduled for November 2024 with a GLOBALG.A.P. audit. The third drama vector was the F22 UF adjustment on imported French barrels, applied incorrectly for three years, with accumulated SII diff ≈ CLP $32M.
Audit (2 weeks, USD 9,500 fixed):
- DTE 52 with incomplete data: driver and plate not recorded. Under the May 2026 rule, total rewrite.
- UF adjustment on barrels with a wrong rule inside Defontana; fixing it required a three-year backfill.
- Vine → barrel → bottle → container traceability in Excel, sync between the 4 fundos via WhatsApp.
- CAF auto-request missing. In the 2023 vendimia there was a "no folios for export boleta" incident: the loading window was lost and Costco fined USD 14,000.
Migration (4 months):
- Defontana → Odoo 17 Enterprise. Modules: Manufacturing, Quality, Inventory, l10n_cl, l10n_cl_edi.
- Custom:
caf_auto_request, scheduled RVD, extendedstock_pickingfor DTE 52, F29 vs LCV reconciliation. - Traceability: every vine → barrel → bottle → container with timestamp and owner.
- UF adjustment on imports locks automatically on the invoice date.
- Three-year F22 backfill: recalculated with the correct adjustment; SII amnesty filed as a formal disclosure.
Results at 12 months:
- Trace-back time (bottle in the US → harvest vine): from 8 hours to 12 minutes.
- Monthly close: from 18 days to 5 days.
- F22 UF adjustment: cuadrado al peso from FY 2024. Backfill accepted without penalty.
- Vendimia 2024 closed with +14% export volume vs 2023.
- DTE rejected by the SII: 0 in 12 months.
- GLOBALG.A.P. and Vinos de Chile Sustentable certifications: passed on the first attempt.
- Defontana licenses retired: CLP $32M/year.
- Odoo investment: CLP $145M year 1, CLP $58M year 2 onward.
- Net savings over 3 years: CLP $890M (≈ USD $980k).
What would not have worked without the custom stack over l10n_cl: vendimia is the peak load, POS across the 4 fundos, no CAF auto-request and a peak-hour outage was guaranteed. The Costco audit asked for a sample of 100 DTE 110 with lot pull — Odoo delivered it in 8 minutes. On Defontana the same sample took 2 days and 2 people.
SII 2026 checklist — download
14-page PDF, 46 check items:
- Section 1: l10n_cl base configuration (12 items).
- Section 2: CAF auto-request and monitoring (8 items).
- Section 3: scheduled RVD with retry (5 items).
- Section 4: digital boleta delivery — March 2026 (6 items).
- Section 5: extended guía de despacho — May 1, 2026 (9 items).
- Section 6: F29, F22, LCV reconciliation (6 items).
Each item ships with a screenshot of the right configuration and a bash command to verify it via odoo-bin shell.
Download the SII 2026 checklist.
Alternative: a 30-minute Odoo diagnostic, no strings attached. Review of the l10n_cl configuration and risk list for each of the three SII 2026 waves, delivered as a PDF.
What's next
SII 2026 is not a "technical update." It's an architectural shift toward real-time fiscal visibility. The ERP is now expected to do several things in parallel: sign DTEs, run scheduled tasks, integrate with the SII via SOAP, expose custom fields for the guía de despacho, monitor CAF, reconcile F29 vs LCV, and deliver the boleta digitally.
Defontana and Softland will cover this with patches — after the deadlines. SAP Business One goes through its local partner with a yearly license north of CLP $400M. Odoo with a custom stack is the path that keeps control over the code, the timeline, and the relationship with the SII.
If you're on Defontana issuing 30+ DTE per day, order an audit. If you're already on Odoo but without custom CAF, RVD, or extended guía, run a module review before end of April. If you're on SAP B1, run the ROI on exiting the annual license with a 12 to 18-month payback.
Related material
- Odoo in Chile — country pillar with service tiers and case studies.
- Odoo audit — methodology, USD 9.5k fixed, 2 weeks.
- Odoo rescue — no migration, we fix the current setup.
- Odoo implementation with SII compliance from the start.
- SUNAT 2026 in Peru — the parallel LATAM compliance track.
- DIAN 2026 Colombia — payroll electrónica and UBL 2.1.
- Odoo + SII course — 6-week methodology.
- Computer vision for restaurants — Dodo Pizza case.
- Pulso Odoo LATAM — newsletter with monthly SII updates.
Frequently asked questions
How long does a Defontana-to-Odoo migration with a full SII stack take?
10 to 16 weeks for a typical SMB of 30 to 100 people. Longer if you have multi-warehouse, MRP, or export operations (DTE 110, 111, 112). The audit phase runs 2 weeks and has to come before the migration plan.
Can I stay on Odoo Community with l10n_cl without going to Enterprise?
Technically yes. l10n_cl works on Community. In practice Enterprise covers Chile HR (contracts, AFP, Isapres), biometric clocks, advanced inventory with rotation. Above 30 staff, Enterprise pays back in 6 to 12 months.
What do I do if the SII rejects a DTE because of an Odoo configuration error?
Do not resend until you have diagnosed. Every rejected DTE with the same track_id will be rejected again. Fix the configuration first (usually an invalid l10n_latam_document_type_id or an expired digital certificate), then resubmit with a new folio.
How does Resolución 207 affect me if I sell on MercadoLibre Chile?
ML Chile now delivers a full sale report to the SII. Your DTE 39 has to match that report to the cent. If there's a gap in commission capture (ML captures upfront, you book after settlement), the audit flags that gap as a red flag. A reconciliation script is mandatory.
What counts as a "merchant without printing device" under Resolución Exenta 53?
E-commerce, WhatsApp commerce, delivery, and B2C services (barbers, beauty, fitness, education, professional services) that take payment via a digital channel. If you have a physical store with a printer, keep printing and add the digital delivery option — customers will ask for it.
What is the fine for a missed RVD?
3 UTM (Unidad Tributaria Mensual) per day of delay plus UF adjustment. In May 2026, 1 UTM ≈ CLP $66,200, so the fine ≈ CLP $198,600 per day. Over a month it adds up to CLP $5.9M, before interest and F29 reassessments.
Do I need a separate digital certificate per DTE type?
No. A single digital certificate (.pfx, issued by E-CertChile, Acepta, or another accredited CA) signs every DTE type. It expires after 3 years: configure an alert 60 days ahead because renewal takes 1 to 2 weeks.
