l10n-italy
l10n-italy copied to clipboard
[14.0] fatturapa_in errore importazione fattura con importi negativi
Se si cerca di importare una nota di credito in cui il fornitore ha messo importi negativi sia nelle righe che nel totale fallisce.
Segue video
https://watch.screencastify.com/v/lHMuIhWZOK7mAPmMjfFa
Eseguita prova con NC con importi positivi e anche con righe di fattura importo positivo e totale negativo e funziona tt correttamente
Questa situazione è (teoricamente) coperta da test_33_xml_import().
Hai modo di vedere se ci sono differenze logiche tra la tua nota di credito e questa: https://github.com/OCA/l10n-italy/blob/713dc095099ad2c5382347b13505a8374868b99b/l10n_it_fatturapa_in/tests/data/IT01234567890_FPR07.xml#L1-L74 ?
In ogni caso nel frattempo hai modo di provare:
diff --git a/l10n_it_fatturapa_in/models/account.py b/l10n_it_fatturapa_in/models/account.py
index 7224cdfc4..90d33bc73 100644
--- a/l10n_it_fatturapa_in/models/account.py
+++ b/l10n_it_fatturapa_in/models/account.py
@@ -321,10 +321,13 @@ class AccountInvoice(models.Model):
return
# if every line is negative, change them all
for line in self.invoice_line_ids:
- line.with_context(check_move_validity=False).update(
+ line_ = line.with_context(check_move_validity=False)
+ line_.update(
{"price_unit": -line.price_unit}
)
- self.with_context(check_move_validity=False)._recompute_dynamic_lines(
+ line_.update(line._get_price_total_and_subtotal())
+ line_.update(line._get_fields_onchange_subtotal())
+ self._recompute_dynamic_lines(
recompute_all_taxes=True
)
?
Direi che la differenza logica è solo che nella stanza Dati Generali -> Dati Generali Documento viene riportato importo totale documento. Vedi Screen
ho provato quel codice ma manda in crash tutto
ho provato quel codice ma manda in crash tutto
Potresti allegare un messaggio di traceback che renda utile l'identificazione del problema?
@francescapenso potresti fornire un XML che riproduca il problema? Grazie
@elBati @francescapenso L'XML in realtà c'è, nel messaggio di Francesca, mi permetto di quotarlo e formattarlo, se non vi dispiace:
<?xml version="1.0"?>
<FatturaElettronicaBody>
<DatiGenerali>
<DatiGeneraliDocumento>
<TipoDocumento>TD04</TipoDocumento>
<Divisa>EUR</Divisa>
<Data>2021-10-09</Data>
<Numero>412109481007</Numero>
<ImportoTotaleDocumento>-14.79</ImportoTotaleDocumento>
<Causale>FORNITURA SERVIZIO GAS</Causale>
</DatiGeneraliDocumento>
<DatiContratto>
<IdDocumento>3019450403</IdDocumento>
</DatiContratto>
</DatiGenerali>
<DatiBeniServizi>
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>FORNITURA SERVIZIO GAS</Descrizione>
<PrezzoUnitario>-12.12</PrezzoUnitario>
<PrezzoTotale>-12.12</PrezzoTotale>
<AliquotaIVA>22.00</AliquotaIVA>
<AltriDatiGestionali>
<TipoDato>Pod/Pdr</TipoDato>
<RiferimentoTesto>61610000007995</RiferimentoTesto>
</AltriDatiGestionali>
</DettaglioLinee>
<DatiRiepilogo>
<AliquotaIVA>22.00</AliquotaIVA>
<ImponibileImporto>-12.12</ImponibileImporto>
<Imposta>-2.67</Imposta>
<EsigibilitaIVA>I</EsigibilitaIVA>
<RiferimentoNormativo>Aliquota IVA 22%</RiferimentoNormativo>
</DatiRiepilogo>
</DatiBeniServizi>
<DatiPagamento>
<CondizioniPagamento>TP02</CondizioniPagamento>
<DettaglioPagamento>
<Beneficiario>HERA SPA</Beneficiario>
<ModalitaPagamento>MP05</ModalitaPagamento>
<DataScadenzaPagamento>2021-10-29</DataScadenzaPagamento>
<ImportoPagamento>-14.79</ImportoPagamento>
<IBAN>IT56Q0200809292V00835454373</IBAN>
</DettaglioPagamento>
</DatiPagamento>
</FatturaElettronicaBody>
Mi pare si sovrapponga a https://github.com/OCA/l10n-italy/issues/2090
Riprendo questa issue perchè oggi mi è successo nuovamente....mi pare che sia aperta sia questa che la #2090 o sono stati fatti approfondimeni in merito?
Chiudo a favore di https://github.com/OCA/l10n-italy/issues/2090
Errore in importazione rilevato
The amount expressed in the secondary currency must be positive when account is debited and negative when account is credited. If the currency is the same as the one from the company, this amount must strictly be equal to the balance.
Questa situazione è (teoricamente) coperta da test_33_xml_import().
Hai modo di vedere se ci sono differenze logiche tra la tua nota di credito e questa:
https://github.com/OCA/l10n-italy/blob/713dc095099ad2c5382347b13505a8374868b99b/l10n_it_fatturapa_in/tests/data/IT01234567890_FPR07.xml#L1-L74
? In ogni caso nel frattempo hai modo di provare:
diff --git a/l10n_it_fatturapa_in/models/account.py b/l10n_it_fatturapa_in/models/account.py index 7224cdfc4..90d33bc73 100644 --- a/l10n_it_fatturapa_in/models/account.py +++ b/l10n_it_fatturapa_in/models/account.py @@ -321,10 +321,13 @@ class AccountInvoice(models.Model): return # if every line is negative, change them all for line in self.invoice_line_ids: - line.with_context(check_move_validity=False).update( + line_ = line.with_context(check_move_validity=False) + line_.update( {"price_unit": -line.price_unit} ) - self.with_context(check_move_validity=False)._recompute_dynamic_lines( + line_.update(line._get_price_total_and_subtotal()) + line_.update(line._get_fields_onchange_subtotal()) + self._recompute_dynamic_lines( recompute_all_taxes=True )
Il test segnalato, in questo caso fallisce https://github.com/OCA/l10n-italy/actions/runs/4677014793/jobs/8284026493?pr=3269#step:8:776
Errore in importazione rilevato
The amount expressed in the secondary currency must be positive when account is debited and negative when account is credited. If the currency is the same as the one from the company, this amount must strictly be equal to the balance.
Riprodotto su https://github.com/OCA/l10n-italy/issues/3523
@francescapenso puoi provare queste modifiche https://github.com/OCA/l10n-italy/pull/3751 ?
@francescapenso puoi aggiungere una checkbox per la 16?
@francescapenso puoi aggiungere una checkbox per la 16?
Fatto
Fatto un po di test e funziona
@francescapenso puoi verificare se il problema esiste ancora per 16.0
? Potrebbe essere stato risolto da https://github.com/OCA/l10n-italy/pull/4026.