summaryrefslogtreecommitdiff
path: root/include/administration.hpp
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-10-18 23:10:20 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-10-18 23:10:20 +0200
commit18bfbc423d188683973a0a3d6c31c9225158e262 (patch)
treee88ab359e6455d44dc7687769ae1281133485acc /include/administration.hpp
parente5e059538bbbf1993df854bd95e9bbf4bb1d7aaa (diff)
tax rate refactor
Diffstat (limited to 'include/administration.hpp')
-rw-r--r--include/administration.hpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/administration.hpp b/include/administration.hpp
index 5053d7e..151df2a 100644
--- a/include/administration.hpp
+++ b/include/administration.hpp
@@ -46,12 +46,28 @@
#define MY_COMPANY_ID "C/1"
+typedef enum
+{
+ TAX_RATE_OUTGOING_INVOICE,
+ TAX_RATE_INCOMMING_INVOICE,
+
+ TAX_RATE_TYPE_END,
+} tax_rate_type;
+
+#define MAX_TAX_SECTION_PER_RATE 3
typedef struct
{
char id[MAX_LEN_ID]; // T/[id]
- char country_code[MAX_LEN_COUNTRY_CODE]; // 2 letter country code
+ char internal_code[MAX_LEN_SHORT_DESC];
float rate; // 0-100%
+ u32 tax_section_count;
+ char tax_sections[MAX_TAX_SECTION_PER_RATE][MAX_LEN_SHORT_DESC]; // Country specific tax section
+ tax_rate_type type;
+
+ // depricated:
+ char tax_section[MAX_LEN_SHORT_DESC];
char category_code[MAX_LEN_CODE]; // Category code. https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5305/
+ char country_code[MAX_LEN_COUNTRY_CODE]; // 2 letter country code
} tax_rate;
typedef struct