Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

l10n_it_fatturapa_out: Creazione FE per fatture in valuta estera #2590

Closed
2 tasks done
SimoRubi opened this issue Jan 14, 2022 · 3 comments
Closed
2 tasks done

l10n_it_fatturapa_out: Creazione FE per fatture in valuta estera #2590

SimoRubi opened this issue Jan 14, 2022 · 3 comments

Comments

@SimoRubi
Copy link
Member

SimoRubi commented Jan 14, 2022

Riporto un estratto della discussione nella chiamata di stamattina, con anche qualche riferimento della documentazione.

Le specifiche della FE (https://www.agenziaentrate.gov.it/portale/documents/20143/4056792/Allegato+A+-+Specifiche+tecniche+vers+1.7_30122021.pdf/80bc484b-57d8-1803-f1ab-948bf95912b9) riportano:

Per quanto riguarda la divisa:

Divisa: tipo di valuta utilizzata per l'indicazione degli importi.
[...]
Divisa: questo campo deve essere espresso secondo lo standard ISO 4217 alpha-3:2001 (es.: EUR, USD, GBP, CZK………).
[...]

Per quanto riguarda gli importi in Euro:

aliquota, ammontare dell'imposta e dell'imponibile con arrotondamento al centesimo di euro;

a conferma di questo, anche nei singoli campi viene indicato che vanno espressi in Euro:

PrezzoTotale: importo totale del bene/servizio. Il valore indicato deve corrispondere al prodotto del precedente elemento PrezzoUnitario, rettificato in diminuzione o in aumento in base alla presenza dell’elemento ScontoMaggiorazione, per l’elemento Quantita. Se non viene verificata la suddetta corrispondenza e la differenza è superiore a ±1 centesimo di euro (tolleranza ammessa), il file viene scartato con codice errore 00423.
[...]
ImponibileImporto: valore che rappresenta la base imponibile, per le operazioni soggette ad IVA, oppure l’importo per le operazioni che non rientrano tra quelle 'imponibili'. Il valore indicato deve corrispondere, per ogni aliquota IVA distinta, alla somma dei seguenti elementi:
 PrezzoTotale indicato in DettaglioLinee
 ImportoContributoCassa indicato in DatiCassaPrevidenziale (se presente)
 Arrotondamento indicato in DatiRiepilogo
Se non viene verificata la suddetta corrispondenza e la differenza è superiore a ±1 euro (tolleranza ammessa), il file viene scartato con codice errore 00422.
[...]
Imposta: imposta corrispondente all’applicazione dell’aliquota IVA sul relativo imponibile. Il valore indicato deve corrispondere al prodotto dei precedenti elementi AliquotaIVA e ImponibileImporto, diviso 100, arrotondato alla seconda cifra decimale (per difetto se la terza cifra decimale è inferiore a 5, per eccesso se la terza cifra decimale è uguale o maggiore di 5). Se non viene verificata la suddetta corrispondenza e la differenza è superiore a ±1 centesimo di euro (tolleranza ammessa), il file viene scartato con codice errore 00421.

Nota che PrezzoTotale (2.2.1.11) è un valore di riga perché fa parte di DettaglioLinee (2.2.1); mentre ImponibileImporto (2.2.2.5) e Imposta (2.2.2.6) sono valori di riepilogo delle imposte perché fanno parte di DatiRiepilogo (2.2.2).

Quindi l'utente è obbligato a inserire valori in Euro nelle righe e nei valori riepilogativi delle imposte.
Non risulta invece essere obbligato a inserire valori in Euro in DatiGeneraliDocumento (2.1.1), dove ci sono i campi:

  • Divisa (2.1.1.2)
  • ImportoTotaleDocumento (2.1.1.9)

Questo mette a disposizione diverse opzioni, citate anche nella FAQ 64 di https://www.agenziaentrate.gov.it/portale/documents/20143/0/10FAQ+pubblicate+il+19+luglio+2019+%28aggiornate+il+1+luglio+2021%29.pdf/6e8acb34-b7c5-730e-6a39-79c0a296e02b.

Le opzioni sono (assumendo che la valuta estera sia USD):

  • importo totale documento in USD
    • divisa: USD
    • importo totale: importo in USD
    • importi righe e riepilogo IVA: importi in EUR
    • (opzionale) nei campi descrittivi (CodiceArticolo o AltriDatiGestionali) indicare che gli importi delle righe e di riepilogo sono in Euro
      ma l'importo documento è in USD.
    • (opzionale) nei campi descrittivi (CodiceArticolo o AltriDatiGestionali) indicare gli importi delle righe in USD, ad esempio:
      • CodiceArticolo:
        • CodiceTipo: USD
        • CodiceValore: importo in USD
  • importo totale documento in EUR
    • divisa: EUR
    • importo totale: importo in EUR
    • importi righe e riepilogo IVA: importi in EUR
    • (opzionale) nei campi descrittivi (CodiceArticolo o AltriDatiGestionali) indicare gli importi delle righe in USD, ad esempio:
      • CodiceArticolo:
        • CodiceTipo: USD
        • CodiceValore: importo in USD

Siccome entrambi questi approcci sarebbero in teoria accettati da SDI, idealmente l'utente dovrebbe poter scegliere quale dei due applicare.

Implementazione:

@TheMule71
Copy link
Contributor

Vd. #2563 (comment)

@matteoopenf
Copy link
Contributor

per la 12.0 ho aperto questa #2684 che migliora quella esistente in draft

@TheMule71
Copy link
Contributor

TheMule71 commented Feb 24, 2022

Il motivo per cui non ho portato avanti quella sulla 12.0 è che se poi questa viene cambiata, vanno aggiornate entrambe. Se il comportamento viene considerato corretto e questa viene approvata, avrei portanto avanti anche l'altra. Comunque, per me non è un problema.

Edit: sorry, per questa intendevo #2563

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants