Skip to content

[16.0] l10n_it_split_payment: movimento non bilanciato se il conto dell'imposta coincide con il conto storno scissione pagamenti #5255

Description

Module

l10n_it_split_payment

Describe the bug

Dopo l'aggiornamento da una build di Odoo 16.0 di maggio 2024 (on-premise) all'attuale 16.0 stable su Odoo.sh, con tutti i moduli OCA aggiornati all'ultima versione 16.0 (eseguito --update all), la conferma/creazione di fatture clienti con posizione fiscale in scissione dei pagamenti fallisce con errore di movimento non bilanciato.

Nella nostra configurazione (funzionante prima dell'aggiornamento) l'imposta IVA 22% usata per lo split payment registra la riga imposta sul conto 35.01.12 "Erario c/IVA Split Payment", e lo stesso conto 35.01.12 era configurato come "Conto storno scissione pagamenti" (sp_account_id) nelle impostazioni di contabilità.

Con questa configurazione la riga di storno non viene più generata (o viene scartata/assorbita durante la sincronizzazione delle righe), e il movimento risulta sbilanciato esattamente dell'importo dell'IVA:

Il movimento (Fattura in bozza (* XXXX)) non è bilanciato.
Il totale dei debiti è uguale a 1.050,00 € e il totale dei crediti è uguale a 1.281,00 €.
Potresti voler specificare un conto di default sul registro "Fatture Cliente"
per saldare automaticamente ogni movimento.

(1.050,00 = imponibile / riga crediti v/clienti; 1.281,00 = imponibile + IVA 22%; la riga in dare mancante è esattamente lo storno split payment di 231,00 €.)

Il problema si verifica sia confermando la fattura da interfaccia, sia con fatture create da codice (es. cron di fatturazione degli abbonamenti).

To Reproduce

Versioni interessate: 16.0 (stable attuale, modulo alla versione 16.0.1.1.2). Non riproducibile con le versioni modulo/core di maggio 2024.

Passi per riprodurre:

  1. Creare un conto 35.01.12 "Erario c/IVA Split Payment".
  2. Configurare un'imposta IVA 22% vendite standard la cui ripartizione registra l'imposta sul conto 35.01.12.
  3. In Contabilità → Configurazione → Impostazioni, impostare come "Conto storno scissione pagamenti" (sp_account_id) lo stesso conto 35.01.12.
  4. Configurare una posizione fiscale con "Scissione dei pagamenti" attiva, che mappa l'IVA 22% standard sull'imposta di cui sopra.
  5. Creare e confermare una fattura cliente per un partner con quella posizione fiscale (es. 1 riga, prezzo 1.050,00 €, IVA 22%).

Risultato: errore di movimento non bilanciato (dare 1.050,00 vs avere 1.281,00), riga di storno split payment assente.

Workaround / ulteriori verifiche effettuate

  • Creando un secondo conto distinto 35.01.12.S "Erario c/IVA Split Payment Storno" e impostandolo come conto storno (lasciando l'imposta su 35.01.12), la fattura viene registrata correttamente: riga IVA su 35.01.12 e riga di storno su 35.01.12.S.
  • Questo conferma che il problema si presenta solo quando conto imposta e conto storno coincidono: in quel caso la riga di storno sembra venire eliminata/fusa durante la sincronizzazione delle righe del movimento.

Expected behavior

In alternativa:

  • la riga di storno dovrebbe essere generata correttamente anche quando il conto storno coincide con il conto dell'imposta (come avveniva nelle versioni 16.0 precedenti), oppure
  • se questa configurazione non è volutamente supportata (il README raccomanda un conto storno diverso dall'IVA a debito standard), il modulo dovrebbe sollevare un errore di configurazione esplicito (es. ValidationError su sp_account_id) invece di produrre silenziosamente un movimento sbilanciato con un messaggio d'errore fuorviante.

Additional context


Ricordati di compilare i tre segnaposto tra parentesi quadre (versione modulo e data aggiornamento) e, se hai dieci minuti, di riprodurre il caso su runboat 16.0 allegando il link: come si vede dalla #3679, senza riproduzione verificabile il rischio concreto è l'etichetta "needs more information" e la chiusura automatica per inattività.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions