totals.reconciliation
I totali di blocco riconciliano con i documenti figli
NumberOfEntries e TotalDebit+TotalCredit di ogni sezione devono corrispondere ai documenti sottostanti, entro 0,01 €.
Cosa controlla
Ogni totale a livello di blocco all'interno di SourceDocuments deve riconciliare con i documenti sottostanti:
NumberOfEntries= numero di documenti figli (Invoice/Payment/WorkDocument/StockMovement).TotalDebit + TotalCredit= somma delDocumentTotals.GrossTotaldi ogni documento figlio, entro una tolleranza di 0,01 €.
Copre quattro blocchi: SalesInvoices, Payments, WorkingDocuments, MovementOfGoods.
Perché interessa all'AT
I totali di blocco sono il checksum di integrità che l'AT convalida in ingresso. Un off-by-one nel conteggio è di solito una bozza che non si è chiusa; uno scarto di centesimi è un disallineamento di arrotondamento tra il motore per-riga dell'ERP e l'aggregatore SAF-T.
Esempi
| Campo | Dichiarato | Reale | Verdetto |
|---|---|---|---|
| SalesInvoices.NumberOfEntries | 12 | 12 | ✓ |
| SalesInvoices.NumberOfEntries | 11 | 12 | ✗ off-by-one |
| SalesInvoices.TotalCredit | 1 234,55 € | 1 234,56 € | ✗ 1 centesimo oltre la tolleranza |
| Payments.NumberOfEntries | 0 | 0 | ✓ (blocco assente o vuoto è OK) |
Come correggere
- Riesegui l'estrazione SAF-T dall'ERP dopo aver chiuso eventuali bozze.
- Se l'ERP consente l'override manuale degli aggregati di blocco, impostali sui valori "reali" segnalati da SAFTCheck.
- Se la discrepanza è un bug noto di arrotondamento per riga del tuo ERP, escala al fornitore — questi aggregati sono calcolati a valle delle righe.