[RISOLTO] Arrotondamenti imposta su e-fattura

Ho fatto un test sul mio gestionale (sviluppato da me) generando una fattura retail (dove il listino è già ivato e quindi l’imponibile va scorporato al volo).

Nel caso di prezzi ivati da scorporare al volo ci sono due problemi distinti:

  1. la somma degli imponibili ivati potrebbe essere diversa dalla somma ivata degli imponibili, oppure, problema duale, la somma dei prezzi ivati scorporati potrebbe essere diversa dalla somma scorporata dei prezzi ivati

  2. il totale tondo da scorporare non è esattamente scorporabile, ovvero, partendo dal TotaleTondo, sia
    TotaleImponibile = Round(TotaleTondo/(1+Aliquota/100), 2, MidpointRounding.AwayFromZero)
    TotaleImposta = Round(TotaleImponibile*Aliquota/100, 2, MidpointRounding.AwayFromZero)
    l’ugliaglianza TotaleImponibile+TotaleImposta=TotaleTondo potrebbe non essere mai verificata

Questi due problemi vanno quindi risolti in modo indipendentemente. Ecco come li ho risolti:

Preliminarmente calcolo
TotaleTondo = somma dei prezzi ivati di ogni riga

  1. Calcolo
    TotaleImponibile = somma degli imponibili di ogni riga
    TotaleImposta = Round(TotaleImponibile*Aliquota/100, 2, MidpointRounding.AwayFromZero)
    se (TotaleTondo - (TotaleImponibile+TotaleImposta)) è diverso da zero, aggiungo una voce in fattura “Arrotondamento su somma importi imponibili” con importo pari a Round((TotaleTondo - (TotaleImponibile+TotaleImposta)) / (1+Aliquota/100), 2, MidpointRounding.AwayFromZero)

  2. Calcolo
    TotaleImponibile = somma degli imponibili di ogni riga (compresa la eventuale correzione precedente)
    TotaleImposta = Round(TotaleImponibile*Aliquota/100, 2, MidpointRounding.AwayFromZero)
    se (TotaleTondo - (TotaleImponibile+TotaleImposta)) è diverso da zero, aggiungo una voce in fattura “Arrotondamento su scorporo IVA” con importo pari a Round((TotaleTondo - (TotaleImponibile+TotaleImposta)) / (1+Aliquota/100), 2, MidpointRounding.AwayFromZero)

Infine calcolo
TotaleImponibile = somma degli imponibili di ogni riga (comprese le eventuali una o due correzioni precedenti)
TotaleImposta = TotaleTondo - TotaleImponibile

Così facendo posso sempre stare sicuro che:
TotaleImponibile combacia al centesimo con la somma delle voci
TotaleImponibile + TotaleImposta combacia al centesimo con TotaleTondo
Abs(TotaleImposta - TotaleImponibile * Aliquota/100) sarà sempre inferiore al centesimo e quindi sarà sempre entro la tolleranza consentita

Nel caso in questione, ovvero con TotaleTondo = 200, ottengo quindi il seguente risultato:

		<DatiBeniServizi>
			<DettaglioLinee>
				<NumeroLinea>1</NumeroLinea>
				<Descrizione>ARTICOLO CON PREZZO IVATO 200 EURO</Descrizione>
				<Quantita>1.00</Quantita>
				<PrezzoUnitario>163.93</PrezzoUnitario>
				<PrezzoTotale>163.93</PrezzoTotale>
				<AliquotaIVA>22.00</AliquotaIVA>
			</DettaglioLinee>
			<DettaglioLinee>
				<NumeroLinea>2</NumeroLinea>
				<TipoCessionePrestazione>SC</TipoCessionePrestazione>
				<Descrizione>Arrotondamento su somma importi imponibili</Descrizione>
				<Quantita>1.00</Quantita>
				<PrezzoUnitario>0.01</PrezzoUnitario>
				<PrezzoTotale>0.01</PrezzoTotale>
				<AliquotaIVA>22.00</AliquotaIVA>
			</DettaglioLinee>
			<DettaglioLinee>
				<NumeroLinea>3</NumeroLinea>
				<TipoCessionePrestazione>SC</TipoCessionePrestazione>
				<Descrizione>Arrotondamento su scorporo IVA</Descrizione>
				<Quantita>1.00</Quantita>
				<PrezzoUnitario>-0.01</PrezzoUnitario>
				<PrezzoTotale>-0.01</PrezzoTotale>
				<AliquotaIVA>22.00</AliquotaIVA>
			</DettaglioLinee>
			<DatiRiepilogo>
				<AliquotaIVA>22.00</AliquotaIVA>
				<ImponibileImporto>163.93</ImponibileImporto>
				<Imposta>36.07</Imposta>
				<EsigibilitaIVA>I</EsigibilitaIVA>
			</DatiRiepilogo>
		</DatiBeniServizi>

post vecchio ma può tornare utile.

fatalità ho un cliente che ha deciso di fatturare iva inclusa a quantità multiple.
il discorso del 1 centesimo di sconto funziona fin tanto che le quantità sono 1 e si ha un solo rigo.

ma quando si hanno molteplici righe, non si riesce più ad applicare uno sconto automatico.
ad esempio 1639,35 il totale ivato dell’articolo darebbe 2000.01
se ne ho due
Art1 2000 ivato => 1639,35 -> 2000.01
Art2 2000 ivato => 1639,35 -> 2000.01
totale
3278,7 -> 4.000,014 => 4.000,01
quindi anche se mi aspetto un totale di 4000.02 avrò un valore differente.

La cosa si complica se si usano articoli iva esclusa ed articoli iva inclusa nella stessa fattura (il mio caso) e la contabilizzazione dei singoli importi suddivisi per ricavi differenti

Attualmente sto optando per applicare uno sconto sul solo imponibile
aggiungendo una riga di sconto con iva fuori campo ma non riesco a trovare la normativa corretta da applicare e il commercialista non mi sta aiutando :unamused:
o per essere più precisi mi ha detto che arrotondare 1 centesimo fuori campo iva è follia, di lasciare la fattura non arrotondata e quando si andrà a contabilizzare lo si mette negli abbuoni.

[22%]    3278,7  => 721.31   ====> 4000.01
[ivaFC]   -0.01  =>    0.0   ====>   -0.01
----------------------------------------------
Totale                             4000.00

il tutto considerando che anteprima di fattura, stampa di cortesia, xml devono essere identici tra loro

Noi lo facciamo da 10 anni almeno… e abbiamo continuato a farlo anche sulle fatture elettroniche…

Mah questo può sicuramente funzionare MA ci sono delle situazioni in cui lo vedo rischioso, per esempio se parliamo di una vendita in contrassegno, gli fai il contrassegno da 200,00 o da 200,01 ? E il cliente che già aveva una conferma della vendita a 200,00 e ha già fatto l’assegno magari, il corriere che gli porta il pacco deve accettare i 200,00 o deve pretendere i 200,01…

Lo stesso per altri tipi di pagamento, avere una differenza tra il contratto di vendita (ordine o quel che è) e la fattura a me pare molto molto pericoloso ai fini gestionali, poi magari per la contabilità si risolve con un abbuono… non dico di no. :slight_smile: