totals.reconciliation
Los totales de bloque cuadran con los documentos hijos
NumberOfEntries cuenta todos los documentos (anulados incluidos); TotalDebit y TotalCredit deben igualar los importes de las líneas sin IVA, sin los documentos anulados, con tolerancia de 0,01.
Qué comprueba
Cada total a nivel de bloque dentro de SourceDocuments debe cuadrar con los documentos por debajo:
NumberOfEntries= número de documentos de la sección (Invoice/WorkDocument/Payment), anulados incluidos.TotalDebit= suma delDebitAmountde las líneas, yTotalCredit= suma delCreditAmountde las líneas. Son importes sin IVA, no elGrossTotalde los documentos. Los documentos anulados quedan fuera: estadoAoFenSalesInvoices,AenWorkingDocumentsyPayments.MovementOfGoods.TotalQuantityIssued= suma de laQuantityde las líneas, sin los movimientos anulados.
La tolerancia es de 0,01. Fuente: Portaria n.º 302/2016, que define estos campos como sumas de control.
Por qué le importa a la AT
Los totales de bloque son el checksum de integridad que la AT valida a la entrada. Un off-by-one en el recuento suele ser un borrador que no se cerró; una desviación de céntimos es un desajuste de redondeo entre el motor por línea del ERP y el agregador SAF-T.
Ejemplos
| Campo | Declarado | Real | Veredicto |
|---|---|---|---|
| SalesInvoices.NumberOfEntries | 12 | 12 (incluido 1 anulado) | ✓ |
| SalesInvoices.NumberOfEntries | 11 | 12 | ✗ falta un documento en el recuento |
| SalesInvoices.TotalCredit | 1234,56 | 1234,56 (líneas sin IVA) | ✓ |
| SalesInvoices.TotalCredit | 1518,51 | 1234,56 | ✗ IVA incluido por error |
| SalesInvoices.TotalCredit | 1234,57 | 1234,56 | ✓ dentro de la tolerancia de 0,01 |
Cómo corregir
- Vuelve a ejecutar la extracción SAF-T desde tu ERP tras cerrar cualquier borrador.
- Si tu ERP permite anular manualmente los agregados de bloque, ajústalos a los valores "reales" reportados por SAFTCheck.
- Si la discrepancia es un bug conocido de redondeo por línea de tu ERP, escálalo con el proveedor — estos agregados se calculan aguas abajo de las líneas.