Executive summary: what changes in 2026
As of January 1, 2026, more than 18,000 Panamanian taxpayers lost the right to use DGI's free invoicing tool. If your SMB invoices over USD 36,000 a year or issues more than 100 documents a month, you have two options: hire an authorized PAC or stand up a certified in-house system. Odoo fits the bill, but the community module l10n_pa doesn't cover everything, and penalties for non-compliance reach USD 10,000 per repeat offense.
What you need to know, in five lines:
- Who must migrate: any taxpayer with annual revenue above USD 36,000 or issuing more than 100 documents per month. DGI estimates 18,000 taxpayers fit this profile.
- Where to migrate: a PAC (Proveedor Autorizado Calificado) or a certified in-house system. There is no third path.
- Fines: USD 500 to USD 10,000 for repeat offenses. RUC closure for serious cases.
- Odoo's role: the community module
l10n_pasets the base, but you need an extension to plug into a PAC (FacturaloPa, The Factory HKA, Nube Pago — the providers with open REST APIs). - Migration timeline: 3 to 7 weeks for a typical SMB, USD 2,500 to 8,000 in implementation cost.
If you sign with a PAC that has a closed API, switching providers later costs a fresh integration — USD 3,000 to USD 5,000 — and blocks future migrations. Before signing, demand public API documentation, a sandbox environment, and a status-change webhook. If the sales rep hesitates, walk away.
Context: why Panama raised the bar in 2026
Electronic invoicing is not new in Panama. The Sistema de Facturación Electrónica de Panamá (SFEP) has been running since 2018, entered pilot in 2019, and became mandatory for large taxpayers in waves between 2021 and 2023. In parallel, DGI launched the Facturador Gratuito (CFEG) — a cloud tool aimed at micro-businesses so they would not need to pay a PAC.
The math was reasonable: large enterprises pay between USD 0.05 and USD 0.15 per document to a PAC, while micro-businesses issue a few dozen invoices per month and use CFEG. The model held until DGI detected a gap between declared status and real billing volume among a slice of users. Businesses with USD 200,000 to 500,000 in annual revenue were leaning on the free tool, effectively subsidized by the state and complicating tax oversight.
The dates and thresholds that matter in 2026:
| Period | What changes |
|---|---|
| Jan 1, 2026 | New CFEG limits go live: ≤ USD 36,000 per year and ≤ 100 documents per month |
| Q1 2026 | DGI notifies taxpayers who exceeded the limits — 90 days to migrate |
| Q2 2026 | Migration deadline for most notified taxpayers |
| Q3 2026 | First audit wave: cross-checking CFEG data against ITBMS filings |
| Q4 2026 | Penalty procedures activate for repeat offenders |
The resolution that formalizes these limits sits inside Executive Decree No. 766 of 2020, which set up the SFEP, with amendments published between 2024 and 2025. Current technical documentation is on the DGI electronic invoicing portal.
Alongside the new limits, DGI requires the following from 2026 forward:
- CUFE (Código Único de Factura Electrónica): a unique identifier mandatory on every document.
- QR code linking directly to verification on the DGI portal.
- PDF + XML in DGI Schema v1.5 format.
- 5-year XML storage mandatory, not just PDFs.
None of this is unique to Panama. Mexico (SAT CFDI 4.0), Chile (SII), and Peru (SUNAT) all enforce similar rules. But Panama is the only dollarized economy in the region, which removes FX risk against PAC fees and simplifies financial projects. The IMF forecasts Panama's GDP to grow 4.0% in 2026, with inflation stable near 2.0% — a steady macro backdrop for serious tech investment. Extra context: services grow faster than manufacturing, which means more SMBs in banking, logistics, and tourism — Odoo's core customer profile. For deeper background, see the Panama country profile.
Odoo localization for Panama: technical requirements
#1. The base module l10n_pa
In Odoo 17 and the LTS release 18, l10n_pa ships in the community repository and covers:
- Chart of accounts aligned with Panamanian GAAP (IFRS for SMEs).
- ITBMS tax rates: 7% standard, 10% (alcohol, tobacco), 15% (specific services), 0% (exports and free zone).
- Withholding taxes: 12.5% ISR for non-residents, 6% for residents in certain cases.
- Document types: RUC, NIT (non-residents), passport.
- Currency: Balboa (PAB) pegged 1:1 with the US dollar.
What the community l10n_pa does not cover:
- PAC integration (FacturaloPa, The Factory HKA, Nube Pago, Indra, Inveco).
- CUFE generation in the required format.
- QR code on PDFs.
- XML serializer matching DGI Schema v1.5.
- Real-time validation against the DGI API.
For production you need extra modules or commercial extensions from Odoo Gold Partners. Panama only has two Gold partners — Hermec Consulting and PSDC INC. — both selling custom implementations. The slot for tier-2 partners with a modern stack remains open.
#2. PAC integration architecture
When an SMB sends an invoice from Odoo, the flow looks like this:
- Odoo generates the invoice and builds the XML per DGI Schema v1.5.
- The extension module signs the XML with an electronic signature (a PKI certificate from a Certification Authority) and posts it to the PAC over REST.
- The PAC validates the structure and forwards it to DGI for approval.
- DGI returns the CUFE plus a status (Approved, Rejected, or Pending).
- The PAC sends Odoo a confirmation and a verification URL for the QR.
- Odoo updates the invoice, generates the PDF with QR, attaches the XML, fills the
cufefield, and emails the customer.
The bottleneck is the PAC API. Of the 5 authorized PACs in Panama as of late 2025, three (FacturaloPa, The Factory HKA, Nube Pago) offer REST APIs with public documentation; the other two (Indra, Inveco — enterprise tier) run closed interfaces with minimal documentation. For an SMB, only pick PACs with open APIs.
#3. Minimum Odoo setup for DGI
The production-ready stack:
| Layer | Component | Notes |
|---|---|---|
| Base app | l10n_pa (community) | Chart of accounts, ITBMS, withholdings |
| EDI integration | l10n_pa_edi (Gold partner or OCA) | CUFE, XML DGI v1.5, PAC connector |
| EDI core | account_edi | Standard Odoo flow |
| Reports | account_reports (Enterprise) | Monthly ITBMS filing |
Under Settings → Companies: country Panama, currency USD (with PAB as alternative pegged 1:1), Panama fiscal localization, your RUC, and tax regime SMB or General. Under Accounting → EDI: pick the PAC, set its endpoint, upload the PKCS#12 (.p12) certificate from your CA, and toggle between test and production modes.
Odoo 17+ ships automatic rollback on DGI rejection: the invoice stays in Draft and does not block the AR flow. Local partners recommend running the flow for 2 to 3 weeks before production cutover — critical during the bridge window when CFEG and Odoo run in parallel.
When Odoo fits, and when to walk away
#1. SMB with USD 50K to USD 2M revenue, services or retail
Fits. This is Odoo's sweet spot in Panama. Typical case: a boutique in Costa del Este with USD 300,000 a year, 250–400 invoices per month, one warehouse, one bank account, 2–3 users. Standard Odoo + l10n_pa + FacturaloPa PAC handles it. Implementation: 4–6 weeks, USD 3,500 to 5,500.
#2. Importer or wholesaler in the Colón Free Zone
Works with extra setup. The Free Zone has a special regime: goods are exempt from ITBMS while inside the zone, and the tax kicks in on exit. You need:
- Custom tax mappings (zone vs domestic).
- Multi-warehouse setup (zone + national).
- Customs declaration (DAU) — Odoo's customs module does not fully cover it.
- Integration with the Customs PA-EXPO system for exports.
Longer implementation: 8–12 weeks, USD 8,000 to 15,000. You need a partner with real Free Zone experience, not the first freelancer who answers your call.
#3. Banking, fintech, payment processor
Walk away unless you bring specific preparation. The financial sector falls under Superintendencia de Bancos with hard rules: multi-entity consolidation, BCP reporting (Basel III), AML/KYC integration with COSO framework. Odoo Enterprise can do it on paper, but banks usually run SAP S/4HANA or Oracle Fusion. Project size: USD 250,000 and up, 9 to 18 months. Not SMB territory.
#4. Canal-related logistics, multi-vessel tracking
Custom build, not shrink-wrapped Odoo. Canal logistics demands AIS data integration, toll calculation per PCUMS (Panama Canal Universal Measurement System), and multi-currency contracts (USD primary, but contracts in EUR or JPY with Asian clients). 40% to 60% of features are written from scratch. Project budget: USD 50,000 to 150,000, 4 to 8 months. Premium tier, not your first Panama gig.
#5. Micro-SMB with revenue under USD 36,000
Odoo is overkill. If you are under the CFEG threshold, stay on DGI's free tool. Once you cross USD 36,000 a year or 100 invoices a month, then migrate. A premature Odoo rollout for a business with 30 invoices a month means USD 3,000–5,000 that takes 3 to 5 years to recover.
Typical mistakes during 2026 migration
#1. "I'll wait until the last minute and hire someone"
What happens: the owner gets the DGI notice in February, postpones to summer. By May the partner market is saturated — 18,000 taxpayers migrate at the same time, prices climb 30% to 50%, and the queue at Hermec or PSDC stretches to 2 or 3 months.
Consequence: deadline missed. First fine of USD 500 to 2,000. Repeat offense in 90 days: USD 5,000 to 10,000. Forced RUC closure for serious cases.
What to do: migrate before the end of Q2 2026. Ideal window: March or April.
#2. Picking the PAC on price, not on API
What happens: the cheapest PAC wins the contract (USD 0.04 per document vs USD 0.08 from competitors). Six months in, the team discovers the cheap PAC ships a closed API, no webhooks, no sandbox, and support that replies in 3 days.
Consequence: vendor lock-in for 2 to 3 years, because moving to another PAC means a fresh integration of USD 3,000 to 5,000.
What to do: before signing, ask the PAC:
- Does it offer a REST API with public documentation?
- Is there a sandbox for testing?
- Is there a status-change webhook?
- What is the response SLA? (Normal: under 30 seconds.)
- What happens during a PAC outage? Is there failover?
#3. Using community l10n_pa without validating historical data
What happens: the team installs Odoo, activates community l10n_pa, and the test invoice clears. Three weeks later, the first ITBMS filing fails to match prior CFEG data.
Consequence: manual reconciliation of 200+ invoices, recalculation, possible ITBMS overpayment, and a late-filing fine.
What to do: run a historical data check before cutover. Pull the last 3 months from CFEG, import them into Odoo, run the ITBMS report, and compare. Diagnose any discrepancies before switching operations.
#4. Ignoring withholding taxes on non-residents
What happens: the company contracts services from the US or EU (Stripe, AWS, Notion) and nobody configures ISR withholding. A year later, DGI surfaces USD 30,000 to 80,000 in unpaid withholdings.
Consequence: reassessment plus a 2× penalty plus interest. For an SMB this can exceed annual profit.
What to do: turn on account_tax_withholding in Settings and configure per-country mappings (12.5% ISR for non-resident services, 6% for residents in certain categories). Cross-check with your accountant — mandatory: ISR is the leading source of DGI audit reassessments.
#5. No XML backup strategy
What happens: the owner assumes "Odoo Online stores my data, we're fine." Four years later, DGI requests the 2026 XML archive — and Odoo Online has retained only PDFs; the XML aged out under retention policy.
Consequence: no way to prove the invoices, full AR history must be reconstructed, fine for unsupported records.
What to do: set up an automated weekly XML export to an S3 or GCS bucket. Every top-tier PAC offers a bulk download API. Create a cron job in Odoo that every Friday exports XML + CUFE to external storage. The 5-year retention is a hard DGI requirement.
Anonymous case: SMB in Panama City — migrated in 5 weeks
Situation: an electrical-supply distributor with an office in Obarrio and a warehouse in Tocumen. Revenue USD 850,000 a year, 380 invoices a month, 6 employees. Before 2026 the team used DGI's Facturador Gratuito plus Excel for internal control. In January 2026 they received the DGI notice for exceeding CFEG limits.
Week by Week, here is what the team did:
- Week 1. Process audit. We found three Excel files running parallel bookkeeping. The ITBMS filing was assembled manually from CFEG in 4 to 6 hours every month.
- Week 2. Stack selection: Odoo 17 Community +
l10n_pa+ FacturaloPa PAC (USD 0.06 per document). The CA certificate was requested in the first available slot — 5 business days. - Week 3. Setup. Imported customers (412 records), products (1,850 SKUs), and opening balances. Configured ITBMS mappings at 7%, 10%, and 15%.
- Week 4. Parallel operation: invoicing in both systems (CFEG + Odoo) for cross-check. We found a USD 1,200 difference from tax-base rounding and corrected it.
- Week 5. Cutover. 100% of operations moved to Odoo. The ITBMS filing now ships in 5 minutes with a single click, not 4 hours.
Results:
- Implementation cost: USD 4,200 (5 weeks at partner rates).
- Recurring: USD 130/month Odoo Online plus USD 22.80/month PAC (380 × USD 0.06).
- Time saved: 4 to 6 hours a month × USD 50/hour accountant rate = USD 200 to 300 a month.
- ROI: break-even at 14 to 16 months on time savings. Plus avoided a potential USD 500 to 2,000 non-compliance fine.
- Qualitative bonus: a clean database — the foundation for future BI layers (Tableau, Looker) and pricing intelligence work.
"It wasn't just the system that changed. The team's relationship with the numbers changed: it stopped being a monthly black box and became something live."
The pattern repeats across dozens of cases. If this sounds familiar, review the CFEG → PAC migration checklist and the Odoo audit framework.
Partner pricing in Panama tracks demand. In Q1 2026, average hourly rates ran USD 80 to 110; by Q3 we expect USD 120 to 160 — 30% to 50% higher purely on calendar pressure. Every week you delay a migration call turns into dollars you will not get back.
Conclusion: Panama is a narrow window for SMBs
Panama's Odoo market is one of the most attractive in the region. Dollarization removes FX risk. The services-led economy produces sophisticated buyers. And the 2026 regulatory deadline drives mass demand for serious integration work. With only two Gold partners in country, there is real room for tier-2 partners with a modern approach.
If you own an SMB: do not wait for the DGI letter. Run a readiness audit between May and June 2026 — that gives you a 3 to 4 month buffer before the peak audit cycle. You save USD 2,000 to 5,000 on implementation (Q3 prices rise on saturation) and dodge the fine.
If you are an accountant or finance lead: 80% of your Panama client portfolio must migrate. That is your cross-sell window — before a competing consultancy takes it.
Sergei Filatov, founder of data-metrics.pro, helps LATAM SMBs adopt Odoo with a data-first mindset. Focus: compliance migrations (SUNAT, SII, DGI), pricing intelligence (Estée Lauder and Leroy Merlin cases), and computer vision for retail and QSR (Dodo Pizza case). More about the author on the about page.
Want a second opinion on your situation? Book a 30-minute audit — we review the current stack, evaluate the migration roadmap, and deliver a written report in 5 business days.
Related material:
- Odoo audit — readiness framework
- Odoo implementation — launch methodology
- Odoo project rescue — when an implementation went wrong
- Country profile: Panama
- Odoo in Costa Rica — neighboring jurisdiction
- Odoo in Mexico — the largest LATAM market
- Odoo in Peru — Hacker Sergio's home base
- DGI Panama: electronic invoicing in Odoo step by step
- CFEG → PAC migration checklist
Frequently asked questions about Odoo in Panama
What is CFEG and why is DGI pulling it from larger SMBs?
CFEG (Comprobante Fiscal Electrónico Gratuito) is DGI's free online invoicing tool, originally launched for micro-businesses. From January 1, 2026, only taxpayers with revenue ≤ USD 36,000 per year and ≤ 100 documents per month can still use it.
Everyone else must migrate to a PAC or a certified in-house system. DGI estimates the migration will affect about 18,000 taxpayers during 2026.
How much does a PAC cost in Panama?
Between USD 0.04 and USD 0.10 per document, depending on provider and volume. The three most-used open-API PACs are FacturaloPa, The Factory HKA, and Nube Pago. Monthly fixed fees range from USD 25 to USD 120 by tier.
For an SMB issuing 300 to 500 invoices a month, the total lands at USD 30 to 80 per month.
Does community Odoo cover every DGI 2026 requirement?
No. Community l10n_pa gives you the chart of accounts, ITBMS, and basic withholdings. But CUFE generation, the QR code, the DGI Schema v1.5 XML serializer, and real-time PAC integration are add-ons from a Gold Partner or a commercial OCA module.
Extension budget: USD 1,500 to 3,500, one-time.
What are the non-compliance fines in 2026?
DGI publishes a range of USD 500 to USD 10,000 for repeat offenses. The first infraction typically lands at USD 500 to 2,000. Serious evasion can trigger RUC closure and criminal proceedings for tax evasion.
Q3 and Q4 of 2026 are likely to bring the first high-profile audits aimed at public communication.
Is Odoo Online enough, or do I need on-premise?
Odoo Online (Odoo S.A.'s SaaS) works for a standard SMB. Odoo.sh or on-premise is for teams handling sensitive data (banking, fintech, legal) or needing kernel-level modifications.
Odoo Online cost: USD 25 to 60 per user per month. Self-hosted: USD 200 to 500 a month in infrastructure plus USD 500 to 1,500 setup.
Does Odoo work for the Colón Free Zone?
Yes, but with extra setup. You need multi-warehouse (zone + national), custom tax mappings (zone-free vs ITBMS applicable), and integration with the Customs DAU system.
Implementation is longer (8 to 12 weeks) and more expensive (USD 8,000 to 15,000). And you need a partner with real Free Zone experience, not the first freelancer who answers.
How long does an Odoo migration take?
SMB segment (USD 50K to 2M revenue, simple structure): 3 to 7 weeks. Mid-market (multiple entities, multi-warehouse): 8 to 14 weeks.
Enterprise (with Free Zone, multi-currency contracts, custom flows): 4 to 8 months. The factor that drags timelines is not Odoo setup — it is historical data cleanup and the parallel run period.
Can I switch PAC providers later if mine underperforms?
Technically yes, but it requires a fresh integration of USD 3,000 to 5,000 and 4 to 8 weeks of work. That is why picking right at the start matters.
Before signing, validate three points with the PAC: REST API with public documentation, a sandbox for testing, and a contractual SLA for response time under 30 seconds.
