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
standardRate
0.18
scheduleI
0.05
scheduleIII
0.4
scheduleIV
0.03
scheduleV
0.0025
scheduleVI
0.015
scheduleVII
0.28
Test vectors (9)
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 — S1 1000.00 INR at the general 18% (Schedule II)
given amount
1000
given direction
add
given category
standard
given reverseCharge
no
expect vatAmount
180
expect grossAmount
1180
expect netAmount
1000
Case 2 — S2 1180.00 INR gross back to net at 18%
given amount
1180
given direction
remove
given category
standard
given reverseCharge
no
expect netAmount
1000
expect vatAmount
180
Case 3 — S3 1000.00 INR at 5% (Schedule I)
given amount
1000
given direction
add
given category
scheduleI
given reverseCharge
no
expect vatAmount
50
expect grossAmount
1050
Case 4 — S4 28% survives the 2025 reform (Schedule VII)
given amount
1000
given direction
add
given category
scheduleVII
given reverseCharge
no
expect rate
0.28
expect vatAmount
280
Case 5 — S5 1000.00 INR of demerit goods at 40% (Schedule III)
given amount
1000
given direction
add
given category
scheduleIII
given reverseCharge
no
expect vatAmount
400
expect grossAmount
1400
Case 6 — S6 100000.00 INR of gold at 3% (Schedule IV)
given amount
100000
given direction
add
given category
scheduleIV
given reverseCharge
no
expect vatAmount
3000
Case 7 — S7 100000.00 INR of rough diamonds at 0.25% (Schedule V)
given amount
100000
given direction
add
given category
scheduleV
given reverseCharge
no
expect rate
0.0025
expect vatAmount
250
Case 8 — S8 100000.00 INR at 1.5% (Schedule VI)
given amount
100000
given direction
add
given category
scheduleVI
given reverseCharge
no
expect vatAmount
1500
Case 9 — S9 reverse charge: the supplier charges no GST
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.