Features
TaxLive

Tax Calculation Engine

Automatic PBJT, PPh 4(2), PPh 21, PPh 23, PPh 25, PPh 26, PPN, and UMKM calculations sourced from 57 official Indonesian regulations.

Overview

VillaTax's tax calculation engine automatically computes all Indonesian tax obligations applicable to villa rental income. It handles PBJT, PPh 4(2), PPh 21, PPh 23, PPh 25, PPh 26, PPN, and the UMKM final tax regime, each with the correct rates, thresholds, calculation basis, and filing periods as defined by Indonesian law.

The engine is not a static rate table. It resolves rates dynamically based on your organization's legal type, regency, PKP status, staff configuration, and vendor NPWP status, and creates double-entry journal entries as the evidence trail for each calculation.

Supported Tax Types

Tax Rate Applies To Filing Period
PBJT 8-10% (kabupaten-specific) Gross booking revenue Monthly
PPh 4(2) 10% Rental income (final tax) Monthly
PPh 21 TER progressive (PP 58/2023) Employee salaries Monthly
PPh 23 2% (services) / 15% (dividends) Vendor and service payments Monthly
PPh 25 Based on prior year PPh Badan Corporate income installments Monthly
PPh 26 20% or DTA treaty rate Payments to non-resident foreign parties Monthly
PPN 11% PKP-registered organizations Monthly
UMKM 0.5% Annual revenue under Rp 4.8B Monthly

How the Engine Works

Step 1: Booking Imported

When a booking arrives (via iCal, CSV, or email), the engine receives the gross booking amount, the property regency, and the organization's legal configuration.

Step 2: Rate Resolution

The engine queries the tax rules reference, a registry of 16 fiscal obligations, each with legal basis citations, applicable rates, formulas, and thresholds. The engine selects the applicable obligations for this booking based on:

  • Property kabupaten (determines PBJT rate)
  • Organization legal type (determines PPh regime: Perorangan vs. PT/CV)
  • Organization's fiscal nature (final PPh 4(2) vs. general income treatment)
  • PKP status (determines whether PPN applies)
  • Revenue level (determines UMKM eligibility)

Step 3: Calculation

Formulas are applied per tax type:

  • PBJT: gross_booking_amount × kabupaten_rate
  • PPh 4(2): (gross_booking_amount - PBJT) × 10%, rental income after accommodation tax
  • PPN: gross_booking_amount × 11%, for PKP organizations only
  • UMKM: gross_booking_amount × 0.5%, replaces PPh 4(2) when the UMKM regime is elected and revenue is within the Rp 4.8B ceiling

Partial months are prorated correctly. Promotional or discounted rates are handled based on the declared booking amount.

Step 4: Journal Entry Created

Every tax calculation produces a double-entry journal entry:

  • Debit: tax expense account
  • Credit: tax payable account (by tax type)

This creates the accounting foundation for P&L reporting, balance sheet liabilities, and DJP filing preparation. There is no tax calculation without a corresponding journal entry.

Step 5: Dashboard Display

Calculated taxes appear in the compliance dashboard with deadline monitoring. Each obligation shows the amount due, the filing deadline, and the current status (pending/filed/overdue).

The engine adapts to your organization's legal structure:

Perorangan (Individual)

  • PPh 4(2) final tax on rental income (10%)
  • UMKM regime available if annual revenue is under Rp 4.8B (0.5% final)
  • PTKP (personal tax exemption) applies for net income calculation
  • SPT 1770 for annual return

CV (Commanditaire Vennootschap)

  • PPh 4(2) final tax on rental income (10%)
  • No corporate income tax (PPh Badan) at the entity level
  • Partners taxed individually on profit distributions

PT Local (Domestic Limited Company)

  • Full corporate income tax (PPh Badan): 22% standard rate
  • Pasal 31E SME discount: 50% rate reduction on the first Rp 4.8B of taxable income if annual revenue is under Rp 50B
  • PPh 25 monthly installments based on prior year PPh Badan
  • SPT 1771 for annual corporate return

PT PMA (Foreign Investment Company)

  • Same corporate tax structure as PT local
  • DTA/P3B (Double Tax Agreement) provisions may reduce withholding rates on dividends paid to foreign shareholders, depending on the applicable treaty
  • PPh 26 applies on payments to foreign parties at 20% or the DTA-reduced rate
  • Foreign shareholders require DGT form (DGT-1 or DGT-2) to claim treaty benefits

Tax for Staff

PPh 21 calculations for employee salaries use the TER (Tarif Efektif Rata-rata) method per PP 58/2023. The rate is progressive based on the employee's annualized income and PTKP status.

December adjustment: at year-end, the actual annual PPh 21 liability is reconciled against the year's TER monthly payments. If the employee overpaid, the difference is refunded via the December payslip. This means December PPh 21 can be negative, the employee receives extra net salary instead of paying additional withholding. This is correct behavior under PP 58/2023 and is not an error.

BPJS contributions (JKK, JKM, JHT, JP, JKes) are calculated per the rates in UU 24/2011 and its implementing regulations.

Tax for Vendor Payments

PPh 23 is triggered when you record an expense or payment to a vendor registered with a valid NPWP, in a service category subject to withholding:

  • 2% for services (jasa)
  • 15% for dividends
  • Vendor without NPWP: 4% (double rate per DJP rules)

PPh 26 applies when the payee is a non-resident foreign entity, most relevant for OTA commissions paid to Airbnb (Ireland) and Booking.com (Netherlands). DTA rates may apply depending on the applicable treaty and whether a DGT form has been filed.

Source Citations

Every rate and threshold in VillaTax is sourced from official Indonesian regulations. The regulatory database maintains 57 legal documents and 2,400+ Pasal (articles), including:

  • UU PPh (Income Tax Law) and its amendments
  • PP 58/2023 (PPh 21 TER method)
  • PMK 112/2022 (NPWP-NIK linkage)
  • PER-03/PJ/2022 (e-Faktur)
  • PMK 18/2021 (DGT form requirements)
  • Local perda (regional regulations) for PBJT rates per kabupaten

Rates are not invented or estimated. If a rate is not sourced from an official regulation, it is not in the engine.

Audit Trail

The tax engine produces a traceable audit trail for every calculation:

  • Which booking or expense triggered the calculation
  • Which rate was applied and which regulation it comes from
  • The journal entry created as a result
  • The period it belongs to for filing purposes

This trail is accessible through the general ledger at General Ledger.

Open in dashboard

Access this feature in your workspace.