Skip to main content
ERPNext Indonesia Localization (e-Faktur) — A build-to-order ERPNext localization app for Indonesia covering PPN (VAT) with e — 1/1Illustrative preview

A build-to-order ERPNext localization app for Indonesia covering PPN (VAT) with e-Faktur data,

PPh withholding tax categories, NPWP fields, and Coretax/DJP-aligned reporting.

ECOSIRE scopes, builds, installs, and supports it for your instance.

What is ERPNext Indonesia Localization (e-Faktur)?

A build-to-order ERPNext localization app for Indonesia covering PPN (VAT) with e-Faktur data, PPh withholding tax categories, NPWP fields, and Coretax/DJP-aligned reporting. ECOSIRE scopes, builds, installs, and supports it for your instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated `e-Faktur` DocType linked one-to-one to Sales Invoice, storing NPWP, transaction code, Faktur Pajak serial (NSFP), and DJP status
NPWP and NIK custom fields on Customer, Supplier, and Company with a modulus check-digit validation in a server-side `validate` doc event plus client-script format masking
PPN (VAT) configured via Item Tax Templates and Tax Categories so the prevailing output/input rate applies automatically by item and party
PPh withholding driven by extended Tax Withholding Categories with Indonesian rate schedules and object codes for PPh 21/22/23/26/4(2)
e-Faktur export (CSV/XML) generated by whitelisted methods in the layout your KPP, e-Faktur client, or Coretax upload expects
PPN output/input recap and PPh withholding recap as Query/Script Reports filterable by tax period and company
`hooks.py` `doc_events` that keep the e-Faktur record synced with Sales Invoice on submit and cancel/void
Scheduler event that flags submitted invoices missing an assigned Faktur Pajak number before period close
Frappe REST API endpoints and `@frappe.whitelist()` methods so middleware or a host-to-host provider can push/pull tax data
NSFP (serial number range) tracking so issued Faktur numbers are allocated in sequence and gaps are auditable
Bilingual (Bahasa Indonesia / English) Print Formats for the commercial invoice and Faktur Pajak
Dedicated ERPNext role profile (e.g. 'Indonesia Tax') and permission rules restricting who can issue or void Faktur numbers
PKP status flags on Company and party masters to control when VAT and e-Faktur logic applies
Packaged as a standard installable Frappe app (own module, fixtures for tax categories) compatible with ERPNext v15 and v16

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

Indonesian finance teams running ERPNext hit the same wall every filing period: core ERPNext gives you flexible Item Tax Templates and Tax Withholding Categories, but it has no concept of an e-Faktur (Faktur Pajak elektronik), no NPWP master data with a check-digit validation, no split between PPN output/input tracking the way DJP expects, and no export shaped for Coretax or the older e-Faktur desktop/host-to-host formats. Accountants end up re-keying invoice data into government tools, reconciling PPh 21/23/26/4(2) withholding by hand in spreadsheets, and hoping the manually assembled Faktur Pajak numbers line up with the DJP-issued NSFP ranges. That gap is exactly where a native ERPNext app is needed rather than a workaround.

ECOSIRE builds a proper Frappe app (its own module, DocTypes, and hooks.py) that lives inside your ERPNext instance instead of bolting on external scripts. We add an e-Faktur DocType that links one-to-one to Sales Invoice and captures the buyer NPWP, transaction code, Faktur Pajak serial (NSFP), and status, plus custom fields on Customer, Supplier, and Company for npwp, nik, and PKP flags. NPWP entry is validated by a client script for format and by a server-side validate doc event for the modulus check, so bad tax IDs never reach a posted invoice. PPN is configured through Item Tax Templates and Tax Categories so the correct 11% (or prevailing) output/input VAT applies automatically, while PPh withholding is driven by ERPNext's Tax Withholding Category extended with the Indonesian rate schedules and object codes.

Technically, the reporting layer is the part that saves the most time. We build whitelisted server methods (@frappe.whitelist()) and Query/Script Reports that assemble the e-Faktur output (CSV/XML in the layout your KPP or Coretax upload expects) and the PPN and PPh withholding recaps, all filterable by tax period and company. hooks.py doc_events keep the e-Faktur record and the Sales Invoice in sync on submit and cancel, a scheduler event can flag invoices missing a Faktur number before period close, and the endpoints are reachable over the Frappe REST API so a middleware or the DJP host-to-host channel can pull data programmatically. Access is governed by ERPNext permissions and a dedicated role profile (for example an "Indonesia Tax" role) so only finance staff can issue or void Faktur numbers, with the standard audit trail on every document. Print Formats deliver a bilingual (Bahasa Indonesia / English) commercial invoice and Faktur Pajak layout.

Because this is build-to-order, you are not downloading a generic marketplace app and forcing your process into it. We start with a short scoping call to confirm your transaction types, PPh objects, NSFP handling, and whether you file via Coretax, the e-Faktur client, or a host-to-host provider. We then build against your Frappe/ERPNext v15 or v16 version, test on a staging copy of your data, run UAT with your accountant, and deploy to production with a rollback plan. Typical delivery is one working week from confirmed scope. You receive the full source in a Git repository, so the app is yours to keep, audit, and extend.

What you get

  • Installable source code for your version as a standard Frappe app (module, DocTypes, fixtures)
  • Installation and configuration on your instance, including tax categories, role profile, and custom fields
  • Technical documentation: DocType schemas, hooks/doc-events, whitelisted API methods, and report definitions
  • User guide plus a live training session for your finance/accounting team
  • UAT on a staging copy of your data with sign-off, and a documented rollback plan
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history so the app is yours to keep and extend
  • Sample e-Faktur / Coretax export files validated against your KPP or provider format

Who this is for

Indonesian tax accountant (Akuntan Pajak)

Manages monthly PPN and PPh filings and reconciles e-Faktur against Sales Invoices. Needs NPWP validation, correct object codes, and a period recap that ties out to the DJP submission without manual spreadsheet work.

Finance manager at a PKP company

A registered taxable enterprise (PKP) that must issue Faktur Pajak for every taxable sale. Needs controlled NSFP allocation, audit trail on who issues or voids Faktur numbers, and confidence that no submitted invoice is missing its tax record.

ERPNext system administrator / implementation partner

Owns the ERPNext instance on v15/v16 and wants a clean, installable Frappe app with documented DocTypes, hooks, and REST endpoints rather than ad-hoc customizations that break on upgrade.

Multi-entity CFO or group controller

Oversees several Indonesian legal entities in one ERPNext instance and needs company-scoped PPN/PPh reporting, PKP flags per company, and Coretax-aligned exports produced consistently across entities.

How ERPNext Indonesia Localization (e-Faktur) Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Indonesia tax fit (PPN + PPh + e-Faktur)Built to your exact PPN/PPh objects and e-Faktur/Coretax formatPossible but you specify and test everything yourselfGeneric feature set, may not match current DJP formatNo e-Faktur or NPWP concept at all
NPWP validationFormat masking + server-side modulus check on validateOnly if your developer builds itOften a plain text field, no check-digitNot present
e-Faktur / Coretax exportWhitelisted methods produce your KPP/Coretax layout, validated in UATYou design and verify the export mappingFixed format that may lag DJP changesManual re-keying into government tools
ERPNext v15/v16 compatibilityBuilt and tested against your running versionDepends on your team's version disciplineWhatever the maintainer targets; may lagCore only, no localization
Source code ownershipFull Git repository handed over, yours to keepYou own it but also fund all of itUsually licensed, not full sourceN/A
Delivery model & timeBuild-to-order, one working week from confirmed scopeWeeks to months depending on hiring/backlogInstant install but generic fitImmediate but no localization
Support & post-go-liveIncluded support window + optional ongoing supportYou carry all maintenanceVendor SLA varies, may be community-onlyNo tax-specific support
Upgrade safetySeparate app, own DocTypes/hooks, no core patchesRisk depends on how it was builtVaries; some overwrite core behaviorNot applicable

Frequently Asked Questions about ERPNext Indonesia Localization

Is this an existing app I can download and install myself?

No. This is a build-to-order product. ECOSIRE builds the Frappe app against your specific ERPNext version and tax configuration, tests it on your staging data, and installs it for you. There is no instant self-service download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline depends on how many transaction types, PPh objects, and export formats (Coretax, e-Faktur client, or host-to-host) you need. We confirm the exact schedule after the scoping call.

Which ERPNext versions are supported?

We build for Frappe/ERPNext v15 and v16. We target your running version so the app installs cleanly with `bench get-app` / `bench install-app` and passes migration without touching core files.

How do updates and support work after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full Git repository, your team can maintain and extend the app independently, and we offer ongoing support or version-upgrade work as a separate arrangement.

Does it generate files I can upload to Coretax or the e-Faktur system?

Yes. We build the export (CSV/XML) in the layout your KPP, the e-Faktur client, or Coretax expects, and validate sample files against your target format during UAT. Where you use a host-to-host provider, the data is also exposed via whitelisted REST endpoints.

Will it modify ERPNext core or break on upgrade?

No. It ships as a separate Frappe app using its own module, DocTypes, custom fields, and `hooks.py` doc events. It does not patch core, so ERPNext upgrades within the supported major version remain safe.

Can it handle multiple Indonesian legal entities in one instance?

Yes. PKP status and NPWP are set per Company, and the PPN and PPh recaps plus e-Faktur exports are company-scoped, so a group can run several entities in one ERPNext instance and report each separately.

Request a quote

ERPNext Indonesia Localization

A build-to-order ERPNext localization app for Indonesia covering PPN (VAT) with e-Faktur data, PPh withholding tax categories, NPWP fields, and Coretax/DJP-aligned reporting. ECOSIRE scopes, builds, installs, and supports it for your instance.

  • Dedicated `e-Faktur` DocType linked one-to-one to Sales Invoice, storing NPWP, transaction code, Faktur Pajak serial (NSFP), and DJP status
  • NPWP and NIK custom fields on Customer, Supplier, and Company with a modulus check-digit validation in a server-side `validate` doc event plus client-script format masking
  • PPN (VAT) configured via Item Tax Templates and Tax Categories so the prevailing output/input rate applies automatically by item and party
  • PPh withholding driven by extended Tax Withholding Categories with Indonesian rate schedules and object codes for PPh 21/22/23/26/4(2)

Request a Quotation

Tell us about your ERPNext Indonesia Localization requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.