diff --git a/app/Ninja/Datatables/ProductDatatable.php b/app/Ninja/Datatables/ProductDatatable.php index 2325d78f52ac..d5a3aba104d6 100644 --- a/app/Ninja/Datatables/ProductDatatable.php +++ b/app/Ninja/Datatables/ProductDatatable.php @@ -30,7 +30,7 @@ class ProductDatatable extends EntityDatatable [ 'cost', function ($model) { - return Utils::roundSignificant($model->cost); + return Utils::formatMoney($model->cost); }, ], [ diff --git a/resources/views/invoices/knockout.blade.php b/resources/views/invoices/knockout.blade.php index ea4288984aaf..5d082bbaf187 100644 --- a/resources/views/invoices/knockout.blade.php +++ b/resources/views/invoices/knockout.blade.php @@ -1037,7 +1037,20 @@ ko.bindingHandlers.productTypeahead = { } if (parseFloat(datum.cost)) { if (! model.cost() || ! model.task_public_id()) { - model.cost(roundSignificant(datum.cost, true)); + // optionally handle curency conversion + var cost = datum.cost; + var client = window.model.invoice().client(); + if (client) { + var clientCurrencyId = client.currency_id(); + if (clientCurrencyId) { + var accountCurrencyId = {{ $account->getCurrencyId() }}; + cost = fx.convert(cost, { + from: currencyMap[accountCurrencyId].code, + to: currencyMap[clientCurrencyId].code, + }); + } + } + model.cost(roundSignificant(cost, true)); } } if (!model.qty() && ! model.task_public_id()) {