OCA / l10n-italy

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

l10n_it_reverse_charge: la data della fattura di riferimento alla RC è errata #4141

Open rlucia opened 4 months ago

rlucia commented 4 months ago

Module

l10n_it_reverse_charge

Describe the bug

Quando viene generata una autofattura di inversione contabile, l'autofattura, nel campo Descrizione, aggiunge dei riferimenti alla fattura originale (fornitore, numero, data, riferimento interno).

La data è errata: viene erroneamente indicata la data dell'autofattura e non quella del documento originale.

To Reproduce

Affected versions: [] 16.0: #4142

Steps to reproduce the behavior:

  1. Configurare il sistema di inversione contabile (out of scope of these instructions)
  2. Creare o importare una fattura fornitore che richiede inversione contabile ( [x] RC flag attivo, e settare le imposte adeguatamente)
  3. Confermare la fattura fornitore, prendere nota della data della fattura.
  4. Spostarsi sul tab Altre informazioni
  5. Cliccare sul numero di documento RC creato, in corrispondenza di Autofattura in RC
  6. Analizzare il campo Descrizione, che inizia con il testo "Autofattura Reverse Charge. Fornitore...." e prendere nota della Data: (che puo' essere la data contabile, ovvero fine mese se la fattura confermata al punto 3 era del mese precedente, oppure la data attuale se nel mese attuale).

Expected behavior Nel campo descrizione della Autofattura RC generata, ci si aspetta che la data indicata sia la data della fattura confermata al punto 3.

Additional context

Esempio di fattura originale, vedere la data:

image

Esempio di Autofattura RC generata:

image

Esempio della descrizione dell'autofattura RC generata, con la data di riferimento errata:

image
rlucia commented 4 months ago

@SirAionTech @eLBati vi invoco perche' vi vedo molto attivi su questo modulo :-)

Non so se e' una casistica che vi e' stata gia' segnalata. Di fatto e' un problema che il commercialista mi segnala tutte le volte e in questo modo pare si risolva.

Benche' triviale, pare sia una cosa necessaria da risolvere...

SirAionTech commented 4 months ago

Grazie della segnalazione! Nella descrizione dell'autofattura RC generata viene riportata la data contabile (self.date) della fattura originale, mentre quella che hai evidenziato negli screenshot è la data fattura (self.invoice_date). Visto che nella descrizione dell'autofattura RC generata c'è scritto solo data, per me che sono un umile tecnico è ambiguo cosa debba aspettarsi l'utente, ma in ogni caso concordo che ci sia qualcosa da migliorare:

Lascio però a qualche funzionale la scelta della retta via :angel:

rlucia commented 4 months ago

[...snip...]

* se deve esserci la data **fattura**: si deve usare `self.invoice_date`, e va esplicitato nel testo della descrizione

* se deve esserci la data **contabile**: va bene lasciare `self.date`, ma va esplicitato nel testo della descrizione

Lascio però a qualche funzionale la scelta della retta via 👼

Ottime osservazioni, grazie!!!!

Era la domanda che mi ero posto anche io, prima di mettere mano al codice mi sono posto questi statement:

Insomma:

Pertanto abbiamo comunque 2 anomalie

Ci vuole la data del documento originale:

Ci vuole la data contabile del documento interno:

P.S. sono pure andato a rivedere da dove arriva questo self.date e sono arrivato qui: https://github.com/OCA/l10n-italy/commit/e460d4d8ccdf6362101abaa360d80b4e2c45f390

In teoria il commit message e' chiaro: scrivo i dati della fattura fornitore nei commenti dell'autofattura :-) Ragione per cui ho pensato che self.date e' errato.

Magari @eLBati ti ricordi ancora qualcosa di quella vecchia implementazione?

SirAionTech commented 4 months ago

Oppure, altra possibilità: tagliamo la testa al toro e le mettiamo entrambe in descrizione? :man_shrugging:

MaurizioPellegrinet commented 4 months ago

Vi allego questo se può essere d'aiuto... issue 4141.odt

rlucia commented 4 months ago

Grazie @MaurizioPellegrinet e' di grande aiuto

Fortunatamente ad oggi il sistema si comporta gia' cosi' riguardo al campo Data dell'autofattura, quindi mi sento tranquillo:

@SirAionTech secondo me sarebbe inutile mettere entrambe le date, visto che una delle due sarebbe proprio la dell'autofattura. In teoria le metterei entrabi esclusivamente per evitare di chiudere la PR fra 3 mesi :-)

Direi di attendere altri pareri e in assenza di ulteriori info procediamo come dici tu.

rlucia commented 4 months ago

Con lo spunto dato da @MaurizioPellegrinet sono andato a leggermi il documento di specifiche AdE.

Con grande sorpresa e piacere riscontro che la specifica e' chiara su come si riporta il riferimento alla fattura originale

immagine

Il campo 2.1.6 deve contenere proprio il numero della fattura originale e la data della fattura originale.

Ho verificato la generazione dell'XML, e confermo che la sezione e' generata correttamente, rendendo praticamente inutile il contenuto della descrizione in fattura, a parte il nome del partner.

Nell'esempio fatto sopra:

<DatiFattureCollegate>
    <IdDocumento>09D7788A-0014</IdDocumento>
    <Data>2024-05-06</Data>
</DatiFattureCollegate>

ovvero nel render dell'XML:

immagine

A questo punto posso immaginare che alcuni dei dati all'interno della descrizione (che poi finiscono nella <Causale>) siano ridondanti, se non inutili.

Mi chiedo se chiudere la PR e ignorare tutto, o continuare come aveva suggerito @SirAionTech :-)

rlucia commented 4 months ago

Ho parlato troppo presto.

La casistica di cui sopra comunque si presenta quando, in occasione di un'acquisto dall'estero, si decide di voler gestire il tutto con l'emissione di un'autofattura passiva aggiuntiva: Fattura Fornitore > Fattura Passiva Aggiuntiva > Autofattura RC

immagine

In tal caso, il dato fattura collegata e' la fattura passiva aggiuntiva, e se non tramite quello che viene riportato nella descrizione, si perde il collegamento alla fattura fornitore originale.

Pertanto credo che la questione resti ancora in piedi in qualche modo, ma qui serve veramente qualcuno molto esperto che ci consigli, una domanda e' questa: