Skip to main content

Odoo Indonesia Localization 2026: Pajak, e-Faktur & NPWP Setup

Configure Odoo for Indonesia compliance: l10n_id chart, DJP Coretax e-Faktur, PPN 12%, NPWP 16-digit, PPh 21/23/4(2), BPJS payroll.

E
ECOSIRE Research and Development Team
|May 4, 202610 min read1.9k Words|

Indonesia's tax framework is governed by the Directorate General of Taxes (Direktorat Jenderal Pajak, DJP) under the Ministry of Finance.

Indonesia's tax framework is governed by the Directorate General of Taxes (Direktorat Jenderal Pajak, DJP) under the Ministry of Finance. The country runs a sophisticated VAT system (PPN) with mandatory e-invoicing through the e-Faktur platform — every Pengusaha Kena Pajak (PKP, taxable entrepreneur) must issue tax invoices via DJP's e-Faktur application or through the Coretax platform that began rolling out in 2025. Odoo's l10n_id localization handles the chart of accounts and PPN structure, but e-Faktur integration requires a connector that exchanges data with DJP's APIs.

Key Takeaways

  • Directorate General of Taxes (DJP) administers PPN (VAT), PPh (income tax), and PBB (property tax)
  • PPN standard rate increased to 12% effective 1 January 2025 per HPP Law (UU 7/2021)
  • Mandatory e-Faktur for all PKPs; Coretax DJP system replacing legacy e-Faktur progressively from 2025
  • NPWP (16-digit Tax ID) required for all transactions with PKP entities
  • Odoo l10n_id covers PSAK chart of accounts; e-Faktur integration requires custom connector
  • Withholding tax (PPh 21, 23, 4(2), 26) requires multiple tax codes per supplier type
  • Statutory reports include SPT Masa PPN (monthly), SPT Tahunan PPh (annual), and PPh 21/23 returns

Indonesia Tax Framework Overview

The DJP enforces a tiered tax system. PPN (Pajak Pertambahan Nilai) is the value-added tax, administered alongside Sales Tax on Luxury Goods (PPnBM). Income taxes split into corporate (PPh Badan, generally 22%) and several withholding regimes:

  • PPh 21: Withholding on employee compensation (progressive)
  • PPh 23: Withholding on services, rentals, royalties to domestic taxpayers (2% or 15%)
  • PPh 4(2): Final withholding tax on specific transactions like land/building lease (10%) or construction services (1.75% to 6%)
  • PPh 26: Withholding on payments to foreign entities (20% or treaty rate)

The Harmonised Tax Law (Undang-Undang Harmonisasi Peraturan Perpajakan, UU HPP No. 7/2021) raised PPN from 10% to 11% in April 2022 and to 12% in January 2025 — confirm the current rate in any new deployment, as the government has signaled selective application of the 12% rate to luxury goods only in some recent press statements.

Required Odoo Localization Modules

ModulePurposeEdition
l10n_idIndonesia chart of accounts (PSAK-aligned)Community
l10n_id_efakturE-Faktur CSV export for DJP applicationEnterprise
l10n_id_efaktur_coretaxCoretax DJP integration (where available)Enterprise / Custom
account_reportsTax report engineEnterprise
hr_payroll_l10n_idPPh 21, BPJS Kesehatan, BPJS KetenagakerjaanEnterprise / Custom

Odoo's Enterprise localization includes an e-Faktur module that exports a CSV file compatible with DJP's e-Faktur desktop application. With the Coretax DJP rollout, the workflow is shifting to API-based submission, and custom connector development may be required during the transition period.

Chart of Accounts Setup

Indonesia uses Pernyataan Standar Akuntansi Keuangan (PSAK), aligned with IFRS. The l10n_id chart provides the standard structure:

  • 1-1xx: Current assets (cash, receivables, inventory)
  • 1-2xx: Non-current assets (fixed assets, intangibles)
  • 2-1xx: Current liabilities (payables, tax payables)
  • 2-2xx: Long-term liabilities
  • 3-xxx: Equity
  • 4-xxx: Revenue
  • 5-xxx: Cost of revenue
  • 6-xxx through 8-xxx: Operating expenses
  • 9-xxx: Other income/expenses

Configure the company record with NPWP (16 digits since 2024, formerly 15), NIK or NIB (business identification), KLU code (business classification), and DJP-registered address. The 16-digit NPWP for individuals matches the NIK; for entities it uses a "0" prefix structure.

PPN Configuration

Configure PPN tax records under Accounting > Configuration > Taxes:

Tax NameRateTypeNotes
PPN Keluaran 12%12%SalesStandard output VAT
PPN Keluaran 11%11%SalesIf reverted/grandfathered
PPN Masukan 12%12%PurchaseDeductible input VAT
PPN 0% Ekspor0%SalesExports
PPN Dikecualikan0%SalesExempt (food staples, education, health)
PPnBM Variabel10-95%SalesLuxury goods (cars, real estate above threshold)

Note that PPN input must be linked to a Faktur Pajak (tax invoice) from a PKP supplier. Non-PKP supplier purchases do not generate creditable input VAT. Configure the supplier record with the PKP flag to determine tax behavior.

E-Faktur and Coretax Integration

Every PKP must issue a Faktur Pajak Elektronik (electronic tax invoice) for taxable transactions. The Faktur Pajak number consists of:

  • Status code (e.g., 010 for normal sale)
  • Two-digit issuance year
  • Eight-digit serial number from a NSFP (Nomor Seri Faktur Pajak) batch obtained from DJP

Until end-2024, the workflow used DJP's e-Faktur desktop application with a CSV import from the ERP. Odoo's l10n_id_efaktur module produces this CSV with all required columns (FK, LT, OF for invoice headers; FAPR, FK detail rows for line items).

The Coretax DJP system, launched in January 2025, replaces the desktop e-Faktur with a web-based platform offering API-based invoice submission. New deployments should plan for Coretax integration directly. Custom Odoo modules connecting to Coretax APIs typically handle:

  • Invoice push with NSFP allocation
  • Invoice approval status retrieval
  • Cancellation and replacement workflows
  • VAT input claim documentation linking
<record id="account_tax_ppn_keluaran_12" model="account.tax">
    <field name="name">PPN Keluaran 12%</field>
    <field name="amount">12</field>
    <field name="amount_type">percent</field>
    <field name="type_tax_use">sale</field>
    <field name="l10n_id_kode_jenis_transaksi">01</field>
    <field name="invoice_repartition_line_ids" eval="[
        (0,0,{'factor_percent': 100, 'repartition_type': 'base'}),
        (0,0,{'factor_percent': 100, 'repartition_type': 'tax', 'account_id': ref('ppn_keluaran_account')})
    ]"/>
</record>

Withholding Tax Configuration

Indonesia's withholding system is extensive. Configure the most common codes:

CodeDescriptionRateWhen Applies
PPh 23 - ServicesServices to domestic taxpayer2%Most service vendors
PPh 23 - Rent (non-property)Equipment rentals2%Equipment lease
PPh 23 - RoyaltyRoyalty payments15%IP licensing
PPh 4(2) - Land/BuildingProperty lease10%Office rental
PPh 4(2) - ConstructionConstruction services1.75% to 6%Construction contractors
PPh 26Payments to foreign20% (or treaty)Cross-border services

Each code is configured as a purchase tax with a negative impact creating a payable to DJP. The Bukti Potong (withholding certificate) must be issued to suppliers, and Coretax now handles digital Bukti Potong issuance.

Payroll Considerations

Indonesia payroll requires PPh 21 (employee withholding tax) and BPJS contributions:

ItemEmployeeEmployerCap/Notes
BPJS Kesehatan1%4%Cap IDR 12M/month base
BPJS Ketenagakerjaan - JHT2%3.7%Old age savings
BPJS Ketenagakerjaan - JKKN/A0.24-1.74%Work accident, by industry
BPJS Ketenagakerjaan - JKMN/A0.3%Death benefit
BPJS Ketenagakerjaan - JP1%2%Pension, capped
PPh 21Per progressive scaleN/AMonthly TER from 2024

PPh 21 calculation changed in January 2024 with the introduction of Tarif Efektif Rata-rata (TER) — average effective rates simplifying monthly computation. Annual reconciliation still uses the standard progressive brackets (5%, 15%, 25%, 30%, 35%).

Reporting Requirements

Statutory reports a Indonesia Odoo deployment must produce:

  • SPT Masa PPN (Form 1111): Monthly VAT return
  • SPT Tahunan PPh Badan (Form 1771): Annual corporate income tax return
  • SPT Masa PPh 21: Monthly employee withholding tax
  • SPT Masa PPh 23/26: Monthly withholding return for services and foreign payments
  • SPT Masa PPh 4(2): Final withholding tax monthly report
  • PSAK Financial Statements: Statutory annual financial reports

Reports are submitted via DJP Online (djponline.pajak.go.id) or through Coretax DJP.

Implementation Checklist

  1. Obtain NPWP (16-digit) and PKP confirmation if VAT-registered
  2. Apply for NSFP (Faktur Pajak serial number batch) from DJP
  3. Install l10n_id, configure company NPWP, NIB, KLU, address
  4. Verify PSAK chart of accounts; add sub-accounts as needed
  5. Configure PPN 12% (and 11% for grandfathered transactions if applicable)
  6. Configure all PPh withholding codes with correct rates
  7. Build e-Faktur CSV export OR Coretax API connector
  8. Configure payroll with BPJS rules and PPh 21 TER tables
  9. Build SPT Masa PPN report mapped to Form 1111 layout
  10. Test parallel for one tax period before live submission

Common Pitfalls

Using legacy 11% rate in 2025 onward: Many ERPs were configured at 11% in 2022 and never updated. The 12% rate applies from 1 January 2025 — verify all tax codes.

Wrong NSFP batch usage: NSFP serials must be used in order. Skipping or duplicating numbers blocks invoice submission via Coretax.

Missing PPh 21 TER tables: Pre-2024 Odoo configurations use the old monthly-recalc method. The TER simplification changed monthly withholding logic — update salary rules.

Treating non-PKP purchases as VAT-claimable: Only PPN paid to PKP suppliers with valid Faktur Pajak is creditable. Tag non-PKP suppliers in vendor records.

Faktur Pajak status codes: Status code 04 (special transaction), 06 (other), 07 (PPnBM applicable), and 08 (export) have different tax treatment. Hard-coding 010 everywhere causes filing errors.

ECOSIRE provides Odoo localization for Indonesia, including Coretax DJP integration and BPJS-compliant payroll. Contact us for implementation or learn about our Odoo migration services.

Frequently Asked Questions

Has the PPN rate definitively moved to 12% in 2026?

The HPP Law (UU 7/2021) mandated 12% from 1 January 2025. Government statements in late 2024 suggested possible carve-outs limiting 12% to luxury goods, but the legal framework requires 12% as the standard rate unless a Government Regulation amends the schedule. Most Odoo deployments now use 12% as the default with category-specific overrides where applicable.

Should we use legacy e-Faktur or Coretax DJP?

Coretax DJP is the long-term replacement and went live in January 2025. New deployments should plan for Coretax API integration. The legacy desktop e-Faktur application is being phased out, and the CSV import path (which Odoo's standard module supports) will eventually deprecate. Custom Coretax connectors are now standard for new Odoo Indonesia projects.

Does Odoo handle the PPh 21 TER calculation correctly?

Odoo Enterprise's payroll localization for Indonesia has been updated for the TER methodology, but verify the bracket tables match the latest PMK (Ministry of Finance Regulation). Annual recalculation still uses progressive rates, so December payroll runs both monthly TER and full-year reconciliation in the same period.

What is the difference between PPh 23 and PPh 4(2)?

PPh 23 is a creditable withholding tax — the supplier can offset it against their annual income tax. PPh 4(2) is a final tax — the withheld amount is the supplier's full liability for that transaction. The distinction affects how Odoo records the journal: PPh 23 hits a withholding tax payable account, while PPh 4(2) is treated as a definitive tax expense on the supplier's side.

Can Odoo Community handle Indonesian e-invoicing?

Odoo Community with l10n_id covers basic chart and taxes. The e-Faktur CSV export module is in Enterprise. Coretax integration is custom development regardless of edition. Most production deployments choose Enterprise for the reporting engine and add a partner-built Coretax connector. ECOSIRE has built such connectors for both editions.

E

Written by

ECOSIRE Team

Technical Writing

The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.

ECOSIRE

Transform Your Business with Odoo ERP

Expert Odoo implementation, customization, and support to streamline your operations.