One-minute TL;DR
Since January 1, 2026 the SRI requires real-time transmission of comprobantes. The old 4-business-day window is closed. If your Odoo integration responds in 7 seconds, the customer with the card already walked out. If the response is an XML rejection, the sale never closed. This is what shapes how you configure l10n_ec, which OCA modules matter, and where the stock setup breaks.
- Starting January 1, 2026, Resolución NAC-DGERCGC25 (14/2025 with clarifications in 17/2025) mandates immediate transmission of electronic comprobantes. The old 4-business-day buffer is gone.
- The cancellation window runs until the 7th of the month following the issue date. After that, only a credit note with recipient confirmation within 5 business days.
l10n_econ Odoo 17/18 covers the base (factura, NC/ND, withholdings, LCO, transport waybill, ATS) — but without the OCA updates aligned with XML schema 2.0, rejections start on day one.- Ecuador is the only dollarized economy in LATAM (USD since 2000). Contracts in dollars, zero FX risk, predictable pricing.
- The Odoo Ecuador partner ecosystem is thin: 2 Gold Partners in country (TRESCLOUD, GAHEOS), competitor Domain Ratings sit between 30 and 40. The SEO entry is cheap.
- Agro exporters (flowers, shrimp, banana, cocoa) get the biggest lift: Odoo delivers traceability from lot to container plus DAE from a single source.
What changes at SRI in 2026 — the exact timeline
Ecuador rolled out electronic comprobantes in waves from 2014 on. For years the rule was simple: comprobante issued, you have 4 business days to send it to the SRI. In practice, companies queued comprobantes during the day, batched them at night, and re-sent if anything broke the next morning. There was a buffer.
That buffer disappeared on January 1, 2026. Resolución 14/2025 (with clarifications in Resolución 17/2025) moved everyone to immediate transmission: the electronic comprobante must go to the SRI at the moment of issue. Not one minute later, not one hour later — instantly, via the SRI's SOAP endpoint, with the authorization number returned in the synchronous response.
Key timeline points:
- 2014–2024: gradual rollout. First large taxpayers, then mid-size, finally SMBs. 4-business-day window.
- 2025: SRI publishes Resolución 14/2025 with a transition period and technical specs.
- January 1, 2026: in force. Every issuer of electronic comprobantes must transmit in real time.
- Q1–Q2 2026: enforcement practice takes shape. Per HLB Ecuador and Ecuafact, fines range from USD 30 per single document to USD 1,500+ for systematic violations, with RUC suspension in extreme cases.
Cancellation rules tightened in parallel:
- A comprobante can be cancelled only through the 7th day of the month following issue.
- After the 7th, the only remedy is a credit note with recipient confirmation within 5 business days.
- If the recipient neither confirms nor rejects, the credit note is treated as accepted by default — but it's a weak defense: in an audit, the SRI asks for delivery evidence.
This is no longer "the accountant will redo the invoice on Monday." It's a process with a deadline and an SLA, and a batch-at-night logic does not fit.
Macro context: Ecuador's 2026 GDP grows moderately, with the IMF projecting 2.5% after 3.7% in 2025, and inflation between 2.0% and 2.8% (a direct consequence of dollarization, per Springer's 2000–2024 dataset). The 2026 budget sits around USD 26.7 billion (Ministerio de Finanzas, IRE), public debt is roughly 49% of GDP, and nominal GDP comes in at USD 121.6 billion — eighth in LATAM (FocusEconomics). Noboa's reform agenda adds business optimism (Rio Times): compliance investments pay back faster.
Technical requirements: what to configure in Odoo
#1. l10n_ec modules — core vs OCA
Odoo's core ships a base l10n_ec (chart of accounts plus basic tax structure). That's not enough. For production you need the combo from the OCA/l10n-ecuador repo:
l10n_ec_base— RUC validation, cédula, document types.l10n_ec_account_edi— SRI XML generation (schema 2.0).l10n_ec_edi_authorization— digital certificate signing plus SOAP request.l10n_ec_withholding— withholdings by concepto (1%, 1.75%, 2%, 8%, 10%).l10n_ec_ats— Anexo Transaccional Simplificado (monthly).l10n_ec_reports— Forms 103, 104, 101.
The OCA repo supports Odoo 16/17/18 and has commits within the last 30 days. Odoo's core updates slower and doesn't cover SRI edge cases.
#2. Documents to configure
- Factura — sale of goods or services.
- Credit / Debit Note — corrections.
- Liquidación de Compra (LCO) — payment to persons not required to keep formal books (typical case: productores asociados in agro).
- Comprobante de Retención — withholdings at source.
- Electronic Transport Waybill (Guía de Remisión) — movement of goods.
- VAT and Income Withholding Voucher — separate document.
#3. The technical pieces
- Digital signature certificate (firma electrónica) — issued by Banco Central del Ecuador, Security Data, ANF AC. Costs USD 30 to 80 per year, validity 1 to 2 years.
- SRI endpoints — recepción and autorización, production and test. The test environment responds slower; run load tests early.
- RIMPE categories on every partner — Negocio Popular (under USD 20,000 annual turnover), Emprendedor (under USD 300,000), Régimen General. This drives the withholding calculation.
- Queue worker for async sends — even in real-time mode, the SRI can take 2 to 5 seconds under load. A blocking call straight from POS is a non-starter.
- Retry with exponential backoff (1s, 2s, 4s, 8s, 16s). After 5 attempts, alert the admin channel.
- Logging of every SOAP round-trip — XML request, XML response, claveAcceso, authorization number. Without it, an SRI audit turns into guesswork.
#4. Where l10n_ec is weak
OCA modules cover 80% to 85% of scenarios. What you typically have to complete with custom code:
- POS real-time emission — Odoo POS works offline by default and syncs later. For SRI real-time, you have to write pre-validation: the POS order does not close until the SRI returns the authorization. Alternative: hybrid mode — claveAcceso generated, receipt handed to the customer, authorization processed asynchronously.
- Multi-RUC branding — if a client runs 2 or more legal entities on one Odoo instance, you have to separate claveAcceso sequences per RUC and signing certificates per company.
- Custom ATS blocks — purchases above USD 50, sales on credit card, withholdings under employment relationship. The stock module does not emit these.
When Odoo + l10n_ec works and when it doesn't
#1. Works out of the box
- SMB of 20 to 100 employees, 100 to 2,000 invoices per month. Stock Odoo 17/18 install plus l10n_ec OCA, 4 to 8 weeks to go-live, year-one investment between USD 11,000 and 25,000. The average Ecuador ERP project ticket runs USD 10,000 to 40,000 — close to the Colombian level.
- Agro exporter (flowers, shrimp, cocoa, banana, tuna) with lot-to-container traceability and DAE needs. Odoo Manufacturing + Quality + Inventory + l10n_ec delivers a single source of truth for the SRI and for Florverde, Rainforest Alliance, BAP or ASC audits.
- Multi-warehouse (plant + farm + central) — Odoo's stock handles it without custom code. Business concentration in Quito + Guayaquil + Cuenca (over 70% of national activity) keeps the logistics module simple.
- Multi-RIMPE customer base — if your customers mix Emprendedor and Régimen General, withholding logic configures at the
partner.tax_regimelevel.
#2. Works with extra work
- Migration from SAP Business One. The l10n_ec module does not migrate data automatically. You need an ETL: partner master data, historical comprobante balances, certificates. Minimum 2 to 3 months. It pays off if the current SAP B1 costs USD 35,000+ per year (a typical Ecuador SMB ticket with partner support).
- POS retail above 200 transactions per hour. You need queue infrastructure (Redis or RabbitMQ) and a worker pool for async sends to the SRI.
- Productores asociados (say 12 small farms under one florícola). LCOs automate, but you need a master list of provider tax status and concept mapping.
#3. Does not fit — use an alternative
- Negocio Popular (under USD 20,000 annual turnover, around 20 invoices a month). Odoo is expensive and oversized. Better: the SRI's free invoicer or specialized SaaS such as Datil or Bind. Saves USD 8,000 to 15,000 in year one.
- Legacy SAP B1 plus a working custom Ecuador module. If compliance is current and the team is fluent, migrating to Odoo costs more than replacing the SRI integration module inside SAP.
- Highly regulated verticals (banks under SUPERBAN, telecoms under ARCOTEL, insurers under Superintendencia). Odoo core does not cover sector-specific regulatory reporting. Vertical platforms or substantial custom development.
Top 5 mistakes that break the rollout
#1. Using core l10n_ec without the OCA updates
The most common mistake. The team installs the stock l10n_ec, never wires up the OCA repo, and the first send gets rejected: since 2024 the SRI only accepts XML in schema 2.0, and the core module emits the older structure. Half a day to fix — but 60% of self-managed projects trip here.
#2. Ignoring withholding logic by customer RIMPE category
Stock l10n_ec does not differentiate withholding by customer type. Sold to a Régimen General entity: withhold 1% income tax. Sold to a RIMPE Emprendedor: 0% (they declare on their own). If withholding is wrong, the customer rejects payment and asks for a credit note, or the SRI raises an adjustment on review. You need a custom tax_regime field on partner and a hook in account.move.line via _compute_tax_ids.
#3. A blocking SOAP call to the SRI from POS
Cashier rings up a ticket → Odoo fires a SOAP request to the SRI → waits for the response. The SRI takes a moment, the cashier stares at the spinner for 7 seconds, the line at the store grows. Fix: async queue with a pre-generated claveAcceso (the receipt goes to the customer) and a background sender. If the SRI rejects, automated retry plus a manager alert.
#4. No credit-note routine after the 7th
Before 2026 the practice was simple: invoice mistake → cancel → re-issue. Under the new rules, after the 7th of the next month, the only path is a credit note with recipient confirmation. If the process is not built, the accountant starts patching in Excel and forgets to push it to the SRI — and the customer loses deductibility.
#5. ATS filed "when someone remembers"
The Anexo Transaccional Simplificado is a mandatory monthly XML report. Many teams generate it but skip required blocks: purchases above USD 50 with detail, credit-card sales, withholdings under employment relationship. The SRI fines USD 30 to USD 1,500+ for missing or incomplete ATS. Automate with the OCA l10n_ec_ats module plus a cron on the 14th of the month.
Case: rose farm in Cayambe — migration from Mónica to Odoo 17
A rose farm in the Cayambe valley (Pichincha): 220 employees, 18 hectares, premium-rose exports to the Aalsmeer auction in the Netherlands and to the US. Through 2024 they ran on Mónica plus a custom floricultura module that four freelancers had patched over 8 years.
Pre-migration symptoms:
- 8% of comprobantes received an SRI rejection: the Mónica partner shipped schema 2.0 updates 3+ weeks behind SRI releases.
- Traceability rose → box → container → auction lived in Excel and WhatsApp.
- Florverde Sustainable Flowers and Rainforest Alliance audits: 4 days of manual document prep per cycle.
- Liquidaciones de Compra for 12 productores asociados (small farms without formal books) were done by hand.
- Month close: 18 business days.
What they did:
Migration to Odoo 17 Enterprise + Manufacturing + Quality + Inventory + l10n_ec OCA + a custom traceability module farm → greenhouse → harvest → box → container. A greenhouse supervisor app with offline capture and sync at field exit. Automatic LCO generation for productores asociados. Certified Florverde and Rainforest Alliance reports generated straight from Odoo.
The project was not "replace Mónica with Odoo." It was "unify farm, plant, export, and SRI in a single source, and stop paying a freelancer every time the SRI moves the schema."
Results at 9 months:
| Metric | Before | After |
|---|---|---|
| Comprobante rejection rate | 8% | 0% (from month 2) |
| Aalsmeer box trace-back to greenhouse | 6 hours | 9 minutes |
| Month close | 18 days | 4 days |
| Florverde audit 2024 | 2 retries | passed first attempt |
| LCOs filed on time | 60% | 100% |
| Export volume 2024 vs 2023 | baseline | +18% |
Investment: USD 48,000 in year one (implementation + Enterprise licenses + custom modules), USD 18,000 from year two (support + licenses). Savings from dropping Mónica + custom-module freelance: USD 14,000 per year.
Odoo Ecuador competitive landscape: 2 Gold, the rest Silver
As of April 2026, the Odoo Partners directory for Ecuador lists 2 Gold Partners:
- TRESCLOUD — 40+ specialists, offices in Quito, Guayaquil, and Cuenca, plus coverage in Manta, Ambato, Riobamba, and Ibarra. Domain Rating 39, active content strategy, vertical focus on prefabs, retail, and engineering.
- GAHEOS S.A. — Gold with a thinner public footprint.
A few Silver/Ready follow, for example Ekuasoft. Aggregate organic traffic across all competitors on the keyword odoo ecuador totals dozens of visits a month: the SEO niche is open. A domain with DR 25+ and a content strategy focused on SRI real-time can overtake TRESCLOUD in 3 to 6 months.
For reference: average Gold Partner ecosystems in Peru or Colombia run 5 to 8 partners with DR 30 to 50. Ecuador is a real blue ocean.
SRI real-time checklist for Odoo — free by email
42 verification points for l10n_ec configuration under Resolución 14/2025: OCA modules, signing certificate, endpoint config, retries, ATS, RIMPE mapping, queue workers, monitoring. 26-page PDF. Download the SRI real-time checklist — leave your email, it arrives in under a minute.
What to read next
If you're picking an ERP for an Ecuador operation, see the Odoo audit framework (when the rollout is in progress but something doesn't add up) and the rescue methodology for projects that are stuck. Regional context: Odoo in Peru — SUNAT and SIRE 2026, Odoo in Colombia — DIAN and electronic payroll, Odoo in Mexico — CFDI 4.0 and SAT real-ops. For agro-export operations: Odoo for retail + computer vision shows how the same approach applies to restaurants and retail. Regulator deep-dive: SRI real-time pillar. BI on Odoo: Odoo + Analytics and Business Intelligence. Full service catalog: Odoo implementation.
FAQ
When does the SRI require real-time transmission of comprobantes in Ecuador?
From January 1, 2026, per Resolución 14/2025 with clarifications in Resolución 17/2025. The previous 4-business-day window was eliminated.
What is the fine for breaching the SRI's electronic invoicing requirements?
From USD 30 per single document to USD 1,500+ for systematic violations. In the worst cases, the SRI suspends the RUC until the issues are resolved.
Can I cancel a factura 10 days after issuing it?
No. Cancellation is only allowed through the 7th of the month following issue. After that: credit note only, with recipient confirmation within 5 business days.
Core Odoo l10n_ec or OCA — which should I pick?
OCA. Active commits in the last 30 days, XML schema 2.0 up to date, regular updates against new SRI resolutions. Odoo's core moves slower.
What does Odoo + l10n_ec cost for an SMB of 20 to 50 employees?
USD 11,000 to 25,000 in year one (implementation + licenses). USD 6,000 to 12,000 from year two (support + licenses). Infrastructure not included. The average Ecuador ERP project runs USD 10,000 to 40,000.
Does l10n_ec support RIMPE categories?
The base structure does (Negocio Popular, Emprendedor, Régimen General). But withholding logic by customer category needs a custom tax_regime field on partner.
Can a Peruvian SMB run one Odoo instance for both Peru and Ecuador?
Yes. Odoo's multi-company supports different localizations (l10n_pe + l10n_ec) in one database. Each company keeps its RUC, taxes, and reports. It is a typical setup for an SMB with a subsidiary across the border: Ecuador and Peru share the UTC−5 time zone, and the Comunidad Andina grants visa-free stays up to 180 days.
Does the SRI accept sends past midnight, or is there a closed window?
The endpoint is available 24/7, but the "immediate transmission" rule applies to the moment of issue, not to a time of day. If you issue at 23:55 and the system fails, the comprobante is logged as out of compliance from the first minute of the next day.
