OCA / l10n-italy

Odoo Italian localization
https://www.odoo-italia.org
GNU Affero General Public License v3.0
148 stars 302 forks source link

IdFiscaleIva non valido per privati #3697

Closed guestisp closed 6 days ago

guestisp commented 10 months ago

Module

it_fatturapa_out

Describe the bug

In caso di privati con codice fiscale e niente partita iva, il valore di IdFiscaleIva viene popolato in maniera errata, solo con il codice paese e niente codice fiscale, questo non consente la creazione di un xml sintatticamente valido.

Il problema è questo valore settato a False https://github.com/OCA/l10n-italy/blob/16.0/l10n_it_fatturapa_out/wizard/efattura.py#L118

sostituendolo con id_codice = partner.fiscalcode la creazione va a buon fine.

PREMESSA: sto usando un sistema con dati di prova, non escluso che possa esserci qualche casistica assurda che difficilmente si presenta in produzione, ma teoricamente, in caso di persona fisica con solo codice fiscale, quel campo va comunque valorizzato con il codice fiscale e non omesso. Non faccio PR proprio perchè non sono certo del corretto funzionamento del fix e passerà ancora parecchio tempo prima di aver un sistema in produzione con dati reali.

TheMule71 commented 10 months ago

Puoi riportare l'errore preciso, per cortesia?

https://github.com/OCA/l10n-italy/blob/fd4c5357ea29efe28f1fdec3dc385bbb512118c4/l10n_it_fatturapa_out/data/invoice_it_template.xml#L441

in teoria non dovrebbe mai scrive IdFiscale col solo codice paese, se id_codice è vuoto la stanza non la dovrebbe scrivere nemmeno.

guestisp commented 10 months ago

L'errore è questo:

failed validating <Element IdFiscaleIVA at 0x7f2401f98ec0> with XsdGroup(model='sequence', occurs=[1, 1]):

Reason: The content of element 'IdFiscaleIVA' is not complete. Tag 'IdCodice' expected.

Schema:

  <xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="IdFiscaleType">
    <xs:sequence>
      <xs:element name="IdPaese" type="NazioneType" />
      <xs:element name="IdCodice" type="CodiceType" />
    </xs:sequence>
  </xs:complexType>

Instance (line 54):

  <IdFiscaleIVA xmlns:ns1="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"><IdPaese>IT</IdPaese></IdFiscaleIVA>

Path: /ns1:FatturaElettronica/FatturaElettronicaHeader/RappresentanteFiscale/DatiAnagrafici/IdFiscaleIVA

Il problema è causato dal rappresentante legale dell'azienda, quando si tratta di una persona fisica (in teoria, sempre, essendo un rappresentante legale) che quindi non dispone di partita iva ma solo di codice fiscale. In questo caso Mario Rossi è una persona fisica ed ha un codice fiscale (messo a caso), causando l'errore di cui sopra. Aggiungendo una partita iva (a caso), l'errore scompare. image

guestisp commented 10 months ago

Puoi riportare l'errore preciso, per cortesia?

https://github.com/OCA/l10n-italy/blob/fd4c5357ea29efe28f1fdec3dc385bbb512118c4/l10n_it_fatturapa_out/data/invoice_it_template.xml#L441

in teoria non dovrebbe mai scrive IdFiscale col solo codice paese, se id_codice è vuoto la stanza non la dovrebbe scrivere nemmeno.

Il problema non è in CessionarioCommittente ma in RappresentanteFiscale dove infatti l'if non c'è. Se mi confermate il bug, faccio PR https://github.com/OCA/l10n-italy/blob/fd4c5357ea29efe28f1fdec3dc385bbb512118c4/l10n_it_fatturapa_out/data/invoice_it_template.xml#L404

TheMule71 commented 10 months ago

Bah, mi pare una casistisca praticamente impossible, che il rappresentante fiscale sia una parsona fisica, ma se volete fare la PR...

Ma la questione è reale? Cioè stiamo effettivamente parlando di un soggetto estero, senza Stabile Organizzazione in Italia, che si fa rappresentare da un privato, e non da uno studio di Commercialisti, il quale paga l'IVA per il soggetto estero?

guestisp commented 10 months ago

a me sembra vero l'opposto: il rappresentante legale dell'azienda è sempre una persona fisica.

o è sbagliata la label (mi pare chieda il rappresentante legale dell'azienda che si sta modificando) o c'è un problema nella generazione delle fatture

matteoopenf commented 10 months ago

Puoi proporre una pr?Matteo @. Il giorno 4 nov 2023, alle ore 16:17, GUEST.it @.> ha scritto: a me sembra vero l'opposto: il rappresentante legale dell'azienda è sempre una persona fisica. o è sbagliata la label (mi pare chieda il rappresentante legale dell'azienda che si sta modificando) o c'è un problema nella generazione delle fatture

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

Openforce Srls Unipersonale | www.openforce.it | 02 21119472 | Via Tiziano,32 20145 Milano

TheMule71 commented 10 months ago

https://discord.com/channels/753902328494424064/806815905006223411/1170669484009345044

https://www.sumup.com/it-it/fatture/dizionario/rappresentante-fiscale/

Il baco segnalato è specifico e al livello di generazione XML. Si sta parlando di fare una PR in un punto specifico del template XML, e l'elemento (RappresentanteFiscale) quello significa.

La segnalazione è: va messo id_codice = partner.fiscalcode oppure va messo un if in IdFiscaleIVA sotto RappresentanteFiscale. Io rispondo: per me non ha senso tanto il rappresentante fiscale difficile sia persona fisica e deve comunque avere una piva.

Anzi, mi sono preso la briga di controllare l'xsd, e no, non approverei nemmeno la seconda modifica proposta (anzi di fatto non passerebbe i test a occhio), perché IdFiscaleIVA è opzionale solo per DatiAnagraficiTerzoIntermediario e DatiAnagraficiCessionario. Lo SdI ha previsto i casi un cui CodiceFiscale può esserci da solo, e il rappresentante fiscale non è tra quelli. La prima modifica invece probabilmente spaccherebbe altre situazioni, quel id_codice = False è stato aggiunto per un motivo. Il cf non va mai messo (per gli italiani almeno) in IdFiscaleIVA, c'è CodiceFiscale apposta.

Se poi la issue è: la label "Rappresentante legale (fiscale)" non si capisce bene, la cosa cambia completamente. Ma una volta che si arriva a indicare un element XML, si sa di cosa stiamo parlando.

guestisp commented 10 months ago

L'equivoco nasce dal fatto che la form nelle impostazioni contabilità parla di rappresentante legale di conseguenza io ho messo un rappresentante legale di prova, che normalmente è una persona fisica.

image

Visto che si tratta di un rappresentante fiscale (di cui io ignoravo l'esistenza, non essendo un commercialista), suggerirei il cambio di label, da Rappresentante Legale (fiscale) a semplicemente Rappresentante Fiscale

Anche perchè non credo che il rappresentante fiscale sia un rappresentante legale, credo sia solo un soggetto a fini iva.

francesco-ooops commented 10 months ago

@guestisp questa stringa "Rappresentante Legale (fiscale)" viene da un modulo OCA o da odoo?

guestisp commented 10 months ago

dovrebbe essere questa, quindi oca Italia ma non ho modo di verificare da cellulare

https://github.com/OCA/l10n-italy/blob/b7d12ca48c4ffe9b99c9dcc87ed7883bac375008/l10n_it_fatturapa/i18n/it.po#L786

francesco-ooops commented 10 months ago

@primes2h opinioni?

primes2h commented 10 months ago

@primes2h opinioni?

Andrebbe modificata la stringa sorgente in questi due punti:

https://github.com/OCA/l10n-italy/blob/b7d12ca48c4ffe9b99c9dcc87ed7883bac375008/l10n_it_fatturapa/models/company.py#L20 https://github.com/OCA/l10n-italy/blob/b7d12ca48c4ffe9b99c9dcc87ed7883bac375008/l10n_it_fatturapa/models/company.py#L88

Il termine più corretto (che non porta a fraintendimenti) sarebbe Tax Representative:

immagine

Vedi https://www.agenziaentrate.gov.it/portale/web/english/vat-registration-in-italy

Di conseguenza in italiano diventerà "Rappresentante fiscale".

francesco-ooops commented 10 months ago

@guestisp vuoi fare PR?

guestisp commented 10 months ago

@guestisp vuoi fare PR?

certo

github-actions[bot] commented 1 month ago

There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this issue to never become stale, please ask a PSC member to apply the "no stale" label.