summaryrefslogtreecommitdiff
path: root/src/administration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/administration.cpp')
-rw-r--r--src/administration.cpp11
1 files changed, 11 insertions, 0 deletions
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;