OCA / l10n-italy

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

[16.0] l10n_it_fatturapa_out: Errore XML Su Fatture Con Anticipo #3670

Open Marcoapu opened 1 year ago

Marcoapu commented 1 year ago

Module

l10n_it_fatturapa_out

Describe the bug

Schermata del 2023-10-17 16-33-11

Schermata del 2023-10-17 16-33-41

Il problema è l'emissione dell'xml sulle fatture che hanno una riga di anticipo, la riga di anticipo ha quantità -1 e il prezzo unitario positivo, quindi il totale parziale viene negativo, a fronte di un imponibile negativo l'aliquota deve risultare negativa. Quello che succede è che sul codice c'e scritto che l'importo sui dati riepilogo è il valore assoluto di tax_balance,quindi o è negativo o è positivo viene sempre messo senza segno, e ciò manda in errore la fattura.

Schermata del 2023-10-17 16-32-03

To Reproduce

Affected versions:

Steps to reproduce the behavior:

  1. Partendo da un ordine di vendita creare una fattura di anticipo, e una di saldo
  2. Confermando le fatture ed esportare l'xml della fattura di saldo
  3. Controllare il file xml esportato su una verifica sdi va in errore

Expected behavior Quello che dovrebbe succedere invece è che a fronte di un'imponibile negativo l'aliquota quindi l'importo iva sia negativo, in modo tale che il file risulti giusto

Additional context Una soluzione trovata sarebbe aggiungere:

if tax_id.credit == 0.0 and tax_id.debit:
    tax_amount = -tax_id.balance
if tax_id.credit and tax_id.debit == 0.0:
    tax_amount = abs(tax_id.balance)
out_computed[key] = {
    "AliquotaIVA": aliquota,
    "Natura": tax_line_id.kind_id.code,
    # 'Arrotondamento':'',
    "ImponibileImporto": tax_id.tax_base_amount,
    "Imposta": tax_amount,
    "EsigibilitaIVA": tax_line_id.payability,
}

Alla riga: https://github.com/OCA/l10n-italy/blob/16.0/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py#L138 nella funzione getAllTaxes nel file wizard_export_fatturapa.py

TheMule71 commented 1 year ago

L'abs() è stato introdotto qui: https://github.com/OCA/l10n-italy/pull/3249

SirAionTech commented 1 year ago

Grazie della segnalazione! Puoi proporre una PR per introdurre la modifica che hai suggerito?

CiroBoxHub commented 1 year ago

Il problema si verifica in presenza di aliquote diverse. Se sull'acconto viene usata un'aliquota diversa da quella usata nelle righe, le scritture di riepilogo sulla fattura elettronica sono separate. Per preservare il fix applicato #3249, si potrebbe procedere in questo modo:

if invoice.move_type == 'out_invoice':
      if tax_id.credit == 0.0 and tax_id.debit:
          tax_amount = -tax_id.balance
      if tax_id.credit and tax_id.debit == 0.0:
          tax_amount = abs(tax_id.balance)
  else:
      tax_amount = abs(tax_id.balance)
  out_computed[key] = {
      "AliquotaIVA": aliquota,
      "Natura": tax_line_id.kind_id.code,
      # 'Arrotondamento':'',
      "ImponibileImporto": tax_id.tax_base_amount,
      "Imposta": tax_amount,
      "EsigibilitaIVA": tax_line_id.payability,
  }

@Marcoapu puoi proporre la PR?

Marcoapu commented 1 year ago

Ho provveduto ad aprire una pr per il fix #3678

MaurizioPellegrinet commented 1 year ago

Ho provato a testare. Se applico un codice iva sulle righe del preventivo, nel momento in cui faccio le fatture (acconto e saldo) lo stesso viene omesso. Se lo inserisco manualmente le fatture vengono corrette anche alla verifica xml esclusivamente x cod. con iva esclusa (es. art.15). Qualora il codice iva sia diverso (es. 22%) il file xml non è corretto

MaurizioPellegrinet commented 1 year ago

immagine

Secondo voi è possibile agganciare all'acconto il codice TD02, credo sia più corretto

CiroBoxHub commented 1 year ago

Ho provato a testare. Se applico un codice iva sulle righe del preventivo, nel momento in cui faccio le fatture (acconto e saldo) lo stesso viene omesso. Se lo inserisco manualmente le fatture vengono corrette anche alla verifica xml esclusivamente x cod. con iva esclusa (es. art.15). Qualora il codice iva sia diverso (es. 22%) il file xml non è corretto

Ciao Maurizio, penso che l'omesso passaggio del codice iva dal preventivo alla fattura non rientri nella problematica descritta da questo fix. Questa PR si propone di mettere il segno giusto e quindi riportare l'importo aliquota sul xml a partire dalla generazione del file dalla fattura. Potrebbe essere il caso di segnalare il bug in una issue apposita mettendo i dettagli operativi di quanto verificato da te. Grazie mille per la collaborazione

francescapenso commented 5 months ago

CIao ci sono news su questa issue?

francesco-ooops commented 5 months ago

@francescapenso la PR linkata risolve?

francescapenso commented 5 months ago

Ho fatto alcune prove e mi pare di sì Però sarebbe il caso provasse anche qualcuno altro

matteoopenf commented 3 months ago

ho appena trovato il medesimo problema su 14

matteoopenf commented 3 months ago

ho creato quella per 14.0 https://github.com/OCA/l10n-italy/pull/4312 sto un attimo sistemando e mettendo il coature del commit per correttezza