SDI-00421

2.2.2.6 <Imposta> … is not AliquotaIVA * ImponibileImporto / 100 = … (tolerance 0.01).

Official rule text

SDI 00421: 2.2.2.6 <Imposta> … is not AliquotaIVA * ImponibileImporto / 100 = … (tolerance 0.01).

Where the rule applies

Rule setDocument typeSeverity
FatturaPA (XML schema, SDI controls) (1.2.3)
Agenzia delle Entrate
FatturaPA 1.2.3 FPR12 (B2B), FatturaPA 1.2.3 FPA12 (public sector)error

Fatal and error findings make the invoice invalid (valid: false); warnings and information do not.

Technical check

Syntax
FATTURAPA · FatturaPA (XML schema, SDI controls) (1.2.3)
Condition
exists($rate) and exists($base) and exists($tax) and abs($tax - f:round2($rate * $base div 100)) gt 0.01
Syntax
UBL · FatturaPA (XML schema, SDI controls) (1.2.3)
Condition
exists($rate) and exists($base) and exists($tax) and abs($tax - f:round2($rate * $base div 100)) gt 0.01

How the API reports this rule

Every finding of POST /v1/validate carries the rule id, severity, message, location (XPath) and rule set, and links this page (docUrl):

{
  "severity": "error",
  "ruleId": "SDI-00421",
  "message": "SDI 00421: 2.2.2.6 <Imposta> … is not AliquotaIVA * ImponibileImporto / 100 = … (tolerance 0.01).",
  "xpath": "/…",
  "source": "schematron:fatturapa@1.2.3",
  "docUrl": "https://einvoice-api.eu/rules/sdi-00421.html"
}

Check an invoice against this rule and every other rule of the rule set – in the browser, without sign-up.

Rule text and severity are taken unchanged from the official rule set; this page is generated from the API's configuration. Not legal advice.