diff options
Diffstat (limited to 'src/administration.cpp')
| -rw-r--r-- | src/administration.cpp | 11 |
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; |
