Skip to content

Commit cd7aed3

Browse files
committed
[IMP] l10n_it_fatturapa_in: additionally filter by fiscalcode when more than one partner with same vat but different fiscalcode
1 parent da23962 commit cd7aed3

File tree

4 files changed

+371
-15
lines changed

4 files changed

+371
-15
lines changed
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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">
3+
<FatturaElettronicaHeader>
4+
<DatiTrasmissione>
5+
<IdTrasmittente>
6+
<IdPaese>IT</IdPaese>
7+
<IdCodice>05979361218</IdCodice>
8+
</IdTrasmittente>
9+
<ProgressivoInvio>00001</ProgressivoInvio>
10+
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
11+
<CodiceDestinatario>0000000</CodiceDestinatario>
12+
<ContattiTrasmittente/>
13+
</DatiTrasmissione>
14+
<CedentePrestatore>
15+
<DatiAnagrafici>
16+
<IdFiscaleIVA>
17+
<IdPaese>IT</IdPaese>
18+
<IdCodice>15844561009</IdCodice>
19+
</IdFiscaleIVA>
20+
<CodiceFiscale>06655971007</CodiceFiscale>
21+
<Anagrafica>
22+
<Denominazione>ENEL ENERGIA S.P.A.</Denominazione>
23+
</Anagrafica>
24+
<RegimeFiscale>RF01</RegimeFiscale>
25+
</DatiAnagrafici>
26+
<Sede>
27+
<Indirizzo>VIALE REGINA MARGHERITA</Indirizzo>
28+
<CAP>00198</CAP>
29+
<Comune>ROMA</Comune>
30+
<Provincia>RM</Provincia>
31+
<Nazione>IT</Nazione>
32+
</Sede>
33+
</CedentePrestatore>
34+
<CessionarioCommittente>
35+
<DatiAnagrafici>
36+
<CodiceFiscale>03533590174</CodiceFiscale>
37+
<Anagrafica>
38+
<Denominazione>BETA GAMMA</Denominazione>
39+
</Anagrafica>
40+
</DatiAnagrafici>
41+
<Sede>
42+
<Indirizzo>VIA TORINO 38-B</Indirizzo>
43+
<CAP>00145</CAP>
44+
<Comune>ROMA</Comune>
45+
<Provincia>RM</Provincia>
46+
<Nazione>IT</Nazione>
47+
</Sede>
48+
</CessionarioCommittente>
49+
</FatturaElettronicaHeader>
50+
<FatturaElettronicaBody>
51+
<DatiGenerali>
52+
<DatiGeneraliDocumento>
53+
<TipoDocumento>TD01</TipoDocumento>
54+
<Divisa>EUR</Divisa>
55+
<Data>2014-12-18</Data>
56+
<Numero>1</Numero>
57+
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
58+
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200 CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
59+
</DatiGeneraliDocumento>
60+
<DatiOrdineAcquisto>
61+
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
62+
<IdDocumento>66685</IdDocumento>
63+
<NumItem>1</NumItem>
64+
</DatiOrdineAcquisto>
65+
<DatiTrasporto>
66+
<DatiAnagraficiVettore>
67+
<IdFiscaleIVA>
68+
<IdPaese>IT</IdPaese>
69+
<IdCodice>04507990150</IdCodice>
70+
</IdFiscaleIVA>
71+
<Anagrafica>
72+
<Denominazione>Trasporto spa</Denominazione>
73+
</Anagrafica>
74+
</DatiAnagraficiVettore>
75+
<DataOraConsegna>2012-10-22T16:46:12.000+02:00</DataOraConsegna>
76+
</DatiTrasporto>
77+
</DatiGenerali>
78+
<DatiBeniServizi>
79+
<DettaglioLinee>
80+
<NumeroLinea>1</NumeroLinea>
81+
<CodiceArticolo>
82+
<CodiceTipo>INT</CodiceTipo>
83+
<CodiceValore>ART123</CodiceValore>
84+
</CodiceArticolo>
85+
<Descrizione>LA DESCRIZIONE DELLA FORNITURA PUO' SUPERARE I CENTO CARATTERI CHE RAPPRESENTAVANO IL PRECEDENTE LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA VERSIONE E' STATO PORTATO A MILLE CARATTERI</Descrizione>
86+
<Quantita>5.00</Quantita>
87+
<PrezzoUnitario>1.00</PrezzoUnitario>
88+
<PrezzoTotale>5.00</PrezzoTotale>
89+
<AliquotaIVA>22.00</AliquotaIVA>
90+
</DettaglioLinee>
91+
<DettaglioLinee>
92+
<NumeroLinea>2</NumeroLinea>
93+
<Descrizione>FORNITURE VARIE PER UFFICIO</Descrizione>
94+
<Quantita>10.00</Quantita>
95+
<PrezzoUnitario>2.00</PrezzoUnitario>
96+
<PrezzoTotale>20.00</PrezzoTotale>
97+
<AliquotaIVA>22.00</AliquotaIVA>
98+
</DettaglioLinee>
99+
<DatiRiepilogo>
100+
<AliquotaIVA>22.00</AliquotaIVA>
101+
<ImponibileImporto>25.00</ImponibileImporto>
102+
<Imposta>5.50</Imposta>
103+
<EsigibilitaIVA>I</EsigibilitaIVA>
104+
</DatiRiepilogo>
105+
</DatiBeniServizi>
106+
<DatiPagamento>
107+
<CondizioniPagamento>TP01</CondizioniPagamento>
108+
<DettaglioPagamento>
109+
<ModalitaPagamento>MP01</ModalitaPagamento>
110+
<DataScadenzaPagamento>2015-01-30</DataScadenzaPagamento>
111+
<ImportoPagamento>32.50</ImportoPagamento>
112+
</DettaglioPagamento>
113+
</DatiPagamento>
114+
</FatturaElettronicaBody>
115+
<FatturaElettronicaBody>
116+
<DatiGenerali>
117+
<DatiGeneraliDocumento>
118+
<TipoDocumento>TD01</TipoDocumento>
119+
<Divisa>EUR</Divisa>
120+
<Data>2014-12-20</Data>
121+
<Numero>456</Numero>
122+
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
123+
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200 CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
124+
</DatiGeneraliDocumento>
125+
<DatiOrdineAcquisto>
126+
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
127+
<IdDocumento>66685</IdDocumento>
128+
<NumItem>1</NumItem>
129+
</DatiOrdineAcquisto>
130+
</DatiGenerali>
131+
<DatiBeniServizi>
132+
<DettaglioLinee>
133+
<NumeroLinea>1</NumeroLinea>
134+
<Descrizione>PRESTAZIONE DEL SEGUENTE SERVIZIO PROFESSIONALE: LA DESCRIZIONE DELLA PRESTAZIONE PUO' SUPERARE I CENTO CARATTERI CHE RAPPRESENTAVANO IL PRECEDENTE LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA VERSIONE E' STATO PORTATO A MILLE CARATTERI</Descrizione>
135+
<PrezzoUnitario>2000.00</PrezzoUnitario>
136+
<PrezzoTotale>2000.00</PrezzoTotale>
137+
<AliquotaIVA>22.00</AliquotaIVA>
138+
</DettaglioLinee>
139+
<DatiRiepilogo>
140+
<AliquotaIVA>22.00</AliquotaIVA>
141+
<ImponibileImporto>2000.00</ImponibileImporto>
142+
<Imposta>440.00</Imposta>
143+
<EsigibilitaIVA>I</EsigibilitaIVA>
144+
</DatiRiepilogo>
145+
</DatiBeniServizi>
146+
<DatiPagamento>
147+
<CondizioniPagamento>TP01</CondizioniPagamento>
148+
<DettaglioPagamento>
149+
<ModalitaPagamento>MP19</ModalitaPagamento>
150+
<DataScadenzaPagamento>2015-01-28</DataScadenzaPagamento>
151+
<ImportoPagamento>2440.00</ImportoPagamento>
152+
</DettaglioPagamento>
153+
</DatiPagamento>
154+
</FatturaElettronicaBody>
155+
</p:FatturaElettronica>
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" 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">
3+
<FatturaElettronicaHeader>
4+
<DatiTrasmissione>
5+
<IdTrasmittente>
6+
<IdPaese>IT</IdPaese>
7+
<IdCodice>05979361218</IdCodice>
8+
</IdTrasmittente>
9+
<ProgressivoInvio>00001</ProgressivoInvio>
10+
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
11+
<CodiceDestinatario>0000000</CodiceDestinatario>
12+
<ContattiTrasmittente/>
13+
</DatiTrasmissione>
14+
<CedentePrestatore>
15+
<DatiAnagrafici>
16+
<IdFiscaleIVA>
17+
<IdPaese>IT</IdPaese>
18+
<IdCodice>15844561009</IdCodice>
19+
</IdFiscaleIVA>
20+
<CodiceFiscale>06377691008</CodiceFiscale>
21+
<Anagrafica>
22+
<Denominazione>ENEL ITALIA S.P.A.</Denominazione>
23+
</Anagrafica>
24+
<RegimeFiscale>RF01</RegimeFiscale>
25+
</DatiAnagrafici>
26+
<Sede>
27+
<Indirizzo>Via Luigi Boccherini 15</Indirizzo>
28+
<CAP>00198</CAP>
29+
<Comune>ROMA</Comune>
30+
<Provincia>RM</Provincia>
31+
<Nazione>IT</Nazione>
32+
</Sede>
33+
</CedentePrestatore>
34+
<CessionarioCommittente>
35+
<DatiAnagrafici>
36+
<CodiceFiscale>03533590174</CodiceFiscale>
37+
<Anagrafica>
38+
<Denominazione>BETA GAMMA</Denominazione>
39+
</Anagrafica>
40+
</DatiAnagrafici>
41+
<Sede>
42+
<Indirizzo>VIA TORINO 38-B</Indirizzo>
43+
<CAP>00145</CAP>
44+
<Comune>ROMA</Comune>
45+
<Provincia>RM</Provincia>
46+
<Nazione>IT</Nazione>
47+
</Sede>
48+
</CessionarioCommittente>
49+
</FatturaElettronicaHeader>
50+
<FatturaElettronicaBody>
51+
<DatiGenerali>
52+
<DatiGeneraliDocumento>
53+
<TipoDocumento>TD01</TipoDocumento>
54+
<Divisa>EUR</Divisa>
55+
<Data>2014-12-18</Data>
56+
<Numero>2</Numero>
57+
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
58+
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200 CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
59+
</DatiGeneraliDocumento>
60+
<DatiOrdineAcquisto>
61+
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
62+
<IdDocumento>66685</IdDocumento>
63+
<NumItem>1</NumItem>
64+
</DatiOrdineAcquisto>
65+
<DatiTrasporto>
66+
<DatiAnagraficiVettore>
67+
<IdFiscaleIVA>
68+
<IdPaese>IT</IdPaese>
69+
<IdCodice>04507990150</IdCodice>
70+
</IdFiscaleIVA>
71+
<Anagrafica>
72+
<Denominazione>Trasporto spa</Denominazione>
73+
</Anagrafica>
74+
</DatiAnagraficiVettore>
75+
<DataOraConsegna>2012-10-22T16:46:12.000+02:00</DataOraConsegna>
76+
</DatiTrasporto>
77+
</DatiGenerali>
78+
<DatiBeniServizi>
79+
<DettaglioLinee>
80+
<NumeroLinea>1</NumeroLinea>
81+
<CodiceArticolo>
82+
<CodiceTipo>INT</CodiceTipo>
83+
<CodiceValore>ART123</CodiceValore>
84+
</CodiceArticolo>
85+
<Descrizione>LA DESCRIZIONE DELLA FORNITURA PUO' SUPERARE I CENTO CARATTERI CHE RAPPRESENTAVANO IL PRECEDENTE LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA VERSIONE E' STATO PORTATO A MILLE CARATTERI</Descrizione>
86+
<Quantita>5.00</Quantita>
87+
<PrezzoUnitario>1.00</PrezzoUnitario>
88+
<PrezzoTotale>5.00</PrezzoTotale>
89+
<AliquotaIVA>22.00</AliquotaIVA>
90+
</DettaglioLinee>
91+
<DettaglioLinee>
92+
<NumeroLinea>2</NumeroLinea>
93+
<Descrizione>FORNITURE VARIE PER UFFICIO</Descrizione>
94+
<Quantita>10.00</Quantita>
95+
<PrezzoUnitario>2.00</PrezzoUnitario>
96+
<PrezzoTotale>20.00</PrezzoTotale>
97+
<AliquotaIVA>22.00</AliquotaIVA>
98+
</DettaglioLinee>
99+
<DatiRiepilogo>
100+
<AliquotaIVA>22.00</AliquotaIVA>
101+
<ImponibileImporto>25.00</ImponibileImporto>
102+
<Imposta>5.50</Imposta>
103+
<EsigibilitaIVA>I</EsigibilitaIVA>
104+
</DatiRiepilogo>
105+
</DatiBeniServizi>
106+
<DatiPagamento>
107+
<CondizioniPagamento>TP01</CondizioniPagamento>
108+
<DettaglioPagamento>
109+
<ModalitaPagamento>MP01</ModalitaPagamento>
110+
<DataScadenzaPagamento>2015-01-30</DataScadenzaPagamento>
111+
<ImportoPagamento>32.50</ImportoPagamento>
112+
</DettaglioPagamento>
113+
</DatiPagamento>
114+
</FatturaElettronicaBody>
115+
<FatturaElettronicaBody>
116+
<DatiGenerali>
117+
<DatiGeneraliDocumento>
118+
<TipoDocumento>TD01</TipoDocumento>
119+
<Divisa>EUR</Divisa>
120+
<Data>2014-12-20</Data>
121+
<Numero>456</Numero>
122+
<Causale>LA FATTURA FA RIFERIMENTO AD UNA OPERAZIONE AAAA BBBBBBBBBBBBBBBBBB CCC DDDDDDDDDDDDDDD E FFFFFFFFFFFFFFFFFFFF GGGGGGGGGG HHHHHHH II LLLLLLLLLLLLLLLLL MMM NNNNN OO PPPPPPPPPPP QQQQ RRRR SSSSSSSSSSSSSS</Causale>
123+
<Causale>SEGUE DESCRIZIONE CAUSALE NEL CASO IN CUI NON SIANO STATI SUFFICIENTI 200 CARATTERI AAAAAAAAAAA BBBBBBBBBBBBBBBBB</Causale>
124+
</DatiGeneraliDocumento>
125+
<DatiOrdineAcquisto>
126+
<RiferimentoNumeroLinea>1</RiferimentoNumeroLinea>
127+
<IdDocumento>66685</IdDocumento>
128+
<NumItem>1</NumItem>
129+
</DatiOrdineAcquisto>
130+
</DatiGenerali>
131+
<DatiBeniServizi>
132+
<DettaglioLinee>
133+
<NumeroLinea>1</NumeroLinea>
134+
<Descrizione>PRESTAZIONE DEL SEGUENTE SERVIZIO PROFESSIONALE: LA DESCRIZIONE DELLA PRESTAZIONE PUO' SUPERARE I CENTO CARATTERI CHE RAPPRESENTAVANO IL PRECEDENTE LIMITE DIMENSIONALE. TALE LIMITE NELLA NUOVA VERSIONE E' STATO PORTATO A MILLE CARATTERI</Descrizione>
135+
<PrezzoUnitario>2000.00</PrezzoUnitario>
136+
<PrezzoTotale>2000.00</PrezzoTotale>
137+
<AliquotaIVA>22.00</AliquotaIVA>
138+
</DettaglioLinee>
139+
<DatiRiepilogo>
140+
<AliquotaIVA>22.00</AliquotaIVA>
141+
<ImponibileImporto>2000.00</ImponibileImporto>
142+
<Imposta>440.00</Imposta>
143+
<EsigibilitaIVA>I</EsigibilitaIVA>
144+
</DatiRiepilogo>
145+
</DatiBeniServizi>
146+
<DatiPagamento>
147+
<CondizioniPagamento>TP01</CondizioniPagamento>
148+
<DettaglioPagamento>
149+
<ModalitaPagamento>MP19</ModalitaPagamento>
150+
<DataScadenzaPagamento>2015-01-28</DataScadenzaPagamento>
151+
<ImportoPagamento>2440.00</ImportoPagamento>
152+
</DettaglioPagamento>
153+
</DatiPagamento>
154+
</FatturaElettronicaBody>
155+
</p:FatturaElettronica>

l10n_it_fatturapa_in/tests/test_import_fatturapa_xml.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -972,6 +972,46 @@ def test_54_xml_import(self):
972972
self.assertEqual(invoice.invoice_line_ids[0].price_subtotal, 1.5)
973973
self.assertEqual(invoice.move_type, "in_refund")
974974

975+
def test_55_xml_import(self):
976+
"""
977+
Test: Import two different XML with same VAT but different
978+
fiscalcode
979+
"""
980+
partner_model = self.env["res.partner"]
981+
partner1 = partner_model.create(
982+
[
983+
{
984+
"name": "ENEL ENERGIA S.P.A.",
985+
"country_id": self.ref("base.it"),
986+
"vat": "IT15844561009",
987+
"fiscalcode": "06655971007",
988+
"is_company": True,
989+
}
990+
]
991+
)
992+
993+
partner2 = partner_model.create(
994+
[
995+
{
996+
"name": "ENEL ITALIA S.P.A.",
997+
"country_id": self.ref("base.it"),
998+
"vat": "IT15844561009",
999+
"fiscalcode": "06377691008",
1000+
"is_company": True,
1001+
}
1002+
]
1003+
)
1004+
res_invoice1 = self.run_wizard("test56", "IT15844561009_001.xml")
1005+
invoice_id1 = res_invoice1.get("domain")[0][2][0]
1006+
invoice1 = self.invoice_model.browse(invoice_id1)
1007+
1008+
res_invoice2 = self.run_wizard("test57", "IT15844561009_002.xml")
1009+
invoice_id2 = res_invoice2.get("domain")[0][2][0]
1010+
invoice2 = self.invoice_model.browse(invoice_id2)
1011+
1012+
self.assertEqual(invoice1.partner_id, partner1)
1013+
self.assertEqual(invoice2.partner_id, partner2)
1014+
9751015
def test_01_xml_link(self):
9761016
"""
9771017
E-invoice lines are created.

0 commit comments

Comments
 (0)