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

16.0 fatturapa_out Bug: Duplicazione Codice ISO nel Campo VAT Fatture Elettroniche per Clienti Esteri e San Marino con Partita IVA #4078

Open
2 tasks
maxgrassi opened this issue Mar 29, 2024 · 8 comments · May be fixed by #4085 or #4086
Assignees

Comments

@maxgrassi
Copy link

maxgrassi commented Mar 29, 2024

Il problema riguarda la duplicazione del codice ISO nella sezione Identificativo Fiscale delle fatture elettroniche emesse a clienti esteri con VAT number ad esempio fatture a Ditte EU con Vat number valido o a clienti (ditte) di San Marino.

In Odoo nel campo VAT si deve inserire il VAT number comprensivo del codice ISO della nazione, ad esempio: IT12345678901 oppure DE123456789.

Per quanto riguarda le fatture elettroniche emesse a clienti italiani, funziona correttamente, in fattura elettronica si legge: IT12345678901

Per quanto riguarda le fatture elettroniche emesse a clienti esteri, l'ISO è duplicato, in fattura elettronica si legge: DEDE123456789.

La problematica è emersa con San Marino, anche a San Marino sono passati in elettronico, e ci viene segnalato che la fattura non è arrivata in elettronico in quanto è stato indicato il codice “SMSM” 2 volte.

Da un controllo fatto sulle vecchie fatture inviate a clienti UE con VAT number (non emesse con ODOO) risulta che passano tramite SDI senza errore con il VAT number inserito correttamente: DE123456789.

Anche le fatture emesse con ODOO e con vat number con iso duplicato DEDE123456789 passano tramite SDI senza errori ma il problema si pone con San Marino in quanto pare che se l'ISO è duplicato la fattura elettronica non viene ricevuta.

Si suggerisce di inserire sempre il VAT number corretto in fattura elettronica per tutti i clienti che hanno il campo compilato.

Grazie

@maxgrassi maxgrassi added the bug label Mar 29, 2024
@SirAionTech
Copy link
Contributor

Grazie delle segnalazione!
Forse non è proprio lo stesso problema, ma è simile a #3927.

@maxgrassi
Copy link
Author

Si ma nella #3927 si parla di fattura di cortesia mentre nel caso segnalato è nel file xml generato, in pratica quello che viene inviato allo SDI.

@matteoopenf
Copy link
Contributor

anche noi abbiamo avuto lo stesso problema per l'xml verso san marino, sul fatto che viene ripetuto SM, bisognerebbe gestire il caso altrimenti la fattura non la ricevono

@maxgrassi
Copy link
Author

maxgrassi commented Apr 2, 2024 via email

@TheMule71
Copy link
Contributor

In Odoo nel campo VAT si deve inserire il VAT number comprensivo del codice ISO della nazione, ad esempio: IT12345678901 oppure DE123456789.

Va messo l'identificativo completo. Le prime due lettere NON sono il codice ISO della nazione. As es. alcuni VAT no. dell'Irlanda del Nord iniziano per IX invece che per GB, e le partite della Grecia iniziano per EL invece che per GR.

Nella sua infinita saggezza lo SdI ha previsto di splittare l'identificativo IVA in due campi, ad es.:

                <IdFiscaleIVA>
                    <IdPaese>IT</IdPaese>
                    <IdCodice>06363391001</IdCodice>
                </IdFiscaleIVA>

Nel quale IdCodice, se IdPaese è "IT" viene controllato e deve essere una piva valida (senza IT iniziale), e negli altri casi non viene controllato.

Invece, IdPaese deve essere il codice ISO della nazione e NON il prefisso della piva europea.

Ad es, per un'azienda greca con piva EL999999999, non si può indicare:

                <IdFiscaleIVA>
                    <IdPaese>EL</IdPaese>
                    <IdCodice>999999999</IdCodice>
                </IdFiscaleIVA>

perché lo SdI rifiuta il codice nazione EL che non esiste.
Si è pertanto scelto di riportare la piva completa in IdCodice e in IdPaese mettere il codice internazionale della nazione.

                <IdFiscaleIVA>
                    <IdPaese>GR</IdPaese>
                    <IdCodice>EL999999999</IdCodice>
                </IdFiscaleIVA>

Stesso problema per l'Irlanda del Nord:

                <IdFiscaleIVA>
                    <IdPaese>GB</IdPaese>
                    <IdCodice>IX123456789</IdCodice>
                </IdFiscaleIVA>

Esistono inoltre le PIVA europee assegnate ad aziende extra europee. Ad es. la statunitense Godaddy EU826010755:

                <IdFiscaleIVA>
                    <IdPaese>US</IdPaese>
                    <IdCodice>EU826010755</IdCodice>
                </IdFiscaleIVA>

Purtroppo per molte nazioni europee il prefisso iva e il codice della nazione sono uguali e alcuni SW che visualizzano l'XML di una f.e. concatenano (erroneamente) IdPaese e IdCodice per formare la piva, ottenendo quello che pare una duplicazione:

                <IdFiscaleIVA>
                    <IdPaese>FR</IdPaese>
                    <IdCodice>FR81423093459</IdCodice>
                </IdFiscaleIVA>

se li concateni ottieni FRFR81423093459 ovviamente.

Si tratta solo di una duplicazione visiva, dovuta alla cattiva interpretazione del significato di IdPaese (che NON è il prefisso nazionale IVA, è solo uguale, nella maggioranza dei casi, per coincidenza, perché il codice ISO della nazione è lo stesso, IT IT, FR FR, DE DE, ecc.).

Ti consiglio di verificare se effettivamente è vero che:

ci viene segnalato che la fattura non è arrivata in elettronico in quanto è stato indicato il codice “SMSM” 2 volte.

Se poi vogliamo dire che lo SdI se l'è cercata la confusione, sicuramente, e forse intendeva effettivamente l'altra cosa, ma hanno messo loro i controlli sul codice ISO.

@maxgrassi
Copy link
Author

Pubblico risposta del commercialista di San Marino. Provvedo poi vi informo se cosi facendo si risolve.

Buongiorno,

la fattura n. FV/2024/00242 risulta essere stata scartata dallo SDI sammarinese in quanto è stato inserito due volte il codice “SM”.

La ricevuta di consegna con esito positivo che mostra il vostro sistema o lo SDI italiano indica semplicemente che è stata inviata ma non significa purtroppo che sia stata ricevuta all’Ufficio Tributario di San Marino.

Per poter correggere il tutto è necessario:

emettere nota di credito a storno totale del documento già emesso ma non ricevuto;
emettere fattura elettronica in maniera corretta facendo attenzione ad inserire i seguenti dati:
inserire come paese di riferimento SM
inserire come PIVA il codice operatore senza SM davanti (in questo caso "RIMOSSO")
Inserire come codice SDI "RIMOSSO" (in grassetto sono riportate le lettere).

A disposizione per qualsiasi chiarimento.

@TheMule71
Copy link
Contributor

TheMule71 commented Apr 5, 2024

Il codice "SM" non è stato inserito due volte, sono due campi diversi con dati diversi.

Tecnicamente, IdPaese è il Codice della nazione in formato ISO 3166-1 del cliente (versione 2 caratteri). Vd. https://it.wikipedia.org/wiki/ISO_3166-1_alpha-2

Il formato europeo delle partite iva prevede un prefisso di 2 caratteri che invece fa un mix tra ISO 639-1 (codici delle lingue, non dei paesi) e ISO_3166-1. Nelle specifiche delle localizzazioni spesso si vedono entrambi, en_US e en_GB or anche it_IT e it_CH. Notare come it_IT non sia una inutile ripetizione, una è una lingua, l'altro un paese.

Perché l'EU abbia deciso di fare questo mix è un mistero. Sta di fatto che le PIVA della Gran Bretagna (non Regno Unito) sono GB-qualcosa (usando il codice ISO_3166-1) mentre quelle greche sono EL-qualcosa (usando il codice ISO 639-1 - il codice ISO_3166-1 sarebbe GR).

A ciò hanno anche aggiunto delle eccezioni:

  1. le partite EU- qualcosa (i soggetti sono di paesi non EU).
  2. se sei in EU e commerci con l'Irlanda del Nord allora la loro PIVA da GB-qualcosa diventa IX-qualcosa.

Inutile dire che EU e IX sono codici inventati che non fanno parte né di ISO 639-1 né di ISO_3166-1.

Allo SdI si sono persi il memo. Prob. hanno letto la prima riga della pagina di wikipedia ("The full identifier starts with an ISO 3166-1 alpha-2 country code") perdendosi il resto del paragrafo (https://en.wikipedia.org/wiki/VAT_identification_number) che spiega le differenze.

Pertanto hanno imposto che IdPaese sia un codice ISO 3166-1 - rendendo di fatto invalide le piva EU- IX- e EL- ai fini dell'XML.

Quanto ciò sia una "svista" è però difficile determinarlo. Nella documentazione ufficiale AdE, il campo IdPaese è così descritto: "IdPaese: codice del paese assegnante l’identificativo fiscale al soggetto cessionario/committente"

Sembra ribadire che NON è il prefisso della piva. Vogliono veramente il codice ISO 3166-1 della paese che ha rilasciato la piva. Per es. nel caso della Grecia vogliono proprio GR e non EL.

Pertanto si è deciso si seguire le specifiche alla lettera. Il campo IdPaese NON viene preso dalla piva, ma dall'indirizzo del cliente, pertanto rispetta sempre le specifiche ISO 3166-1. Nel caso di IT, IdCodice diventa la PIVA italiana privata di prefisso IT, come da documentazione. In caso diverso nel campo IdCodice viene messa la PIVA completa... se ti tratta di piva europea, avrà il prefisso relativo. Di fatto è una combinazione di lettere e numeri sulla quale non viene effettuato alcun controllo.

Se a San Marino hanno deciso di utilizzare il formato XML della Fattura PA del nostro SdI, dovrebbero rispettarne le specifiche, ed interpretare IdPaese come il codice paese (SM) e IdCodice come il loro codice C.E.O., completo di prefisso ("SM12345").

Detto ciò è poco pratico aspettersi che a San Marino cambino qualcosa, prendiamo atto che nel leggere una nostra f.e. si aspettano il loro C.E.O. privato del prefisso da loro scelto (notare che San Marino non è EU pertanto non è obbligato ad adottare il formato EU delle VAT, anche se la loro scelta è conforme).

Sto già lavorando alle PR per introdurre il caso particolare per San Marino.

@maxgrassi
Copy link
Author

maxgrassi commented Apr 8, 2024

Sono a confermare che togliendo SM dal campo VAT di Odoo le fatture elettroniche verso San Marino vengono recapitate. Qui di seguito il messaggio del commercialista di San Marino:

Buongiorno,
confermiamo la ricezione della fattura.
Grazie
Buona giornata

In odoo il VAT number di San Marino andrebbe gestito come quello italiano dove le due lettere identificative davanti al VAT number non devono essere inviate.

In alternativa in Odoo va inserito il VAT number senza le due lettere identificative "se non lo vogliamo chiamare ISO".

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