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. This error involves a protected field — Invoice Navigator flags it in your pipeline so your team can correct it at the source.
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.
SDI-00311 involves a financial or legal field that cannot be auto-modified by policy. Invoice Navigator detects and flags this error immediately, but the correction must be made manually in your ERP or invoicing software.
Related Content
Last updated: 3 March 2026
Detect SDI-00311 Before Submission
This error involves a financial or legal field that cannot be auto-modified. The compliance engine flags it immediately with a clear diagnosis so your team can fix it at the source.