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 set | Document type | Severity |
|---|---|---|
| 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.