From 18bfbc423d188683973a0a3d6c31c9225158e262 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sat, 18 Oct 2025 23:10:20 +0200 Subject: tax rate refactor --- include/countries.hpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'include/countries.hpp') diff --git a/include/countries.hpp b/include/countries.hpp index 8b4bb88..68b6fa0 100644 --- a/include/countries.hpp +++ b/include/countries.hpp @@ -20,13 +20,14 @@ typedef struct { - char* country_code; - bool is_EU; - time_t (*get_default_invoice_expire_duration)(); - void (*fill_tax_report_with_categories)(tax_report* report); - bool (*add_billing_item_to_tax_report)(tax_report* report, invoice* inv, billing_item* item); - float (*calculate_tax_report_final)(tax_report* report); - time_t (*get_invoice_date_to_use_for_tax_report)(invoice* inv); + char* country_code; + bool is_EU; + time_t (*get_default_invoice_expire_duration)(); + void (*fill_tax_report_with_categories)(tax_report* report); + bool (*add_billing_item_to_tax_report)(tax_report* report, invoice* inv, billing_item* item); + float (*calculate_tax_report_final)(tax_report* report); + time_t (*get_invoice_date_to_use_for_tax_report)(invoice* inv); + u32 (*get_available_tax_rates)(tax_rate* buffer, u32 buffer_size); } country_impl; namespace country { @@ -41,6 +42,6 @@ namespace country { void fill_tax_report_with_categories(char* country_code, tax_report* report); bool add_billing_item_to_tax_report(char* country_code, tax_report* report, invoice* inv, billing_item* item); float calculate_tax_report_final(char* country_code, tax_report* report); - time_t get_invoice_date_to_use_for_tax_report(char* country_code, invoice* inv); - + time_t get_invoice_date_to_use_for_tax_report(char* country_code, invoice* inv); + u32 get_available_tax_rates(char* country_code, tax_rate* buffer, u32 buffer_size); } \ No newline at end of file -- cgit v1.2.3-70-g09d2