{
  "$comment": "Machine-readable companion to https://valem.run/calculators/italy/vat. Formula, inputs, outputs, engine-verified test vectors, cited sources and the re-runnable Valem ModelSpec behind the page.",
  "url": "https://valem.run/calculators/italy/vat",
  "dataUrl": "https://valem.run/calculators/italy/vat.json",
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Italy iva (vat) model by Valem (https://valem.run/calculators/italy/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/italy/vat/verify",
  "country": "italy",
  "countryName": "Italy",
  "formula": "vat",
  "formulaName": "IVA (VAT)",
  "title": "Calcolo IVA 2026 — Italy VAT calculator",
  "answer": "Italian IVA is 22% as the aliquota ordinaria, with reduced bands of 10% (domestic power and gas, medicines), 5% (certain foods) and a 4% aliquota minima on basic food, drink and agricultural produce.",
  "lang": "en",
  "currency": "EUR",
  "taxYear": "2026",
  "verification": {
    "claim": "internal-consistency",
    "statement": "The Valem engine reproduces this model's stated formula through 6 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": 6,
    "ratesAreIllustrative": false,
    "sourcesCheckedOn": "2026-10-05"
  },
  "sources": [
    {
      "label": "Agenzia delle Entrate - IVA: norme generali e aliquote (22%, 10%, 5%, 4%)",
      "url": "https://www.agenziaentrate.gov.it/portale/iva-regole-generali-aliquote-esenzioni-pagamento/norme-generali-e-aliquote",
      "checked": "2026-10-05"
    },
    {
      "label": "Agenzia delle Entrate - Risposta n. 140/2025 (confirms 22% ordinaria and 10% ridotta as current)",
      "url": "https://www.agenziaentrate.gov.it/portale/documents/20143/8987735/Risposta+n.+140_2025.pdf/f56ae536-0127-06d2-17fe-c6ccc21638f6",
      "checked": "2026-10-05"
    }
  ],
  "terminalOutput": "grossAmount",
  "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",
        "superReduced",
        "reduced1",
        "reduced2"
      ]
    },
    {
      "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)"
    }
  ],
  "testCases": [
    {
      "description": "S1 100.00 EUR net at the aliquota ordinaria",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "standard",
        "reverseCharge": false
      },
      "expect": {
        "vatAmount": 22,
        "grossAmount": 122,
        "netAmount": 100
      }
    },
    {
      "description": "S2 122.00 EUR gross back to net at 22%",
      "given": {
        "amount": 122,
        "direction": "remove",
        "category": "standard",
        "reverseCharge": false
      },
      "expect": {
        "netAmount": 100,
        "vatAmount": 22
      }
    },
    {
      "description": "S3 100.00 EUR net at the 10% ridotta",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "reduced2",
        "reverseCharge": false
      },
      "expect": {
        "vatAmount": 10,
        "grossAmount": 110
      }
    },
    {
      "description": "S4 100.00 EUR net at the 5% ridotta",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "reduced1",
        "reverseCharge": false
      },
      "expect": {
        "vatAmount": 5,
        "grossAmount": 105
      }
    },
    {
      "description": "S5 100.00 EUR net at the 4% minima",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "superReduced",
        "reverseCharge": false
      },
      "expect": {
        "vatAmount": 4,
        "grossAmount": 104
      }
    },
    {
      "description": "S6 reverse charge: the supplier charges no IVA",
      "given": {
        "amount": 100,
        "direction": "add",
        "category": "standard",
        "reverseCharge": true
      },
      "expect": {
        "vatAmount": 0,
        "grossAmount": 100
      }
    }
  ],
  "spec": {
    "id": "vat-italy",
    "version": "1.0.0",
    "schema": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "number",
          "minimum": 0
        },
        "direction": {
          "type": "string",
          "enum": [
            "add",
            "remove"
          ]
        },
        "category": {
          "type": "string",
          "enum": [
            "standard",
            "superReduced",
            "reduced1",
            "reduced2"
          ]
        },
        "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
        }
      }
    },
    "constants": {
      "standardRate": 0.22,
      "superReducedRate": 0.04,
      "reducedRate1": 0.05,
      "reducedRate2": 0.1
    },
    "defaultValues": [
      {
        "path": "$",
        "expr": "{ 'amount': 100, 'direction': 'add', 'category': 'standard', 'reverseCharge': false }"
      }
    ],
    "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)"
      }
    ],
    "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: 22% ordinaria, then 10%, 5% and a 4% minimum rate. The full lists of what sits in each band are in Tabella A of DPR 633/1972, so the category labels here give examples rather than an exhaustive mapping. This page covers the RATE SCHEDULE only. Italy is widely described as having no registration threshold - you charge IVA from the first operation - but the Agenzia delle Entrate does not state that on its rates page, and the 85 000 EUR figure often quoted for Italy is the regime forfettario, which is an income-tax regime and a different question. Neither is published here rather than taken on trust."
            },
            {
              "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": "Aliquota ordinaria - 22%"
                    },
                    {
                      "value": "superReduced",
                      "label": "Aliquota minima - 4% (basic food, drink, agricultural produce)"
                    },
                    {
                      "value": "reduced1",
                      "label": "Aliquota ridotta - 5% (certain foods)"
                    },
                    {
                      "value": "reduced2",
                      "label": "Aliquota ridotta - 10% (domestic power and gas, medicines)"
                    }
                  ]
                },
                {
                  "id": "reverseCharge",
                  "type": "checkboxField",
                  "label": "B2B reverse charge applies",
                  "bind": "$.reverseCharge",
                  "helperText": "The customer accounts for the VAT, so you charge none."
                }
              ]
            },
            {
              "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"
                }
              ]
            },
            {
              "id": "sources",
              "type": "sourceList",
              "label": "Sources",
              "layers": 1,
              "items": [
                {
                  "label": "Agenzia delle Entrate - IVA: norme generali e aliquote (22%, 10%, 5%, 4%)",
                  "url": "https://www.agenziaentrate.gov.it/portale/iva-regole-generali-aliquote-esenzioni-pagamento/norme-generali-e-aliquote",
                  "date": "2026-10-05",
                  "covers": [
                    "standardRate",
                    "superReducedRate",
                    "reducedRate1",
                    "reducedRate2"
                  ]
                },
                {
                  "label": "Agenzia delle Entrate - Risposta n. 140/2025 (confirms 22% ordinaria and 10% ridotta as current)",
                  "url": "https://www.agenziaentrate.gov.it/portale/documents/20143/8987735/Risposta+n.+140_2025.pdf/f56ae536-0127-06d2-17fe-c6ccc21638f6",
                  "date": "2026-10-05",
                  "covers": [
                    "standardRate",
                    "reducedRate2"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    "tests": [
      {
        "description": "S1 100.00 EUR net at the aliquota ordinaria",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "standard",
          "$.reverseCharge": false
        },
        "expect": {
          "$.vatAmount": 22,
          "$.grossAmount": 122,
          "$.netAmount": 100
        }
      },
      {
        "description": "S2 122.00 EUR gross back to net at 22%",
        "given": {
          "$.amount": 122,
          "$.direction": "remove",
          "$.category": "standard",
          "$.reverseCharge": false
        },
        "expect": {
          "$.netAmount": 100,
          "$.vatAmount": 22
        }
      },
      {
        "description": "S3 100.00 EUR net at the 10% ridotta",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "reduced2",
          "$.reverseCharge": false
        },
        "expect": {
          "$.vatAmount": 10,
          "$.grossAmount": 110
        }
      },
      {
        "description": "S4 100.00 EUR net at the 5% ridotta",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "reduced1",
          "$.reverseCharge": false
        },
        "expect": {
          "$.vatAmount": 5,
          "$.grossAmount": 105
        }
      },
      {
        "description": "S5 100.00 EUR net at the 4% minima",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "superReduced",
          "$.reverseCharge": false
        },
        "expect": {
          "$.vatAmount": 4,
          "$.grossAmount": 104
        }
      },
      {
        "description": "S6 reverse charge: the supplier charges no IVA",
        "given": {
          "$.amount": 100,
          "$.direction": "add",
          "$.category": "standard",
          "$.reverseCharge": true
        },
        "expect": {
          "$.vatAmount": 0,
          "$.grossAmount": 100
        }
      }
    ]
  }
}
