SAFTCheck
Documentación / totals-reconciliation
totals.reconciliation

Los totales de bloque cuadran con los documentos hijos

NumberOfEntries y TotalDebit+TotalCredit de cada sección deben coincidir con los documentos que contienen, dentro de 0,01 €.

Qué comprueba

Cada total a nivel de bloque dentro de SourceDocuments debe cuadrar con los documentos por debajo:

  • NumberOfEntries = recuento de documentos hijos (Invoice / Payment / WorkDocument / StockMovement).
  • TotalDebit + TotalCredit = suma del DocumentTotals.GrossTotal de cada documento hijo, dentro de una tolerancia de 0,01 €.

Cubre cuatro bloques: SalesInvoices, Payments, WorkingDocuments, MovementOfGoods.

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

CampoDeclaradoRealVeredicto
SalesInvoices.NumberOfEntries1212
SalesInvoices.NumberOfEntries1112✗ off-by-one
SalesInvoices.TotalCredit1 234,55 €1 234,56 €✗ 1 céntimo por encima de la tolerancia
Payments.NumberOfEntries00✓ (bloque ausente o vacío es OK)

Cómo corregir

  1. Vuelve a ejecutar la extracción SAF-T desde tu ERP tras cerrar cualquier borrador.
  2. Si tu ERP permite anular manualmente los agregados de bloque, ajústalos a los valores "reales" reportados por SAFTCheck.
  3. 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.

Otras reglas

Usamos una cookie de sesión para iniciar sesión, una cookie de idioma para la preferencia lingüística y Tawk.to para el widget de chat en vivo (que establece sus propias cookies al abrir el chat). Google Analytics (GA4) se carga solo después de que aceptes, con anonimización de IP; sin rastreadores publicitarios. Consulta nuestra Política de Privacidad.