[ { "name": "a VAT and CIS registered subcontractor billing a VAT and CIS registered contractor", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": true, "reason": "reverse-charge", "invoiceWording": "Reverse charge: customer to pay the VAT to HMRC. S55A VATA 94 applies." } }, { "name": "reduced-rated work is reverse charged too", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "reduced", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": true, "reason": "reverse-charge", "invoiceWording": "Reverse charge: customer to pay the VAT to HMRC. S55A VATA 94 applies." } }, { "name": "the first day of the reverse charge", "args": [ { "supplyDate": "2021-03-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": true, "reason": "reverse-charge", "invoiceWording": "Reverse charge: customer to pay the VAT to HMRC. S55A VATA 94 applies." } }, { "name": "the day before it started", "args": [ { "supplyDate": "2021-02-28", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "before-start", "invoiceWording": null } }, { "name": "before March 2021 nothing else matters", "args": [ { "supplyDate": "2020-06-01", "supplierVatRegistered": true, "customerVatRegistered": false, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "before-start", "invoiceWording": null } }, { "name": "a supplier that is not VAT registered charges no VAT at all", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": false, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "supplier-not-vat-registered", "invoiceWording": null } }, { "name": "a householder is not VAT registered, so normal VAT rules apply", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": false, "reportedUnderCis": false, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "customer-not-vat-registered", "invoiceWording": null } }, { "name": "a payment not reported under CIS", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": false, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "not-reported-under-cis", "invoiceWording": null } }, { "name": "zero-rated new build housing is not reverse charged", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "zero", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "not-standard-or-reduced", "invoiceWording": null } }, { "name": "an exempt supply is not reverse charged", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "exempt", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "not-standard-or-reduced", "invoiceWording": null } }, { "name": "an employment business supplies staff, not construction services", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": true, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "employment-business", "invoiceWording": null } }, { "name": "a customer that has notified end user status in writing", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": true, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "end-user-notified", "invoiceWording": null } }, { "name": "an intermediary supplier (a landlord re-supplying to its tenant) notifies the same way", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": true, "reverseChargeShareBasisPoints": 6000 } ], "expect": { "applies": false, "reason": "end-user-notified", "invoiceWording": null } }, { "name": "zero-rated is checked before end user status", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "zero", "employmentBusiness": false, "endUserNotified": true, "reverseChargeShareBasisPoints": 10000 } ], "expect": { "applies": false, "reason": "not-standard-or-reduced", "invoiceWording": null } }, { "name": "exactly 5 percent is disregarded: the rule is 5% or less", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 500 } ], "expect": { "applies": false, "reason": "five-percent-disregard", "invoiceWording": null } }, { "name": "a supply and fix contract whose fitting is 2 percent", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 200 } ], "expect": { "applies": false, "reason": "five-percent-disregard", "invoiceWording": null } }, { "name": "5.01 percent is not disregarded", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 501 } ], "expect": { "applies": true, "reason": "reverse-charge", "invoiceWording": "Reverse charge: customer to pay the VAT to HMRC. S55A VATA 94 applies." } }, { "name": "a share above 100 percent", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10001 } ], "expectError": "reverseChargeShareBasisPoints must be between 0 and 10000" }, { "name": "a negative share", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": -1 } ], "expectError": "reverseChargeShareBasisPoints must be between 0 and 10000" }, { "name": "a fractional share", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 250.5 } ], "expectError": "reverseChargeShareBasisPoints must be an integer" }, { "name": "a malformed date", "args": [ { "supplyDate": "01/09/2026", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "standard", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expectError": "supplyDate must be an ISO date" }, { "name": "an unknown VAT category", "args": [ { "supplyDate": "2026-09-01", "supplierVatRegistered": true, "customerVatRegistered": true, "reportedUnderCis": true, "vatCategory": "STANDARD", "employmentBusiness": false, "endUserNotified": false, "reverseChargeShareBasisPoints": 10000 } ], "expectError": "unknown vatCategory" } ]