newCar and $not(electric) ? $round($n(vehicleValue) * $const.bbnkbRate, 2) : 0
First year, PKB + BBNKB
firstYearTotal
$round(pkbAnnual + bbnkb, 2)
Rates and thresholds
The expressions above read these as $const. They are the figures the annual refresh replaces, so they live as data rather than being written into the formulas — which is what makes a year-on-year change a one-line diff instead of an edit to arithmetic.
Constant
Value
pkbRate1
0.02
pkbRate2
0.03
pkbRate3
0.04
pkbRate4
0.05
pkbRate5
0.06
bbnkbRate
0.125
Test vectors (5)
Every case is executed against this model on each build, by the Java engine and independently by a JavaScript one. A mismatch of a single cent fails the build, so the page cannot ship advertising a figure the model no longer produces.
Case 1 — K1 a new first car with a Rp300 million NJKB and bobot 1.05: PKB Rp6,300,000, BBNKB Rp37,500,000
given vehicleValue
300000000
given weightCoefficient
1.05
given ownership
first
given electric
no
given newCar
yes
expect taxBase
315000000
expect pkbRate
0.02
expect pkbAnnual
6300000
expect bbnkb
37500000
expect firstYearTotal
43800000
Case 2 — K2 the same car as a second car: PKB at 3%
given vehicleValue
300000000
given weightCoefficient
1.05
given ownership
second
given electric
no
given newCar
no
expect pkbAnnual
9450000
expect bbnkb
0
expect firstYearTotal
9450000
Case 3 — K3 a fifth car pays 6%
given vehicleValue
200000000
given weightCoefficient
1
given ownership
fifth
given electric
no
given newCar
no
expect pkbRate
0.06
expect pkbAnnual
12000000
Case 4 — K4 a battery-electric car is exempted from PKB and BBNKB (Kepgub 446/2026)
given vehicleValue
500000000
given weightCoefficient
1
given ownership
first
given electric
yes
given newCar
yes
expect pkbAnnual
0
expect bbnkb
0
expect firstYearTotal
0
Case 5 — K5 coefficient 1 on a Rp100 million car: PKB Rp2,000,000, BBNKB Rp12,500,000
The whole model as JSON — inputs, outputs, formulas, vectors and sources in one re-runnable document.
This model is published under CC BY 4.0: use it, adapt it, build on it, with attribution. The licence covers the model — the expression of each rule and the arrangement of the catalog. The rates and thresholds are law, and nobody licenses those; the sources above are where they come from.