Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

EmailType pattern constraint violated

Avatar
trigg3r

L'import di una fattura elettronica fallisce con questo errore:

Type {http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2}EmailType pattern constraint violated by value fatture.companyname@legalmail.it 


La cosa strana è che l'indirizzo fatture.companyname@legalmail.it è quello corretto, dove ricevo anche le altre fatture.

Ho scritto al fornitore chiedendo di verificare che non ci siano degli spazzi in testa o in coda all'indirizzo, ma mi domando: la verifica che i campi siano formalmente corretti non dovrebbe essere fatta da SdI già in fase di emissione?

Questa fattura è già stata emessa e quindi non verrà re-inviata: sono quindi obbligato a inserirla manualmente? O c’è qualche “trucco” per importare questo file?

Grazie

Avatar
Abbandona
2 Risposte
0
Avatar
Luigi Di Naro
Migliore risposta

Puntualmente e ciclicamente riesce sta domanda, ma il problema e' sempre lo stesso. SDI fa una validazione che non è perfettamente conforme allo schema che ha rilasciato, in altre parole fa dei controlli piu' lasci su alcuni formati dei tipi xml.

La soluzione, come ho gia' detto in quasi tutti sti casi è sempre la stessa, i file in ingresso non vanno validati ... merd in merd out .. so quelli di SDI e non si possono ne rifiutare ne scartare, son corretti per definizione anche se non conformi allo schema.

Ho anche proposto la patch, che alcuni hanno adottato se non erro,  e consiste nel disabilitare poco prima di importare la fattura la validazione di pyxb (dio lo abbia in gloria mentre ne recitiamo il de-profundis) e riabilitarla subito dopo.

Ci sta una lunga discussione su telegram su questo argomento.

@daniele.allegretti ... non e' strano, diverse fatture provenienti da SDI non sono conformi allo stesso schema, e' un fatto :D

Avatar
Abbandona
0
Avatar
trigg3r
Migliore risposta

Giuro che prima di postare ho cercato :\ ... (per "EmailType" "pattern constraint violated" e "ivaservizi.agenziaentrate.gov.it")

Avatar
Abbandona
0
Avatar
Luigi Di Naro
Migliore risposta

Probabile che il messaggio di errore fosse diverso ... son molti i casi in cui una validazione puntuale sullo schema scazza ... a partire dagli schemi sporchi di TIM ed alcune sezioni di enel

Avatar
Abbandona
1
Avatar
Daniele Allegretti
Migliore risposta

Ho fatto una ricerca su Telegram e ho trovato il tuo suggerimento di patch per le fatture passive provenienti da SDI:

Luigi Di Naro, [29.12.20 13:48]
queste due righe risolvono il problema alla fonte
pyxb.RequireValidWhenParsing(False)
        return FatturaPAv121.CreateFromDocument(xml_string)

prima di chiamare il parser sulle fatture ricevute annullare la validazione sullo schema ... merd in merd out ... dopotutto so file validati da AdE

Trovo la soluzione proposta molto interessante.
Al fine di irrobustire l'implementazione OCA Odoo Italia e non costringere i neofiti di Odoo a modificare in proprio i moduli OCA, credo sarebbe utile inserirla ufficialmente nel modulo l10n_it_fatturapa_in.
E' fattibile ?

Avatar
Abbandona
0
Avatar
trigg3r
Migliore risposta

Grazie. Mi sai anche dire di preciso dove devono essere inserite?

Avatar
Abbandona
0
Avatar
Alessandro Fiorino
Migliore risposta

Si potrebbe anche mettere la validazione opzionale in base ad un parametro, tipo

if self.env['ir.config_parameter'].sudo().get_param('l10n_it_fatturapa_in.validate_in_xml',True):
 pyxb.RequireValidWhenParsing(False)

Così si accontenterebbe anche chi vuole per forza la validazione.


Avatar
Abbandona
0
Migliore risposta

In effetti è strano che una fattura che è già stata accettata da SDI abbia un problema di formato su una email, perchè in genere SDI fa un controllo molto attento e stringente sulla sintassi degli indirizzi email.
Potresti provare a scaricare il file XML (o .XML.P7M) della fattura elettronica e poi guardarci dentro con un editor di testo per vedere se contiene qualcosa di strano. Facendo una ricerca del carattere "@" troverai tutti i campi che contengono indirizzi email.
 


Avatar
Abbandona