[FIX] l10n_it_edi: issue with IDcodice

Copy-paste mistake in the template after refactoring.
IDCodice for the Sender has to be filled with the CodiceFiscale
and not with the VAT number.
(We only use VAT number if we don't find the CodiceFiscale.)

opw-3597050

closes odoo/odoo#143193

X-original-commit: 0c85e24a71442d0c0a717ee6264940047db1bdea
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Paolo Gatti (pgi) <pgi@odoo.com>
This commit is contained in:
Paolo Gatti (pgi)
2023-11-23 19:34:44 +00:00
parent 437f0367d5
commit 8adb65993e
3 changed files with 115 additions and 1 deletions
@@ -45,7 +45,7 @@
<DatiTrasmissione>
<IdTrasmittente>
<IdPaese t-out="sender_info['country_code']"/>
<IdCodice t-out="sender_info['vat']"/>
<IdCodice t-out="sender_info['codice_fiscale'] or sender_info['vat']"/>
</IdTrasmittente>
<ProgressivoInvio t-out="format_alphanumeric(record.name.replace('/',''), -10)"/>
<FormatoTrasmissione t-out="formato_trasmissione"/>
@@ -0,0 +1,94 @@
<p:FatturaElettronica xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd"
versione="FPR12">
<FatturaElettronicaHeader>
<DatiTrasmissione>
<IdTrasmittente>
<IdPaese>IT</IdPaese>
<IdCodice>07149930583</IdCodice>
</IdTrasmittente>
<ProgressivoInvio>V202200001</ProgressivoInvio>
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
<CodiceDestinatario>0000000</CodiceDestinatario>
<ContattiTrasmittente>
<Telefono>0266766700</Telefono>
<Email>test@test.it</Email>
</ContattiTrasmittente>
</DatiTrasmissione>
<CedentePrestatore>
<DatiAnagrafici>
<IdFiscaleIVA>
<IdPaese>IT</IdPaese>
<IdCodice>01698911003</IdCodice>
</IdFiscaleIVA>
<CodiceFiscale>07149930583</CodiceFiscale>
<Anagrafica>
<Denominazione>company_2_data</Denominazione>
</Anagrafica>
<RegimeFiscale>RF01</RegimeFiscale>
</DatiAnagrafici>
<Sede>
<Indirizzo>1234 Test Street</Indirizzo>
<CAP>12345</CAP>
<Comune>Prova</Comune>
<Nazione>IT</Nazione>
</Sede>
</CedentePrestatore>
<CessionarioCommittente>
<DatiAnagrafici>
<IdFiscaleIVA>
<IdPaese>IT</IdPaese>
<IdCodice>00465840031</IdCodice>
</IdFiscaleIVA>
<CodiceFiscale>93026890017</CodiceFiscale>
<Anagrafica>
<Denominazione>Alessi</Denominazione>
</Anagrafica>
</DatiAnagrafici>
<Sede>
<Indirizzo>Via Privata Alessi 6</Indirizzo>
<CAP>28887</CAP>
<Comune>Milan</Comune>
<Nazione>IT</Nazione>
</Sede>
</CessionarioCommittente>
</FatturaElettronicaHeader>
<FatturaElettronicaBody>
<DatiGenerali>
<DatiGeneraliDocumento>
<TipoDocumento>TD01</TipoDocumento>
<Divisa>EUR</Divisa>
<Data>2022-03-24</Data>
<Numero>INV/2022/00001</Numero>
<ImportoTotaleDocumento>976.49</ImportoTotaleDocumento>
</DatiGeneraliDocumento>
</DatiGenerali>
<DatiBeniServizi>
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>line1</Descrizione>
<Quantita>1.00</Quantita>
<PrezzoUnitario>800.400000</PrezzoUnitario>
<PrezzoTotale>800.40</PrezzoTotale>
<AliquotaIVA>22.00</AliquotaIVA>
</DettaglioLinee>
<DatiRiepilogo>
<AliquotaIVA>22.00</AliquotaIVA>
<ImponibileImporto>800.40</ImponibileImporto>
<Imposta>176.09</Imposta>
<EsigibilitaIVA>I</EsigibilitaIVA>
</DatiRiepilogo>
</DatiBeniServizi>
<DatiPagamento>
<CondizioniPagamento>TP02</CondizioniPagamento>
<DettaglioPagamento>
<ModalitaPagamento>MP05</ModalitaPagamento>
<DataScadenzaPagamento>2022-03-24</DataScadenzaPagamento>
<ImportoPagamento>976.49</ImportoPagamento>
<CodicePagamento>INV/2022/00001</CodicePagamento>
</DettaglioPagamento>
</DatiPagamento>
</FatturaElettronicaBody>
</p:FatturaElettronica>
@@ -43,6 +43,26 @@ class TestItEdiExport(TestItEdi):
'is_company': True,
})
def test_vat_not_equals_codice(self):
self.company.partner_id.vat = '01698911003'
self.company.l10n_it_codice_fiscale = '07149930583'
invoice = self.env['account.move'].with_company(self.company).create({
'move_type': 'out_invoice',
'invoice_date': '2022-03-24',
'invoice_date_due': '2022-03-24',
'partner_id': self.italian_partner_a.id,
'invoice_line_ids': [
Command.create({
'name': 'line1',
'price_unit': 800.40,
'tax_ids': [Command.set(self.default_tax.ids)],
}),
],
})
invoice.action_post()
self._assert_export_invoice(invoice, 'invoice_vat_not_equals_codice.xml')
def test_export_invoice_price_included_taxes(self):
""" When the tax is price included, there should be a rounding value added to the xml, if the
sum(subtotals) * tax_rate is not equal to taxable base * tax rate (there is a constraint in the edi where