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
cc1500
1500
cc2000
2000
cc2500
2500
cc3000
3000
cc3500
3500
cc4500
4500
advanceTaxUpTo1500
25000
advanceTaxUpTo2000
50000
advanceTaxUpTo2500
75000
advanceTaxUpTo3000
200000
advanceTaxUpTo3500
250000
advanceTaxUpTo4500
400000
advanceTaxAbove4500
500000
advanceTaxMicrobusPickup
40000
kw200
200
kw300
300
kw400
400
advanceTaxEvUpTo200
25000
advanceTaxEvUpTo300
50000
advanceTaxEvUpTo400
75000
advanceTaxEvAbove400
100000
additionalVehicleUplift
0.5
surchargeUpTo1500
25000
surchargeUpTo2000
50000
surchargeUpTo2500
75000
surchargeUpTo3000
150000
surchargeUpTo3500
200000
surchargeAbove3500
350000
Test vectors (13)
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 second 2000cc car: ৳50,000 + 50% = ৳75,000 advance tax, ৳50,000 surcharge
given engineCc
2000
given motorKw
150
given vehicleType
car
given additionalVehicle
yes
given surchargeApplies
yes
expect baseAdvanceTax
50000
expect advanceTax
75000
expect environmentalSurcharge
50000
expect annualTotal
125000
Case 2 — K2 one 1500cc car: ৳25,000, no surcharge
given engineCc
1500
given motorKw
150
given vehicleType
car
given additionalVehicle
no
given surchargeApplies
no
expect advanceTax
25000
expect environmentalSurcharge
0
expect annualTotal
25000
Case 3 — K3 1501cc: ৳50,000
given engineCc
1501
given motorKw
150
given vehicleType
car
given additionalVehicle
no
given surchargeApplies
no
expect annualTotal
50000
Case 4 — K4 2500cc: ৳75,000
given engineCc
2500
given motorKw
150
given vehicleType
car
given additionalVehicle
no
given surchargeApplies
no
expect annualTotal
75000
Case 5 — K5 2501cc: ৳2,00,000
given engineCc
2501
given motorKw
150
given vehicleType
car
given additionalVehicle
no
given surchargeApplies
no
expect annualTotal
200000
Case 6 — K6 3500cc: ৳2,50,000; 3501cc: ৳4,00,000
given engineCc
3501
given motorKw
150
given vehicleType
car
given additionalVehicle
no
given surchargeApplies
no
expect annualTotal
400000
Case 7 — K7 4501cc: ৳5,00,000
given engineCc
4501
given motorKw
150
given vehicleType
car
given additionalVehicle
no
given surchargeApplies
no
expect annualTotal
500000
Case 8 — K8 electric, 200 kW: ৳25,000
given engineCc
1500
given motorKw
200
given vehicleType
electric
given additionalVehicle
no
given surchargeApplies
no
expect annualTotal
25000
Case 9 — K9 electric, 401 kW, second car: ৳1,00,000 + 50%, no surcharge computed
given engineCc
1500
given motorKw
401
given vehicleType
electric
given additionalVehicle
yes
given surchargeApplies
yes
expect advanceTax
150000
expect environmentalSurcharge
0
Case 10 — K10 second microbus of 2700cc: ৳40,000 + 50%, surcharge ৳1,50,000
given engineCc
2700
given motorKw
150
given vehicleType
microbus
given additionalVehicle
yes
given surchargeApplies
yes
expect advanceTax
60000
expect environmentalSurcharge
150000
expect annualTotal
210000
Case 11 — K11 second double-cabin pickup: ৳60,000, outside the surcharge
given engineCc
2500
given motorKw
150
given vehicleType
doubleCabinPickup
given additionalVehicle
yes
given surchargeApplies
yes
expect annualTotal
60000
Case 12 — K12 second car above 3500cc: ৳6,00,000 + ৳3,50,000
given engineCc
4000
given motorKw
150
given vehicleType
car
given additionalVehicle
yes
given surchargeApplies
yes
expect advanceTax
600000
expect environmentalSurcharge
350000
expect annualTotal
950000
Case 13 — K13 a jointly owned second 2000cc car (not in your own name): +50% only, no surcharge
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.