Details
Description
To reproduce:
- Create a service with no config options
- Edit the service and set an override currency/price
- Generate a renewal invoice
- See the invoice total is not the override price, but rather the override price times the exchange rate of the override currency
Try this to resolve. In Invoices::getLinesForServices() update:
$items[] = [
'service_id' => $service_id,
'qty' => $item->qty,
'amount' => $this->Currencies->convert(
$item->price,
$service->package_pricing->currency,
$currency,
Configure::get('Blesta.company_id')
),
'description' => $item->description,
'tax' => !empty($item->taxes)
];
To
$items[] = [
'service_id' => $service_id,
'qty' => $item->qty,
'amount' => $this->Currencies->convert(
$item->price,
$service->override_currency ?? $service->package_pricing->currency,
$currency,
Configure::get('Blesta.company_id')
),
'description' => $item->description,
'tax' => !empty($item->taxes)
];