Odoo & Coretax: Tax Invoices Without the Double Work
With desktop e-Faktur retired and Coretax now the single DJP channel, here is how invoice data flows from Odoo into Coretax without re-keying.
Since 1 January 2025, Coretax has been the single DJP platform, replacing e-Faktur, e-Nofa, e-Filing, e-Form, and DJP Online. That changes how you create and report tax invoices — and businesses running Odoo need to understand how their sales data now reaches Coretax without duplicate work.
This article explains the flow in business terms: what changed, where the risks are, and how a clean integration saves your finance team time.
What actually changed
Previously, many teams exported data from their accounting system and re-typed or re-uploaded it into the desktop e-Faktur app. That app has been retired. All tax-invoice creation and reporting now moves through Coretax, which is fully web-based and supports data exchange through both file upload and a system interface (API).
The consequence for your business is simple but important: your invoice source of truth — Odoo — has to stay consistent with the format Coretax expects. Otherwise invoices can fail validation, which delays recognised revenue and creates rework for your team.
Why relying on manual entry is expensive
Entering an invoice twice — once in Odoo, once in Coretax — looks trivial for a handful of transactions. But across dozens or hundreds of invoices a month, the cost compounds:
- Staff time spent copying data instead of analysing it.
- Typo risk in NPWP, amounts, or goods/service codes that gets invoices rejected.
- Mismatches between the accounting records and what is reported to tax, which makes reconciliation and audits harder.
The larger the business, the larger this hidden "tax" of manual hours becomes.
How the ideal flow works
With the right integration, Odoo becomes the single source of truth and Coretax receives clean data. In broad strokes:
- The transaction is recorded once in Odoo — the customer invoice is created as usual in your sales process.
- Data is shaped to the Coretax format — customer identity (including the 16-digit NPWP), transaction codes, and line details are mapped to the DJP schema.
- The invoice is sent to Coretax — via structured file upload or a system connection — and the returned tax-invoice number is stored back in Odoo for your records.
- Reconciliation becomes easy — because the accounting figures and the tax report come from the same records.
The result: finance stops re-typing, invoices are rejected less often, and every tax invoice has a trail back to its transaction.
What to prepare first
Integration is not a magic button. Before connecting Odoo to Coretax, make sure the foundations are ready:
- Clean master data — customer NPWPs already in 16-digit format and consistent goods/service records. Invoices are most often rejected because of messy master data.
- Correct transaction-code mapping for the types of sales you make.
- Testing in a separate environment before using it for production invoices, so a configuration mistake never hits your official reports.
The next step for your business
If your business runs Odoo and still copies invoices into Coretax by hand, the savings are real — in both time and compliance risk. Start by assessing how clean your master data is, then design an integration flow that fits your transaction volume and types.
Want to map the Odoo–Coretax flow for your business? See our integration services or contact the Keyklik team.
Note (DYOR — Do Your Own Research): This article is general information, not tax, legal, or technical advice. Coretax rules and formats can change. Always verify against official sources (DJP/Coretax at pajak.go.id, Odoo documentation) and consult your tax advisor or implementation partner before applying this to your business.