Skip to content

Commit

Permalink
FIX l10n_it_fatturapa_out, steps: (#642)
Browse files Browse the repository at this point in the history
- Set 'Product Price' Decimal Accuracy with Digits = 4
 - Create an invoice with 1 line with quantity = 24 and price 1.2519
 - Export XML

In the XML you get
Quantità: 24.00
Valore unitario: 1.25
Valore totale: 30.05

While you should have
Valore unitario: 1.2519
  • Loading branch information
eLBati authored and tafaRU committed Nov 7, 2018
1 parent 5eb0001 commit aacd1c7
Show file tree
Hide file tree
Showing 12 changed files with 28 additions and 20 deletions.
2 changes: 1 addition & 1 deletion l10n_it_fatturapa_out/__manifest__.py
Expand Up @@ -5,7 +5,7 @@

{
'name': 'Italian Localization - Fattura Elettronica - Emission',
'version': '10.0.1.1.0',
'version': '10.0.1.1.1',
'category': 'Localization/Italy',
'summary': 'Electronic invoices emission',
'author': 'Davide Corio, Agile Business Group, Innoviu,'
Expand Down
2 changes: 1 addition & 1 deletion l10n_it_fatturapa_out/tests/data/CHE114993395IVA_00007.xml
Expand Up @@ -90,7 +90,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse Optical</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>10.00</PrezzoTotale>
Expand Down
2 changes: 1 addition & 1 deletion l10n_it_fatturapa_out/tests/data/IT03297040366_00005.xml
Expand Up @@ -85,7 +85,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse, Optical</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<ScontoMaggiorazione>
Expand Down
4 changes: 2 additions & 2 deletions l10n_it_fatturapa_out/tests/data/IT06363391001_00001.xml
Expand Up @@ -72,7 +72,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse, Optical</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>10.00</PrezzoTotale>
Expand All @@ -81,7 +81,7 @@
<DettaglioLinee>
<NumeroLinea>2</NumeroLinea>
<Descrizione>Zed+ Antivirus</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>4.00</PrezzoUnitario>
<PrezzoTotale>4.00</PrezzoTotale>
Expand Down
4 changes: 2 additions & 2 deletions l10n_it_fatturapa_out/tests/data/IT06363391001_00002.xml
Expand Up @@ -79,7 +79,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse, Optical</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>10.00</PrezzoTotale>
Expand All @@ -88,7 +88,7 @@
<DettaglioLinee>
<NumeroLinea>2</NumeroLinea>
<Descrizione>Zed+ Antivirus</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>4.00</PrezzoUnitario>
<PrezzoTotale>4.00</PrezzoTotale>
Expand Down
4 changes: 2 additions & 2 deletions l10n_it_fatturapa_out/tests/data/IT06363391001_00003.xml
Expand Up @@ -79,7 +79,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse, Optical</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>10.00</PrezzoTotale>
Expand All @@ -89,7 +89,7 @@
<DettaglioLinee>
<NumeroLinea>2</NumeroLinea>
<Descrizione>Zed+ Antivirus</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>4.00</PrezzoUnitario>
<PrezzoTotale>4.00</PrezzoTotale>
Expand Down
4 changes: 2 additions & 2 deletions l10n_it_fatturapa_out/tests/data/IT06363391001_00004.xml
Expand Up @@ -72,7 +72,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse, Optical</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>10.00</PrezzoTotale>
Expand All @@ -81,7 +81,7 @@
<DettaglioLinee>
<NumeroLinea>2</NumeroLinea>
<Descrizione>Zed+ Antivirus</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>4.00</PrezzoUnitario>
<PrezzoTotale>4.00</PrezzoTotale>
Expand Down
4 changes: 2 additions & 2 deletions l10n_it_fatturapa_out/tests/data/IT06363391001_00006.xml
Expand Up @@ -77,7 +77,7 @@
<CodiceValore>ODOOCODE</CodiceValore>
</CodiceArticolo>
<Descrizione>Mouse Optical</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>10.00</PrezzoTotale>
Expand All @@ -90,7 +90,7 @@
<CodiceValore>987654</CodiceValore>
</CodiceArticolo>
<Descrizione>Zed+ Antivirus</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>4.00</PrezzoUnitario>
<PrezzoTotale>4.00</PrezzoTotale>
Expand Down
4 changes: 2 additions & 2 deletions l10n_it_fatturapa_out/tests/data/IT06363391001_00008.xml
Expand Up @@ -73,7 +73,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse Optical</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>8.20</PrezzoUnitario>
<PrezzoTotale>8.20</PrezzoTotale>
Expand All @@ -82,7 +82,7 @@
<DettaglioLinee>
<NumeroLinea>2</NumeroLinea>
<Descrizione>Zed+ Antivirus</Descrizione>
<Quantita>1.00</Quantita>
<Quantita>1.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>3.28</PrezzoUnitario>
<PrezzoTotale>3.28</PrezzoTotale>
Expand Down
12 changes: 10 additions & 2 deletions l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py
Expand Up @@ -570,6 +570,10 @@ def setDettaglioLinee(self, invoice, body):
# TipoCessionePrestazione not handled

line_no = 1
price_precision = self.env['decimal.precision'].precision_get(
'Product Price')
uom_precision = self.env['decimal.precision'].precision_get(
'Product Unit of Measure')
for line in invoice.invoice_line_ids:
if not line.invoice_line_tax_ids:
raise UserError(
Expand All @@ -584,8 +588,12 @@ def setDettaglioLinee(self, invoice, body):
DettaglioLinea = DettaglioLineeType(
NumeroLinea=str(line_no),
Descrizione=line.name,
PrezzoUnitario='%.2f' % prezzo_unitario,
Quantita='%.2f' % line.quantity,
PrezzoUnitario=('%.' + str(
price_precision
) + 'f') % prezzo_unitario,
Quantita=('%.' + str(
uom_precision
) + 'f') % line.quantity,
UnitaMisura=line.uom_id and (
unidecode(line.uom_id.name)) or None,
PrezzoTotale='%.2f' % line.price_subtotal,
Expand Down
4 changes: 2 additions & 2 deletions l10n_it_fatturapa_out_ddt/tests/data/IT06363391001_00006.xml
Expand Up @@ -83,7 +83,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse Optical</Descrizione>
<Quantita>2.00</Quantita>
<Quantita>2.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>20.00</PrezzoTotale>
Expand All @@ -92,7 +92,7 @@
<DettaglioLinee>
<NumeroLinea>2</NumeroLinea>
<Descrizione>Mouse Optical</Descrizione>
<Quantita>3.00</Quantita>
<Quantita>3.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>30.00</PrezzoTotale>
Expand Down
Expand Up @@ -90,7 +90,7 @@
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Mouse Optical</Descrizione>
<Quantita>2.00</Quantita>
<Quantita>2.000</Quantita>
<UnitaMisura>Unit(s)</UnitaMisura>
<PrezzoUnitario>10.00</PrezzoUnitario>
<PrezzoTotale>20.00</PrezzoTotale>
Expand Down

0 comments on commit aacd1c7

Please sign in to comment.