SAFTCheck

totals.reconciliation

I totali di blocco riconciliano con i documenti figli

NumberOfEntries conta tutti i documenti (annullati inclusi); TotalDebit e TotalCredit devono corrispondere agli importi delle righe senza IVA, esclusi i documenti annullati, con tolleranza di 0,01.

Cosa controlla

Ogni totale a livello di blocco all'interno di SourceDocuments deve riconciliare con i documenti sottostanti:

  • NumberOfEntries = numero di documenti della sezione (Invoice / WorkDocument / Payment), annullati inclusi.
  • TotalDebit = somma del DebitAmount delle righe, e TotalCredit = somma del CreditAmount delle righe. Sono importi senza IVA, non il GrossTotal dei documenti. I documenti annullati restano fuori: stato A o F in SalesInvoices, A in WorkingDocuments e Payments.
  • MovementOfGoods.TotalQuantityIssued = somma della Quantity delle righe, esclusi i movimenti annullati.

La tolleranza è 0,01. Fonte: Portaria n.º 302/2016, che definisce questi campi come somme di controllo.

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

CampoDichiaratoRealeVerdetto
SalesInvoices.NumberOfEntries1212 (incluso 1 annullato)✓
SalesInvoices.NumberOfEntries1112✗ manca un documento nel conteggio
SalesInvoices.TotalCredit1234,561234,56 (righe senza IVA)✓
SalesInvoices.TotalCredit1518,511234,56✗ IVA inclusa per errore
SalesInvoices.TotalCredit1234,571234,56✓ entro la tolleranza di 0,01

Come correggere

  1. Riesegui l'estrazione SAF-T dall'ERP dopo aver chiuso eventuali bozze.
  2. Se l'ERP consente l'override manuale degli aggregati di blocco, impostali sui valori "reali" segnalati da SAFTCheck.
  3. Se la discrepanza è un bug noto di arrotondamento per riga del tuo ERP, escala al fornitore — questi aggregati sono calcolati a valle delle righe.

Altre regole