Skip to content

Commit

Permalink
[FIX] convert unit price in invoice lines to company currency.
Browse files Browse the repository at this point in the history
  • Loading branch information
cpintofonseca committed Oct 18, 2023
1 parent fcacbcb commit 5f9a6aa
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion l10n_pt_account_invoicexpress/models/account_move.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ def _get_invoicexpress_prefix(self, doctype):
}.get(doctype)

def _prepare_invoicexpress_lines(self):
date_today = fields.Date.today()
# FIXME: set user lang, based on country?
lines = self.invoice_line_ids.filtered(
lambda l: l.display_type not in ("line_section", "line_note")
Expand All @@ -119,12 +120,23 @@ def _prepare_invoicexpress_lines(self):
tax = line.tax_ids[:1]
# If not tax set, force zero VAT
tax_detail = {"name": tax.name or "IVA0", "value": tax.amount or 0.0}
# Because InvoiceXpress expects unit_price in EUR, check if we need to convert
# line currency to company currency (company should use EUR as default currency)
if line.currency_id.id == line.company_id.currency_id.id:
price_unit = line.price_unit
else:
price_unit = line.currency_id._convert(

Check warning on line 128 in l10n_pt_account_invoicexpress/models/account_move.py

View check run for this annotation

Codecov / codecov/patch

l10n_pt_account_invoicexpress/models/account_move.py#L128

Added line #L128 was not covered by tests
line.price_unit,
line.company_id.currency_id,
line.company_id,
date_today
)
items.append(
{
"name": line.product_id.default_code
or line.product_id.display_name,
"description": line._get_invoicexpress_descr(),
"unit_price": abs(line.balance),
"unit_price": price_unit,
"quantity": line.quantity,
"discount": line.discount,
"tax": tax_detail,
Expand Down

0 comments on commit 5f9a6aa

Please sign in to comment.