{
  "$comment": "Machine-readable companion to https://valem.run/calculators/malta/vat. Formula, inputs, outputs, engine-verified test vectors, cited sources and the re-runnable Valem ModelSpec behind the page.",
  "url": "https://valem.run/calculators/malta/vat",
  "dataUrl": "https://valem.run/calculators/malta/vat.json",
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Malta vat model by Valem (https://valem.run/calculators/malta/vat), CC BY 4.0.",
    "note": "Covers the model — the expression of each rule and the arrangement of the catalog. The rates and thresholds themselves are law and are not licensed by anyone; the cited sources are where they come from."
  },
  "verificationUrl": "https://valem.run/calculators/malta/vat/verify",
  "country": "malta",
  "countryName": "Malta",
  "formula": "vat",
  "formulaName": "VAT",
  "title": "VAT Calculator Malta 2026 — 18%, 12%, 7% and 5%",
  "answer": "Maltese VAT is 18% as standard under article 19(1) of the Value Added Tax Act, with 12%, 7% and 5% for the supplies listed in the Eighth Schedule, and you stay outside the system as a small enterprise while your turnover in a calendar year does not exceed the €35,000 Domestic threshold.",
  "lang": "en",
  "currency": "EUR",
  "taxYear": "2026",
  "verification": {
    "claim": "internal-consistency",
    "statement": "The Valem engine reproduces this model's stated formula through 8 self-test cases (below, and re-runnable against the spec). That asserts internal consistency, NOT that the formula matches current law — the cited sources are the evidence for that, and carry the date each was last checked.",
    "selfTestCases": 8,
    "ratesAreIllustrative": false,
    "sourcesCheckedOn": "2026-10-09"
  },
  "sources": [
    {
      "label": "Value Added Tax Act (CAP. 406) art. 19 and Eighth Schedule - consolidated to Act III of 2026 / L.N. 75 of 2026",
      "url": "https://legislation.mt/getpdf/69e87cc8becf2f2334f5323f",
      "checked": "2026-10-09"
    },
    {
      "label": "Value Added Tax Act (CAP. 406) Sixth Schedule item 5 - Domestic threshold, EUR 35,000",
      "url": "https://legislation.mt/getpdf/69e87cc8becf2f2334f5323f",
      "checked": "2026-10-09"
    }
  ],
  "terminalOutput": "mustRegister",
  "headlineOutput": "vatAmount",
  "inputs": [
    {
      "name": "amount",
      "type": "number",
      "label": "Amount",
      "minimum": 0
    },
    {
      "name": "direction",
      "type": "string",
      "label": "Direction",
      "enum": [
        "add",
        "remove"
      ]
    },
    {
      "name": "category",
      "type": "string",
      "label": "What is being supplied",
      "enum": [
        "standard",
        "reduced2",
        "reduced1",
        "superReduced"
      ]
    },
    {
      "name": "annualTurnover",
      "type": "number",
      "label": "Turnover this calendar year",
      "minimum": 0
    },
    {
      "name": "reverseCharge",
      "type": "boolean",
      "label": "B2B reverse charge applies"
    }
  ],
  "outputs": [
    {
      "name": "rate",
      "type": "number",
      "formula": "category = 'reduced1' ? $const.reducedRate1 : category = 'reduced2' ? $const.reducedRate2 : category = 'superReduced' ? $const.superReducedRate : $const.standardRate"
    },
    {
      "name": "effectiveRate",
      "type": "number",
      "formula": "reverseCharge ? 0 : rate"
    },
    {
      "name": "netAmount",
      "type": "number",
      "formula": "direction = 'remove' ? $round(amount / (1 + effectiveRate), 2) : $round(amount, 2)"
    },
    {
      "name": "vatAmount",
      "type": "number",
      "formula": "$round(netAmount * effectiveRate, 2)"
    },
    {
      "name": "grossAmount",
      "type": "number",
      "formula": "$round(netAmount + vatAmount, 2)"
    },
    {
      "name": "mustRegister",
      "type": "boolean",
      "formula": "annualTurnover > $const.registrationThreshold"
    }
  ],
  "testCases": [
    {
      "description": "S1 100.00 EUR net at the standard rate",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "standard",
        "reverseCharge": false,
        "annualTurnover": 0
      },
      "expect": {
        "vatAmount": 18,
        "grossAmount": 118,
        "netAmount": 100
      }
    },
    {
      "description": "S2 118.00 EUR gross back to net at 18%",
      "given": {
        "amount": 118,
        "direction": "remove",
        "category": "standard",
        "reverseCharge": false,
        "annualTurnover": 0
      },
      "expect": {
        "netAmount": 100,
        "vatAmount": 18
      }
    },
    {
      "description": "S3 100.00 EUR of licensed accommodation at 7%",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "reduced1",
        "reverseCharge": false,
        "annualTurnover": 0
      },
      "expect": {
        "vatAmount": 7,
        "grossAmount": 107
      }
    },
    {
      "description": "S4 100.00 EUR of securities custody at 12%",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "reduced2",
        "reverseCharge": false,
        "annualTurnover": 0
      },
      "expect": {
        "vatAmount": 12,
        "grossAmount": 112
      }
    },
    {
      "description": "S5 100.00 EUR of electricity at 5%",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "superReduced",
        "reverseCharge": false,
        "annualTurnover": 0
      },
      "expect": {
        "vatAmount": 5,
        "grossAmount": 105
      }
    },
    {
      "description": "S6 at the Domestic threshold exactly, still a small enterprise",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "standard",
        "reverseCharge": false,
        "annualTurnover": 35000
      },
      "expect": {
        "mustRegister": false
      }
    },
    {
      "description": "S7 one euro past it, registration is required",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "standard",
        "reverseCharge": false,
        "annualTurnover": 35001
      },
      "expect": {
        "mustRegister": true
      }
    },
    {
      "description": "S8 reverse charge: the supplier charges no VAT",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "standard",
        "reverseCharge": true,
        "annualTurnover": 0
      },
      "expect": {
        "vatAmount": 0,
        "grossAmount": 100
      }
    }
  ],
  "spec": {
    "id": "vat-malta",
    "version": "1.0.0",
    "schema": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "number",
          "minimum": 0
        },
        "direction": {
          "type": "string",
          "enum": [
            "add",
            "remove"
          ]
        },
        "category": {
          "type": "string",
          "enum": [
            "standard",
            "reduced2",
            "reduced1",
            "superReduced"
          ]
        },
        "annualTurnover": {
          "type": "number",
          "minimum": 0
        },
        "reverseCharge": {
          "type": "boolean"
        },
        "rate": {
          "type": "number",
          "readOnly": true
        },
        "effectiveRate": {
          "type": "number",
          "readOnly": true
        },
        "netAmount": {
          "type": "number",
          "readOnly": true
        },
        "vatAmount": {
          "type": "number",
          "readOnly": true
        },
        "grossAmount": {
          "type": "number",
          "readOnly": true
        },
        "mustRegister": {
          "type": "boolean",
          "readOnly": true
        }
      }
    },
    "constants": {
      "standardRate": 0.18,
      "superReducedRate": 0.05,
      "reducedRate1": 0.07,
      "reducedRate2": 0.12,
      "registrationThreshold": 35000
    },
    "defaultValues": [
      {
        "path": "$",
        "expr": "{ 'amount': 100, 'direction': 'add', 'category': 'standard', 'reverseCharge': false, 'annualTurnover': 0 }"
      }
    ],
    "derivations": [
      {
        "path": "$.rate",
        "expr": "category = 'reduced1' ? $const.reducedRate1 : category = 'reduced2' ? $const.reducedRate2 : category = 'superReduced' ? $const.superReducedRate : $const.standardRate"
      },
      {
        "path": "$.effectiveRate",
        "expr": "reverseCharge ? 0 : rate"
      },
      {
        "path": "$.netAmount",
        "expr": "direction = 'remove' ? $round(amount / (1 + effectiveRate), 2) : $round(amount, 2)"
      },
      {
        "path": "$.vatAmount",
        "expr": "$round(netAmount * effectiveRate, 2)"
      },
      {
        "path": "$.grossAmount",
        "expr": "$round(netAmount + vatAmount, 2)"
      },
      {
        "path": "$.mustRegister",
        "expr": "annualTurnover > $const.registrationThreshold"
      }
    ],
    "constraints": [],
    "viewDefinition": {
      "renderer": "builtin",
      "defaultView": "main",
      "views": [
        {
          "id": "main",
          "label": "VAT",
          "layout": "vertical",
          "components": [
            {
              "id": "note",
              "type": "staticText",
              "text": "FOUR rates, the joint-widest schedule in this family: 18% as standard under article 19(1), then 12%, 7% and 5% for the supplies listed in the Eighth Schedule. Article 19(2) fixes the range those schedule rates may occupy - \"not being higher than eighteen per cent or lower than five per cent\" - so 5% is a floor the statute itself sets. The category labels name the schedule items rather than guessing at a description, because which band a supply falls in is decided by the Eighth Schedule’s own wording and, for goods, by CN tariff code. The registration figure is the Sixth Schedule’s \"Domestic threshold\" of 35,000 EUR, which is the EU small-business scheme threshold under Article 284(1) of the VAT Directive, measured over a CALENDAR YEAR and lost on the day it is exceeded rather than on the day it is reached."
            },
            {
              "id": "inputs",
              "type": "fieldSet",
              "label": "Your figures",
              "components": [
                {
                  "id": "amount",
                  "type": "numericField",
                  "label": "Amount",
                  "bind": "$.amount",
                  "helperText": "Net amount when adding VAT, gross amount when removing it."
                },
                {
                  "id": "direction",
                  "type": "selectField",
                  "label": "Direction",
                  "bind": "$.direction",
                  "options": [
                    {
                      "value": "add",
                      "label": "Add VAT (net → gross)"
                    },
                    {
                      "value": "remove",
                      "label": "Remove VAT (gross → net)"
                    }
                  ]
                },
                {
                  "id": "category",
                  "type": "selectField",
                  "label": "What is being supplied",
                  "bind": "$.category",
                  "helperText": "The rate follows the category. Exports and intra-EU supplies are zero-rated or exempt — a different mechanism, not a rate you pick here.",
                  "options": [
                    {
                      "value": "standard",
                      "label": "Standard rate - 18%"
                    },
                    {
                      "value": "reduced2",
                      "label": "Reduced - 12% (securities custody, credit management, regulated healthcare body services, short boat hire)"
                    },
                    {
                      "value": "reduced1",
                      "label": "Reduced - 7% (licensed accommodation, use of sporting facilities)"
                    },
                    {
                      "value": "superReduced",
                      "label": "Reduced - 5% (electricity, printed matter, medical accessories, domestic care, cultural admission, minor repairs)"
                    }
                  ]
                },
                {
                  "id": "reverseCharge",
                  "type": "checkboxField",
                  "label": "B2B reverse charge applies",
                  "bind": "$.reverseCharge",
                  "helperText": "The customer accounts for the VAT, so you charge none."
                },
                {
                  "id": "annualTurnover",
                  "type": "numericField",
                  "label": "Turnover this calendar year",
                  "bind": "$.annualTurnover"
                }
              ]
            },
            {
              "id": "sep",
              "type": "separatorLine"
            },
            {
              "id": "vatTile",
              "type": "statTile",
              "label": "VAT",
              "value": "$.vatAmount"
            },
            {
              "id": "netTile",
              "type": "statTile",
              "label": "Net",
              "value": "$.netAmount"
            },
            {
              "id": "grossTile",
              "type": "statTile",
              "label": "Gross",
              "value": "$.grossAmount"
            },
            {
              "id": "breakdown",
              "type": "keyValueList",
              "label": "Detail",
              "items": [
                {
                  "label": "Rate applied",
                  "value": "$.effectiveRate"
                },
                {
                  "label": "Statutory rate for this category",
                  "value": "$.rate"
                },
                {
                  "label": "VAT registration required",
                  "value": "$.mustRegister"
                }
              ]
            },
            {
              "id": "sources",
              "type": "sourceList",
              "label": "Sources",
              "layers": 2,
              "items": [
                {
                  "label": "Value Added Tax Act (CAP. 406) art. 19 and Eighth Schedule - consolidated to Act III of 2026 / L.N. 75 of 2026",
                  "url": "https://legislation.mt/getpdf/69e87cc8becf2f2334f5323f",
                  "date": "2026-10-09",
                  "covers": [
                    "standardRate",
                    "superReducedRate",
                    "reducedRate1",
                    "reducedRate2"
                  ]
                },
                {
                  "label": "Value Added Tax Act (CAP. 406) Sixth Schedule item 5 - Domestic threshold, EUR 35,000",
                  "url": "https://legislation.mt/getpdf/69e87cc8becf2f2334f5323f",
                  "date": "2026-10-09",
                  "covers": [
                    "registrationThreshold"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    "tests": [
      {
        "description": "S1 100.00 EUR net at the standard rate",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "standard",
          "$.reverseCharge": false,
          "$.annualTurnover": 0
        },
        "expect": {
          "$.vatAmount": 18,
          "$.grossAmount": 118,
          "$.netAmount": 100
        }
      },
      {
        "description": "S2 118.00 EUR gross back to net at 18%",
        "given": {
          "$.amount": 118,
          "$.direction": "remove",
          "$.category": "standard",
          "$.reverseCharge": false,
          "$.annualTurnover": 0
        },
        "expect": {
          "$.netAmount": 100,
          "$.vatAmount": 18
        }
      },
      {
        "description": "S3 100.00 EUR of licensed accommodation at 7%",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "reduced1",
          "$.reverseCharge": false,
          "$.annualTurnover": 0
        },
        "expect": {
          "$.vatAmount": 7,
          "$.grossAmount": 107
        }
      },
      {
        "description": "S4 100.00 EUR of securities custody at 12%",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "reduced2",
          "$.reverseCharge": false,
          "$.annualTurnover": 0
        },
        "expect": {
          "$.vatAmount": 12,
          "$.grossAmount": 112
        }
      },
      {
        "description": "S5 100.00 EUR of electricity at 5%",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "superReduced",
          "$.reverseCharge": false,
          "$.annualTurnover": 0
        },
        "expect": {
          "$.vatAmount": 5,
          "$.grossAmount": 105
        }
      },
      {
        "description": "S6 at the Domestic threshold exactly, still a small enterprise",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "standard",
          "$.reverseCharge": false,
          "$.annualTurnover": 35000
        },
        "expect": {
          "$.mustRegister": false
        }
      },
      {
        "description": "S7 one euro past it, registration is required",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "standard",
          "$.reverseCharge": false,
          "$.annualTurnover": 35001
        },
        "expect": {
          "$.mustRegister": true
        }
      },
      {
        "description": "S8 reverse charge: the supplier charges no VAT",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "standard",
          "$.reverseCharge": true,
          "$.annualTurnover": 0
        },
        "expect": {
          "$.vatAmount": 0,
          "$.grossAmount": 100
        }
      }
    ]
  }
}
