diff --git a/l10n_pt_account_invoicexpress/models/account_move.py b/l10n_pt_account_invoicexpress/models/account_move.py index 3f27c97a..4d4b52c6 100644 --- a/l10n_pt_account_invoicexpress/models/account_move.py +++ b/l10n_pt_account_invoicexpress/models/account_move.py @@ -119,12 +119,25 @@ 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 == line.company_id.currency_id: + price_unit = line.price_unit + else: + price_unit = line.currency_id._convert( + line.price_unit, + line.company_id.currency_id, + line.company_id, + line.move_id.invoice_date + or line.move_id.date + or fields.Date.context_today(line), + ) items.append( { "name": line.product_id.default_code or line.product_id.display_name, "description": line._get_invoicexpress_descr(), - "unit_price": line.price_unit, + "unit_price": price_unit, "quantity": line.quantity, "discount": line.discount, "tax": tax_detail,