From d83e5e8cd66f05ca7e6aa9fc645788313d89dfe7 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sat, 11 Oct 2025 09:41:14 +0200 Subject: multi currency invoice handling for tax report --- src/administration.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/administration.cpp') diff --git a/src/administration.cpp b/src/administration.cpp index 5675cb4..495f847 100644 --- a/src/administration.cpp +++ b/src/administration.cpp @@ -2036,6 +2036,17 @@ a_err administration::billing_item_update_in_invoice(invoice* invoice, billing_i return A_ERR_NOT_FOUND; } +tax_subtotal administration::billing_item_convert_to_default_currency(invoice* invoice, billing_item item) +{ + tax_subtotal result = {0}; + if (invoice->net != 0.0f) result.net = item.net / (invoice->orig_net / invoice->net); + if (invoice->tax != 0.0f) result.tax = item.tax / (invoice->orig_tax / invoice->tax); + if (invoice->total != 0.0f) result.total = item.total / (invoice->orig_total / invoice->total); + if (invoice->allowance != 0.0f) result.allowance = item.allowance / (invoice->orig_allowance / invoice->allowance); + + return result; +} + a_err administration::billing_item_is_valid(billing_item item) { a_err result = A_ERR_SUCCESS; -- cgit v1.2.3-70-g09d2