- e-commerce
- umkm
- engineering
- mvp
Indonesia PPN 11% for Business Websites: Coretax Guide 2026
PPN 11% compliance for Indonesian business websites: PKP thresholds, checkout tax display, Coretax e-Faktur readiness, and payment gateway integration pitfalls.

PPN 11% on a business website is not just a line on a receipt — it is a product, accounting, and engineering decision rolled into one. In August 2026, many Indonesian SMBs face efficiency pressure alongside clearer tax obligations: marketplaces withhold income tax automatically, while sales through an owned website demand clean records and, once you are a Taxable Entrepreneur (PKP), e-Faktur issuance through Coretax. This article explains how to prepare checkout flows, invoice data structures, and compliance workflows without hurting the customer experience — the approach we use when helping businesses in Nganjuk, East Java, and clients selling nationwide.
1. When an SMB Must Charge PPN on Its Own Website
The obligation to collect 11% PPN (Indonesia's value-added tax) does not appear simply because you own a domain. The core rules:
- Not yet a PKP (turnover below IDR 4.8 billion per fiscal year): you generally do not charge PPN to end customers. You still have income tax obligations — often 0.5% final SMB income tax if eligible.
- Registered as a PKP: you must charge PPN on taxable goods and services, issue tax invoices, and remit output PPN minus input PPN credits.
- Voluntary PKP registration: some businesses register early to credit input PPN on supplier purchases — relevant when margins are thin and operating costs are taxable.
The statutory 12% rate in law often causes confusion. For most goods and services, the government applies an 11/12 tax base (DPP nilai lain), so the effective rate customers pay remains 11%. Verify current policy at pajak.go.id before go-live, as fiscal rules can change.
Website implication: the "PPN" field at checkout should be toggleable, not permanently hardcoded. Businesses growing from marketplace-only to owned channels are often surprised when combined turnover nears the PKP threshold — while checkout infrastructure is still unprepared.
2. Marketplace Tax vs Sales on Your Own Website
Many sellers assume "tax was already deducted on Shopee, so my website is tax-free." Reality differs:
| Aspect | Marketplace (Shopee, Tokopedia, TikTok Shop) | Owned website |
|---|---|---|
| 0.5% final income tax | Often auto-withheld on withdrawals | You calculate and remit yourself (marketplace portion only on marketplace) |
| 11% PPN | Usually not shown per transaction to buyers (unless you are PKP with special mechanisms) | If PKP, must display and record per order |
| Transaction proof | Platform invoice | Invoice/receipt from your system |
| Data for tax returns | Seller dashboard reports + reconciliation | Order database + accounting export |
| Reconciliation | Weekly batch settlement | Per-transaction payment gateway settlement |
An owned website does not replace tax obligations — it adds a channel that requires data discipline. If you sell on marketplaces and build a hybrid channel strategy, track revenue per channel from month one. Combine figures only when assessing whether the PKP threshold has been crossed.
3. Coretax and e-Faktur: What Changed in 2026
Coretax is the DJP's unified tax administration portal — including e-Faktur issuance, e-Billing, and SPT filing. The legacy desktop e-Faktur app is no longer the primary path; PKPs access services through their Coretax account.
What product teams need to understand:
- e-Faktur is not a pretty PDF in email — it is an official document with a tax invoice serial number (NSFP) validated by the DJP system.
- Not every website order automatically becomes an e-Faktur — full tax invoices are typically for B2B transactions or buyers who need input tax credits. B2C retail often uses consolidated invoices or other mechanisms per applicable rules; consult a tax advisor for your business model.
- Data must be consistent: PKP name, NPWP (tax ID), address, DPP, PPN, goods/service description, transaction date.
Website engineering does not replace an accountant, but it provides clean data exportable to Coretax or accounting software (Accurate, Jurnal, Odoo, etc.). Minimum fields per PKP order: dpp_amount, ppn_amount, tax_status, buyer_npwp (optional), invoice_number, faktur_number (after issuance).
4. How to Display 11% PPN at Website Checkout
Two price modes must be supported from day one:
PPN-exclusive pricing (common for B2B):
Product subtotal IDR 1,000,000
PPN 11% IDR 110,000
Shipping IDR 25,000
Total IDR 1,135,000
PPN-inclusive pricing (common for B2C retail):
Displayed price IDR 1,000,000 (incl. PPN)
DPP (11/12) IDR 916,667
PPN 11% IDR 83,333
Classic mistake: applying 11% to a total that already includes shipping without separating taxable components. Shipping and service fees may have different treatment — do not assume one formula for every line item.
UX practices we recommend:
- Show the tax breakdown only when PKP status is active; for non-PKPs, avoid a confusing "PPN 0%" label — just show the final total.
- Store
price_mode(inclusive/exclusive) in shop configuration, not on every SKU, unless you run a mixed B2B/B2C catalog. - Round to whole rupiah per line; also store precise values in the database for audit.
- On success pages and emails, repeat the same breakdown as checkout — PKP buyers will compare against e-Faktur.
If you already integrate a payment gateway, ensure the gross_amount sent to Midtrans/Xendit exactly matches the PPN-inclusive total. A one-rupiah mismatch can cause webhook rejection.
5. Invoice Data Structure and Audit Archives
Tax-ready checkout stores more than total and status:
order:
id: "ORD-2026-0815-0042"
channel: "website"
pkp_status_at_checkout: true
subtotal_dpp: 916667
ppn_amount: 83333
shipping_dpp: 22523
shipping_ppn: 2477
grand_total: 1025000
buyer:
name: "PT Contoh Nusantara"
npwp: "01.234.567.8-901.000" # optional for B2C
tax_invoice:
faktur_number: null # filled after Coretax
issued_at: null
payment:
gateway: "midtrans"
settlement_at: "2026-08-15T14:22:00+07:00"
Benefits of this structure:
- Monthly export to your tax team without re-pulling from gateway dashboards.
- Reconciliation between "paid" orders and validated faktur.
- Evidence during audits — the DJP increasingly relies on consistent digital data across channels.
Retention: keep records per tax regulations (generally 10 years for related documents). Back up both PDF invoices and raw JSON payloads. This aligns with Indonesia's Personal Data Protection Law (UU PDP) — financial data is personal data when it contains buyer identity.
6. Payment Gateway Integration Without Miscalculation
Safe flow for PKPs:
- Backend calculates DPP + PPN + shipping before calling the payment API.
- Send the final
gross_amountto the gateway; do not let the frontend recalculate with JavaScript floating point. - Webhook
settlementupdates tax status — do not rebuild amounts from gateway callbacks (payloads often lack tax breakdown). - For partial refunds, calculate proportional DPP and PPN returned; do not issue flat refunds without documentation.
Example server-side pseudo-logic:
function calculateIndonesiaVat(lineItems: LineItem[], isPkp: boolean) {
if (!isPkp) {
const subtotal = lineItems.reduce((s, i) => s + i.qty * i.unitPrice, 0);
return { dpp: subtotal, ppn: 0, total: subtotal };
}
const dpp = lineItems.reduce((s, i) => s + i.qty * i.dppUnit, 0);
const ppn = Math.round(dpp * 0.11);
return { dpp, ppn, total: dpp + ppn };
}
Test scenarios: percentage discounts, free-shipping vouchers, failed split payments, and multi-product orders with different tax categories (if applicable).
7. Compliance Checklist Before Turnover Nears the PKP Threshold
Use this list when combined turnover (marketplace + website + offline) approaches IDR 4 billion — giving 2–3 months before mandatory PKP registration:
| Priority | Action | Owner |
|---|---|---|
| High | Track monthly revenue per channel in one spreadsheet or ERP | Finance |
| High | Consult a tax advisor on PKP registration | Finance |
| High | Add inclusive/exclusive price mode + tax fields to checkout | Engineering |
| Medium | Prepare CSV/JSON export for e-Faktur | Engineering |
| Medium | Ensure NPWP/NIB consistency across website, marketplaces, and OSS | Ops |
| Medium | Review whether your products are fully taxable or exempt | Finance |
| Low | Display "PKP" badge and NPWP in website footer | Marketing |
Do not wait for a registration letter to fix checkout. Migrating thousands of SKUs mid-peak season costs far more than a tax_enabled feature flag activated gradually.
8. Decision Table: Non-PKP, PKP, and Marketplace Seller
| Business profile | Show PPN on website? | Coretax e-Faktur? | Engineering focus |
|---|---|---|---|
| Non-PKP SMB, turnover < IDR 4.8B | No | No | Simple invoice + revenue archive |
| SMB approaching threshold | Prepare, not yet customer-facing | Not yet | Turnover monitoring + data structure |
| PKP, B2C retail | Yes (inclusive or exclusive) | Per approved faktur pattern | Checkout + export |
| PKP, B2B | Yes, usually exclusive | Yes, per transaction or period | Buyer NPWP field + validation |
| Hybrid marketplace + website | Website only (if PKP) | For website sales | Channel reconciliation |
Margin strategy shifts when PPN goes live: TikTok Shop fee increases and tax burden make owned channels more attractive for repeat orders — provided checkout and compliance are solid.
Conclusion
PPN 11% on Indonesian business websites combines tax decisions and product implementation: when you become a PKP, how prices are displayed, and whether order data is Coretax-ready. Marketplaces help with income tax withholding, but they do not replace your obligations on owned channels. Build honest checkout, auditable archives, and payment gateway integrations that do not change numbers at the last minute.
If you are preparing a PKP-ready online store or want an audit of your existing checkout flow, start a conversation with us — we regularly help SMBs and growing businesses in Indonesia build systems that are technically sound and ready to scale.
Frequently asked questions
Do Indonesian SMBs with their own website have to charge 11% PPN?
Not automatically. The 11% PPN (VAT) applies once your business is registered as a Taxable Entrepreneur (PKP), typically after gross turnover exceeds IDR 4.8 billion in a fiscal year. Below that threshold, you generally do not charge PPN to end customers.
How do you calculate 11% PPN at website checkout?
For most goods and services, the effective rate charged to customers is 11% of the selling price. If the price already includes PPN, divide the total by 1.11 to get the tax base (DPP); the remainder is PPN.
How is tax different on marketplaces versus your own website?
Large marketplaces often withhold 0.5% final income tax on withdrawals automatically. On your own website, you are responsible for recording revenue, issuing transaction receipts, and — if you are a PKP — issuing e-Faktur through Coretax.
Is Coretax mandatory for e-Faktur in 2026?
Yes. PKPs now issue electronic tax invoices through the DJP Coretax portal, not the legacy desktop e-Faktur application.
When should a website start supporting PPN display?
Before turnover approaches the PKP threshold or when you apply for PKP registration. Adding tax fields, inclusive/exclusive price modes, and invoice archives is far easier early than retrofitting thousands of historical orders.


