SDI-00311:Ritenuta d'acconto calculation error
Withholding tax (ritenuta d'acconto) amount must exactly match the base amount × declared rate calculation. Any discrepancy causes rejection.
Engine Classification
Financial or legal field · Modification blocked by policy
Reason: Withholding tax (ritenuta d'acconto) involves financial calculation: base amount × rate must equal the declared withholding amount. Verify the calculation in your accounting system and regenerate the invoice with correct values. Auto-fixing financial calculations is not permitted.
What is SDI-00311?
SDI-00311 is a fatal validation rule defined in the FatturaPA specification (ITA national rules). It checks whether ritenuta d'acconto calculation error.
When this rule fires, the invoice is non-compliant and will be rejected by Peppol access points and national validation services. The sending system receives a rejection response and the invoice does not reach the buyer.
Why This Error Matters
SDI-00311 is a hard failure. Invoices that trigger this rule are rejected at the access point and never reach the recipient. In Peppol networks, this means your sending system receives an MLR (Message Level Response) with a rejection status. The invoice must be corrected and re-sent, adding delay to your payment cycle.
Validator Behavior
- ·Causes invoice rejection
- ·Rejected by SDI (Sistema di Interscambio)
- ·Error returned: SDI-00311
- ·Specification: FatturaPA
How to Fix It
Technical Reference
Code Example
<DatiRitenuta><TipoRitenuta>RT01</TipoRitenuta><ImportoRitenuta>200.00</ImportoRitenuta><AliquotaRitenuta>20.00</AliquotaRitenuta></DatiRitenuta>Common Causes
- ·Calculation rounding error
- ·Wrong percentage applied
- ·Base amount incorrect
Seeing this in production? The API handles SDI-00311 automatically. See the fix response →
Frequently Asked Questions
Withholding tax (ritenuta d'acconto) amount must exactly match the base amount × declared rate calculation. Any discrepancy causes rejection.
Verify the ritenuta calculation matches the declared percentage. You can also use Invoice Navigator's automatic Fixer tool to correct this instantly.
Yes, SDI-00311 is a critical error that will cause invoice rejection. It must be fixed before submission to ensure your invoice is accepted by the recipient's system.
Many instances of SDI-00311 can be automatically corrected using Invoice Navigator's Fixer tool. Upload your invoice and the tool will identify and fix common issues, including ritenuta d'acconto calculation error.
Last updated: 19 January 2026
Handle SDI-00311 Automatically in Your Pipeline
The compliance engine auto-remediates this error with controlled safety policies and evidence pack generation.