How Tax Payments Work in Indonesia
All tax payments in Indonesia flow through the MPN G3 (Modul Penerimaan Negara Generasi 3) -- the government's central payment processing system managed by the Ministry of Finance. You cannot pay taxes by directly transferring money to the tax office. Instead, you generate a billing code, pay through an authorized channel, and the system routes your payment to the state treasury.
The process has three steps:
- Generate a kode billing (billing code)
- Pay through an authorized channel
- Confirm receipt via NTPN
This system has dramatically simplified tax payments compared to the old manual SSP (Surat Setoran Pajak) process. However, it can still be confusing for foreign business owners encountering it for the first time.
Step 1: Generating a Kode Billing
A kode billing is a 15-digit code that uniquely identifies your tax payment. It contains:
- Your NPWP (taxpayer identification number)
- Tax type code (e.g., PPh 21, PPN, PPh Final)
- Tax period (month/year)
- Payment amount
- Due date
Method 1: Through Coretax (Recommended)
Coretax is the primary platform for all tax administration since 2025.
Steps:
- Go to coretax.pajak.go.id
- Log in with your NPWP and password
- Navigate to "Pembayaran" or "e-Billing"
- Select tax type (e.g., "411121 - PPh 21")
- Enter the tax period (month and year)
- Enter the payment amount
- Review all details carefully
- Click "Buat Kode Billing" (Generate Billing Code)
- The system displays your 15-digit kode billing
- Save or screenshot the billing code and details
Method 2: Through DJP Online
DJP Online remains available as an alternative:
- Go to djponline.pajak.go.id
- Log in with NPWP, password, and EFIN
- Navigate to "e-Billing" under the "Bayar" menu
- Fill in the required fields
- Generate the billing code
Method 3: Through a Tax Consultant
Your tax consultant or accountant can generate kode billing on your behalf if they are registered as a kuasa wajib pajak (authorized tax representative).
Method 4: Through Bank Teller
Some banks can generate billing codes directly at the teller window. Bring your NPWP and the payment details. The teller will create the billing code and process payment in one step.
Kode Billing Details
| Field | Description | Example |
|---|---|---|
| Kode Akun Pajak | Tax type code | 411121 (PPh 21) |
| Kode Jenis Setoran | Payment subtype | 100 (monthly payment) |
| Masa Pajak | Tax period | January 2026 |
| Tahun Pajak | Tax year | 2026 |
| Jumlah Setor | Payment amount | IDR 10,250,000 |
| Kode Billing | 15-digit code | 0012345678901234 |
Common Tax Type Codes
| Code | Tax Type |
|---|---|
| 411121 | PPh 21 (Employee withholding) |
| 411124 | PPh 25 (Monthly installment) |
| 411125 | PPh 25 (Individual) |
| 411126 | PPh 25 (Corporate) |
| 411128 | PPh Final (4(2)) |
| 411129 | PPh 23 |
| 411211 | PPN Dalam Negeri (Domestic VAT) |
| 411219 | PPN Lainnya (Other VAT) |
Common Payment Subtype Codes (Kode Jenis Setoran)
| Code | Description |
|---|---|
| 100 | Monthly payment |
| 200 | Annual tax return (underpayment) |
| 300 | Tax assessment (STP) |
| 310 | Tax audit assessment (SKPKB) |
| 320 | Tax appeal assessment |
| 390 | Prior year arrears |
| 900 | Penalty/interest payment |
Billing Code Validity
- Standard validity: 30 days from generation
- Expired codes: Must regenerate a new billing code (cannot renew)
- One-time use: Each billing code can only be used for one payment
- Exact amount: You must pay the exact amount stated in the billing code (no partial payments)
Step 2: Making the Payment
Once you have the kode billing, you can pay through numerous channels:
Bank Transfer / Internet Banking
All major Indonesian banks accept tax payments through their internet banking platforms:
| Bank | Platform | Navigation Path |
|---|---|---|
| BCA | KlikBCA / myBCA | Transfer > Pajak > MPN G3 |
| Mandiri | Mandiri Online | Bayar > Pajak > MPN G3 |
| BRI | BRImo | Pembayaran > Pajak |
| BNI | BNI Mobile | Pembayaran > Pajak > MPN |
| CIMB Niaga | OCTO Mobile | Bayar > Pajak |
| Permata | PermataMobile X | Bayar > Pajak |
Steps for internet banking:
- Log in to your banking app or website
- Navigate to "Payment" or "Tax" section
- Select "Pajak/MPN" as the payment type
- Enter the 15-digit kode billing
- The system auto-populates payment details (name, amount, tax type)
- Verify all details match your billing code
- Confirm and authenticate the payment
- Save the payment confirmation (contains NTPN)
ATM Payment
Most bank ATMs support tax payments:
- Insert card and enter PIN
- Select "Pembayaran" / "Payment"
- Select "Pajak" / "MPN"
- Enter the 15-digit kode billing
- Verify details on screen
- Confirm payment
- Keep the receipt (it contains NTPN)
Bank Teller
For those who prefer in-person:
- Visit any branch of a designated bank
- Bring the kode billing (printed or on your phone)
- Tell the teller you want to make a tax payment via MPN
- Provide the billing code
- Pay the amount (cash or debit)
- Receive a stamped receipt with NTPN
Post Office (Kantor Pos)
Indonesia's postal service accepts tax payments at most branches:
- Visit any Kantor Pos
- Present the billing code
- Pay at the counter
- Receive an official receipt
E-Wallet and Digital Platforms
Several digital platforms now accept tax payments:
| Platform | Method |
|---|---|
| Tokopedia | Pembayaran > Pajak |
| Bukalapak | Pembayaran > Pajak |
| Traveloka | Tagihan > Pajak |
| OVO | Bayar > Pajak |
| GoPay | Bill Payment > Pajak |
| LinkAja | Bayar > Pajak |
These platforms typically charge a small convenience fee (IDR 2,500 - 5,000 per transaction).
Payment Channel Comparison
| Channel | Speed | Convenience | Fee | NTPN Timing |
|---|---|---|---|---|
| Internet banking | Instant | High | Free | Immediate |
| Mobile banking | Instant | Highest | Free | Immediate |
| ATM | Instant | Medium | Free | Immediate |
| Bank teller | Instant | Low (queue) | Free | Immediate |
| E-wallet | Instant | High | IDR 2,500-5,000 | Within hours |
| Post office | Same day | Low | Free | Within hours |
Step 3: NTPN Confirmation
What Is NTPN?
NTPN (Nomor Transaksi Penerimaan Negara) is the state-issued receipt number confirming your tax payment was received and processed by the treasury. It is the most important piece of information after making a tax payment.
NTPN Format
A typical NTPN is a 16-character alphanumeric code, for example: 5ABC1234DEF56789
Where to Find NTPN
| Payment Method | Where NTPN Appears |
|---|---|
| Internet/mobile banking | Transaction confirmation page and history |
| ATM | Printed on receipt |
| Bank teller | Stamped on receipt |
| E-wallet | Transaction history / email confirmation |
| Coretax | Check in "Riwayat Pembayaran" (Payment History) |
Why NTPN Matters
- SPT Filing: You need the NTPN when filing your SPT Masa and SPT Tahunan to prove the tax was paid
- Tax Audit: During an audit, NTPN is the primary proof of payment
- Bukti Potong: Withholding certificates reference the NTPN
- No NTPN = No Proof: If you lose your NTPN and have no other records, the tax office may not recognize the payment
Checking Payment Status
If you are unsure whether your payment was processed:
- Coretax: Log in > "Riwayat Pembayaran" > search by billing code or date
- Bank statement: Check your transaction history for the debit
- MPN Portal: mpn.kemenkeu.go.id > "Cek NTPN" > enter billing code
Tax Payment Codes Quick Reference
Monthly Tax Payments (Most Common)
| Tax | Kode Akun | KJS | Description |
|---|---|---|---|
| PPh 21 monthly | 411121 | 100 | Employee withholding |
| PPh 23 monthly | 411124 | 100 | Service/rental withholding |
| PPh 25 corporate | 411126 | 100 | Monthly installment |
| PPh Final rental | 411128 | 403 | Land/building rental |
| PPh Final construction | 411128 | 409 | Construction services |
| PPN domestic | 411211 | 100 | Monthly VAT |
Annual Tax Payments
| Tax | Kode Akun | KJS | Description |
|---|---|---|---|
| PPh Badan annual | 411126 | 200 | Corporate underpayment |
| PPh 21 annual | 411121 | 200 | PPh 21 underpayment |
| PPh OP annual | 411125 | 200 | Personal underpayment |
Assessment Payments
| Tax | KJS | Description |
|---|---|---|
| Any tax type | 300 | STP (administrative assessment) |
| Any tax type | 310 | SKPKB (audit assessment) |
| Any tax type | 900 | Penalty/interest |
Troubleshooting Common Issues
"Kode Billing Tidak Ditemukan" (Billing Code Not Found)
Causes:
- Typing error in the 15-digit code
- Billing code expired (past 30 days)
- System delay between generation and bank availability
Solutions:
- Double-check all 15 digits
- Generate a new billing code if expired
- Wait 15-30 minutes and try again (system sync delay)
"Jumlah Tidak Sesuai" (Amount Mismatch)
Cause: The payment amount does not match the billing code amount.
Solution: You must pay the exact amount specified in the billing code. You cannot round up, round down, or split the payment. If the amount is wrong, generate a new billing code with the correct amount.
Payment Made But No NTPN
Causes:
- Bank system delay (especially for e-wallet and post office)
- Incorrect billing code entered (payment went to wrong destination)
- Bank processing error
Solutions:
- Wait up to 24 hours (e-wallet payments may take longer)
- Check with your bank's customer service
- Check the MPN portal with your billing code
- If still unresolved after 3 days, contact the KPP (tax office) with your bank receipt
"Kode Billing Sudah Digunakan" (Billing Code Already Used)
Cause: The billing code was already used for a successful payment (possibly a duplicate attempt).
Solution: Check your bank statements and Coretax payment history to confirm whether the payment went through. If it did, you have your NTPN. If not, generate a new billing code.
Expired Billing Code
Cause: You did not pay within 30 days of generation.
Solution: Simply generate a new billing code with the same details. There is no penalty for letting a billing code expire -- only for paying the tax late.
Paying for Multiple Tax Types
Each tax type requires its own kode billing and separate payment. You cannot combine PPh 21 and PPN into a single billing code or payment.
| Scenario | Billing Codes Needed |
|---|---|
| PPh 21 + PPh 23 for same month | 2 separate billing codes |
| PPh 21 for January + February | 2 separate billing codes |
| PPh 21 payment + penalty | 2 separate billing codes |
Tips for Foreign Business Owners
1. Set Up Indonesian Internet Banking
You need an Indonesian bank account with internet banking enabled to make most tax payments conveniently. BCA and Mandiri are the most commonly used by foreign business owners.
2. Keep a Tax Payment Calendar
Set reminders for the 10th, 15th, 20th, and end of each month. A single missed deadline triggers automatic penalties.
3. Generate Billing Codes Early
Generate your billing codes a few days before the payment deadline. This gives you time to troubleshoot any issues.
4. Screenshot Everything
After each payment, screenshot or save:
- The kode billing details
- The payment confirmation
- The NTPN
- Your bank receipt
5. Reconcile Monthly
At the end of each month, reconcile all tax payments against your billing codes and NTPN records. Discrepancies are much easier to resolve when caught early.
6. Authorize Your Tax Consultant
If your tax consultant handles filings, give them access to generate billing codes and track payments. They can also generate codes on your behalf through their authorized access.
Payment for PBB (Property Tax)
PBB (property tax) follows a different payment system than income tax and VAT because it is a local tax managed by Bapenda (not DJP). See our PBB Property Tax guide for specific payment instructions.
Payment for BPHTB (Property Transfer Tax)
BPHTB is also a local tax with its own payment process through the local Bapenda, not through the MPN G3 system. See our BPHTB guide for details.
Frequently Asked Questions
What is a kode billing and how do I get one?
A kode billing (billing code) is a 15-digit ID number generated for each tax payment. Create one via Coretax (coretax.pajak.go.id), DJP Online (djponline.pajak.go.id), or through your tax consultant. The code is valid for 30 days and contains all payment details (tax type, period, amount).
What banks accept tax payments in Indonesia?
Major banks include BCA, Mandiri, BRI, BNI, CIMB Niaga, Permata, and others designated by the Ministry of Finance. Payment can be made via teller, ATM, mobile banking, or internet banking. Post offices and some e-wallets (OVO, GoPay, Tokopedia) also accept tax payments.
What is NTPN and why is it important?
NTPN (Nomor Transaksi Penerimaan Negara) is the official state receipt number confirming your tax payment was received. It is generated automatically after payment and is required for filing SPT Masa/Tahunan. Without NTPN, the tax office may not recognize your payment.
Can I pay Indonesian taxes from an overseas bank account?
Not directly through the MPN G3 system, which requires payment through designated Indonesian channels. You would need to transfer funds to an Indonesian bank account first, then pay through the normal channels. Some international banks with Indonesian branches may offer tax payment services.
What happens if I pay the wrong amount?
If you overpay, you can request a refund (restitution) or credit the overpayment to future tax periods. If you underpay, you must generate a new billing code for the remaining amount plus any applicable interest (2% per month on the shortfall).
Expert Tax Payment Support
Navigating Indonesia's tax payment system for the first time can be daunting, especially with multiple tax types, different codes, and strict exact-amount requirements. Bali Zero's tax compliance team handles end-to-end tax payment processing for foreign businesses -- from billing code generation to payment execution to NTPN record-keeping.
Contact Bali Zero at info@balizero.com or +62 821 3454 721 (WhatsApp) for tax payment and compliance support.
Topics
Zantara AI
AI Tax Advisor
Questions about how this applies to your case?
Bali Zero handles visas, company setup, tax and property compliance in Indonesia. Ask us directly on WhatsApp.
Chat with Bali Zero on WhatsApp