summaryrefslogtreecommitdiff
path: root/include/administration.hpp
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-10-25 15:00:38 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-10-25 15:00:38 +0200
commit5f25180b3d79d9a03952217cd77a16601ae0a6d0 (patch)
tree2f06334f7d1ad7728c145143e7cbf86a72b24e0e /include/administration.hpp
parentebefd3d10af8d79e765030c263aa560cbb6420d2 (diff)
refactor tax rate loading
Diffstat (limited to 'include/administration.hpp')
-rw-r--r--include/administration.hpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/include/administration.hpp b/include/administration.hpp
index f13f4fb..3fc68bd 100644
--- a/include/administration.hpp
+++ b/include/administration.hpp
@@ -408,7 +408,8 @@ typedef struct
list_t contacts;
list_t projects;
- list_t tax_rates;
+ list_t tax_rates; // Enabled tax rates.
+ list_t all_tax_rates; // Tax rates for all countries.
list_t cost_centers;
u32 invoice_count;
@@ -533,11 +534,15 @@ namespace administration {
u32 tax_rate_count();
tax_rate tax_rate_create_empty();
a_err tax_rate_import(tax_rate data);
- a_err tax_rate_add(tax_rate data);
- a_err tax_rate_exists(tax_rate data);
- a_err tax_rate_remove(tax_rate data);
+ a_err tax_rate_enable(tax_rate data);
+ a_err tax_rate_is_enabled(tax_rate data);
+ a_err tax_rate_disable(tax_rate data);
+ /// @brief Find tax rate by internal code, across all available tax rates.
a_err tax_rate_get_by_internal_code(tax_rate* buffer, char* id);
+
+ /// @brief Get all enabled tax rates.
+ /// @return tax rate count
u32 tax_rate_get_all(tax_rate* buffer, tax_rate_type type);
// Cost center functions.
@@ -567,7 +572,6 @@ namespace administration {
invoice invoice_create_copy(invoice* invoice);
void invoice_destroy(invoice* invoice);
- void invoice_recalculate_totals();
a_err invoice_is_valid(invoice* invoice);
bool invoice_has_intra_community_services(invoice* invoice);