[ { "name": "20 percent on 100 pounds", "args": [{ "minor": 10000, "currency": "GBP" }, "GB", "STANDARD", "2026-09-16"], "expect": { "net": { "minor": 10000, "currency": "GBP" }, "tax": { "minor": 2000, "currency": "GBP" }, "gross": { "minor": 12000, "currency": "GBP" }, "basisPoints": 2000 } }, { "name": "rounds a fractional penny up", "args": [{ "minor": 199, "currency": "GBP" }, "GB", "STANDARD", "2026-09-16"], "expect": { "net": { "minor": 199, "currency": "GBP" }, "tax": { "minor": 40, "currency": "GBP" }, "gross": { "minor": 239, "currency": "GBP" }, "basisPoints": 2000 } }, { "name": "zero rated goods are taxable at nothing", "args": [{ "minor": 10000, "currency": "GBP" }, "GB", "ZERO", "2026-09-16"], "expect": { "net": { "minor": 10000, "currency": "GBP" }, "tax": { "minor": 0, "currency": "GBP" }, "gross": { "minor": 10000, "currency": "GBP" }, "basisPoints": 0 } }, { "name": "reduced rate", "args": [{ "minor": 10000, "currency": "GBP" }, "GB", "REDUCED", "2026-09-16"], "expect": { "net": { "minor": 10000, "currency": "GBP" }, "tax": { "minor": 500, "currency": "GBP" }, "gross": { "minor": 10500, "currency": "GBP" }, "basisPoints": 500 } }, { "name": "a 2009 supply still uses the 2009 rate", "args": [{ "minor": 10000, "currency": "GBP" }, "GB", "STANDARD", "2009-06-01"], "expect": { "net": { "minor": 10000, "currency": "GBP" }, "tax": { "minor": 1500, "currency": "GBP" }, "gross": { "minor": 11500, "currency": "GBP" }, "basisPoints": 1500 } }, { "name": "hospitality during the covid cut", "args": [{ "minor": 10000, "currency": "GBP" }, "GB", "HOSPITALITY", "2020-12-25"], "expect": { "net": { "minor": 10000, "currency": "GBP" }, "tax": { "minor": 500, "currency": "GBP" }, "gross": { "minor": 10500, "currency": "GBP" }, "basisPoints": 500 } }, { "name": "Irish standard rate", "args": [{ "minor": 10000, "currency": "EUR" }, "IE", "STANDARD", "2026-09-16"], "expect": { "net": { "minor": 10000, "currency": "EUR" }, "tax": { "minor": 2300, "currency": "EUR" }, "gross": { "minor": 12300, "currency": "EUR" }, "basisPoints": 2300 } }, { "name": "a credit line carries negative tax", "args": [{ "minor": -10000, "currency": "GBP" }, "GB", "STANDARD", "2026-09-16"], "expect": { "net": { "minor": -10000, "currency": "GBP" }, "tax": { "minor": -2000, "currency": "GBP" }, "gross": { "minor": -12000, "currency": "GBP" }, "basisPoints": 2000 } }, { "name": "an unknown jurisdiction is an error", "args": [{ "minor": 10000, "currency": "GBP" }, "FR", "STANDARD", "2026-09-16"], "expectError": "no VAT rule" } ]