Arrotondamenti fattura elettronica

Salve,
ho da poco sottoposto una fattura rigettata con la seguente motivazione dallo sdi:

2.2.1.11 PrezzoTotale non calcolato secondo le regole definite nelle specifiche tecniche per la linea numero 1 […] c’è un errore nel calcolo del campo PrezzoTotale.

La righa di fattura presenta un prezzo unitario di 1.84
PrezzoTotale 2545.99
Quantità 1620 pezzi
la serie di sconti è: 1%,2%,1,8%,2%,0,5%,8,06%

    <Quantita>1620.00</Quantita>
    <UnitaMisura>BST</UnitaMisura>
    <PrezzoUnitario>1.84</PrezzoUnitario>
    <ScontoMaggiorazione>
      <Tipo>SC</Tipo>
      <Percentuale>1.00</Percentuale>
    </ScontoMaggiorazione>
    <ScontoMaggiorazione>
      <Tipo>SC</Tipo>
      <Percentuale>2.00</Percentuale>
    </ScontoMaggiorazione>
    <ScontoMaggiorazione>
      <Tipo>SC</Tipo>
      <Percentuale>1.80</Percentuale>
    </ScontoMaggiorazione>
    <ScontoMaggiorazione>
      <Tipo>SC</Tipo>
      <Percentuale>2.00</Percentuale>
    </ScontoMaggiorazione>
    <ScontoMaggiorazione>
      <Tipo>SC</Tipo>
      <Percentuale>0.50</Percentuale>
    </ScontoMaggiorazione>
    <ScontoMaggiorazione>
      <Tipo>SC</Tipo>
      <Percentuale>8.06</Percentuale>
    </ScontoMaggiorazione>
    <PrezzoTotale>2545.99</PrezzoTotale>

Calcolando il prezzo unitario scontato con un foglio elettronico ottengo 1.571608021 che moltiplicato per la quantità viene 2546,004994

Se non arrotondo questo numero e faccio il controllo, ottengo 2546,004994 - 2545.99 > 0.01, ma in altri casi di altre fatture, ho avuto la stessa situazione eppure la fattura è stata accettata senza problemi.

Quindi in questi mesi, ho sempre considerato che il valore calcolato dagli sconti, per effettuare il controllo debba essere sempre arrotondato alla seconda cifra decimale.

Eppure se arrotondo 2546,004994 alla seconda cifra decimale ottengo 2546,00 e quindi il controllo del prezzo totale sarebbe dovuto andare bene su questa riga.

Dove sbaglio?

Grazie
Domenico

ti consiglio di guardare qui


a pagina 79

spiegano la problematica

Ciao Daniele,
grazie del suggerimento ma non è quello il caso, io non ho importi negli sconti ma solo percentuali.

Domenico

in realtà è proprio quello il tuo caso, nel senso che spiegano eventuali problematiche in caso di sconti con importi e percentuali assieme

inoltre, da questo link


dalla pagina 27 in poi fanno gli esempi del tuo caso con calcoli alla mano.

va ricordato inoltre che l’arrotondamento va fatto per eccesso o difetto partendo tagliando quello che c’è dopo la terza cifra. (viene spiegato a pagina 22 in merito all’imposta)

Ciao Daniele,

…premesso che io non ho importi e percentuali insieme ma solo percentuali (ho incluso anche lo snippet dell’ XML)

comunque, se io arrotondo così come è specificato nella documentazione dei Controlli Extra XSD 1.5 a pagina 22 (anche se la nota si riferisce all’imposta) il valore 2546,004994 ottengo 2546,00.

A questo punto considerando che l’importo totale che ho inserito nell’XML è 2545,99 mi trovo nella tolleranza prevista e quindi ancora di più non capisco perchè ho uno scarto dallo SDI.

Domenico

era riferito al fatto che in quella sezione spiegavano come avvengono i calcoli e di conseguenza potevano aiutarti a trovare il problema.

ad esempio, poco sotto, specificano che il numero può essere a virgola mobile con un massimo di 8 decimali.

a tale proposito potrebbe essere che durante il calcolo degli sconti vengano troncati o arrotondati dato che al secondo o terzo sconto che applichi, superi le 8 cifre decimali.
Prova magari a rifare il calcolo troncando all’ottava cifra per ogni arrotondamento e poi rifare lo stesso test arrotondando all’ottavo decimale.

potrebbe verificarsi il caso (raro? ) che troncando o arrotondando all’ottavo decimale, avvenga una maggiorazione /diminuzione di un centesimo.

ho provato su un foglio elettronico a simulare il calcolo ho visto che diminuendo i decimali usati nel calcolo del prezzo unitario il valore non cambia ti riepilogo di seguito i calcoli considerando 8 cifre per i decimali:

41

La mia ipotesi è che lo SDI arrotondi in modo diverso (…diverso dal calcolo dichiarato a pagina 22 dell’elenco controlli) il valore calcolato e quindi 2546.00496 diventa …per non si sa quale ragione (ma probabilmente per un errore di programma) 2546.01.

Mi piacerebbe che da qualche parte però fosse esplicitamente dichiarata la modalità di calcolo.
perchè io nonostante gli esempi non ho visto da nessuna parte dichiarato che per il calcolo del valore di controllo del PrezzoTotale vengono usati 5,8 o 15 decimali.

Se fosse vero quello che è scritto nei “Controlli Extra XSD” caso 2 pagine 27 io personalmente avrei un fiume di fatture in errore visto che non si fa riferimento a arrotondamenti nel calcolo dell’importo totale.
Quindi in qualche modo un arrotondamento ci deve essere anche se non può essere quello espresso a pagina 22 dello stesso documento altrimenti la mia fattura non sarebbe stata rigettata con errore 2.2.1.11

Parti dal presupposto che quello che affronti è una cosa strana e inoltre non ci sono “guide” degne di nota. quindi l’unica cosa che mi verrebbe da fare è provare varie soluzioni.

ho provato a fare il calcolo esattamente come lo fa SDI anziché con il calcolo che normalmente faccio io.

io di solito faccio importo_netto = Importo / 100 * (100-sconto_percentuale )

nei file dei suggerimenti e in quello dei controlli invece SDI fa :
sconto_euro = importo /100 * sconto_percentuale
importo_netto = importo - sconto_euro

a questo punto ho provato ad applicare la sua modalità ed ipotizzando il limite di 8 decimali ho troncato (non arrotondando) lo sconto_euro prima di sottrarlo all’importo precedente.
1,84 - 1% -> 0,0184‬
1,8216 - 2%-> 0,036432
1,785168 - 1.8% 0,03213302 ( anziché 0,032133024 )
1,75303498 - 2% -> 0,03506069
1,71797429‬ - 0.5% -> 0,00858987
1,70938442 - 8.6% 0,13777638
1,57160804 * 1620
2.546,0050248 => 2.546,005 => 2.546,01

quindi 2.546,01 - 2.545,99 = 0,02

ATTENZIONE: questo non vuol dire che il calcolo che ti sto riportando sia quello “GIUSTO”. è semplicemente una delle possibilità di calcolo che si possono eseguire in base alle indicazioni della guida rilasciata dall’agenzia delle entrate e che ha portato ad un risultato che conferma la notifica di errore che ti è stata data.

probabilmente (non ho provato) se anziché troncare a 8 cifre arrotondavo, avrei ottenuto il tuo stesso risultato. lascio a te comunque le prove.

il problema in questi casi è che uno non può pensare di adattare un intero gestionale ai calcoli che si inventa l’agenzia delle entrate.

quindi come far combaciare le due cose?
personalmente per certe situazioni ho rinunciato a riportare le percentuali ed ho applicato lo sconto in euro o in casi estremi ho riportato l’importo per intero e poi aggiunto una riga di sconto successivamente.

il problema principale è che è stato dato per scontato da parte dell’agenzia delle entrate il metodo di calcolo di una fattura.
Ho provato diversi gestionali.

  • in alcuni viene creato il prezzo unitario netto, viene arrotondato, e poi viene moltiplicato per le quantità (il prezzo netto non cambia a prescindere della quantità)
  • in altri viene fatto come con l’agenzia delle entrate. ovvero sommando il tutto e poi arrotondato. (il prezzo può cambiare in base alla quantità)
  • in uno molto vecchio, avvenivano delle troncature/arrotondamenti per ogni sconto percentuale in modo che l’importo fosse sempre a 2 decimali…

tanti casi, tante possibilità

Grazie Daniele,
questo mi è di molto aiuto, io non ho usato gli importi perché all’inizio avevo assunto che anche sugli importi valeva il limite dei due decimali.

…e in oltre è stato proprio un requirement del cliente.

Quindi devo riuscire a implementare esattamente il calcolo che fa lo sdi per poter calcolare l’arrotondamento.

Però ci potrei pensare dato che se va avanti così almeno una fattura ogni tre mesi statisticamente verrebbe scartata.

Domenico

sinceramente ho parlato molto apertamente ai clienti nel 2018 e detto una cosa tipo :

l’agenzia delle entrate calcola le fatture in un certo modo che è diverso dal tuo. Quindi se aggiorniamo il sistema come indicato dall’agenzia, la fattura che hai emesso nel 2018 se la riemetti identica ora, potrà avere un importo diverso. Inoltre certi arrotondamenti o adattamenti che hai usato fino ad oggi saranno persi.

  • possibilità 1 ) riporti i prezzi esattamente come vuole l’agenzia delle entrate ma perdi le personalizzazioni sui prezzi
  • possibilità 2 ) nella fattura elettronica riporti il prezzo netto senza riportare la scontistica. chi riceverà la fattura vedrà il prezzo finale, per gli sconti e altro dovrà guardare la fattura originale allegata

Tutti hanno scelto di procedere con secondo metodo. Specie chi fa vendita di argenteria che voleva mostrare il calcolo in fattura del peso, lo sconto al grammo, lo sconto manodopera, il costo fisso…

quindi le fatture elettroniche emesse per chi aveva prezzi sull’euro con quantità elevate e tanti sconti o per casi un po particolari, sono risultate in un qualcosa simile a queste possibilità

Opzione 1 (totale sconto)
( 1,84 - 0,267783(sconto totale unitario in euro) ) * 1620 = 2545.99

Opzione 2 (sconto successivo)
articolo xyz 1,84 * 1620 => 2.980,8
sconto sull’articolo (rigo tipo SC ) -433,81‬

Opzione 3 (ricalcolo del prezzo unitario) (2545.99/1620)
articolo xyz 1,57159876‬ * 1620 => 2545.99 (2.545,9899912)

mentre nell’xml viene allegata la fattura pdf in originale.
inoltre è stato dato loro un metodo per inviare massivamente i pdf delle fatture tramite mail.

L’ideale sarebbe stato che tutti usassero il metodo dell’agenzia, sia chiaro…
Ma considerando che :

  • quando ho chiesto a 4 commercialisti il calcolo di alcune fatture mi hanno dato in certi casi risultati diversi tra loro (di qualche centesimo) in base agli arrotondamenti che eseguivano
  • le fatture che i clienti hanno ricevuto in questi anni volte non tornavano (imponibile - sconto *quantità) , specie quelle del telepass

E’ evidente che il metodo corretto di calcolo delle fatture o non è noto oppure si è modificato nel tempo, creando molta confusione.