From 17e035839a19a8b10d329c28ccaa44ff608d3a33 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sat, 6 Sep 2025 17:52:54 +0200 Subject: peppol file generation work --- include/administration.hpp | 6 +++++- include/file_templates.hpp | 42 ++++++++++++++++++++++-------------------- 2 files changed, 27 insertions(+), 21 deletions(-) (limited to 'include') diff --git a/include/administration.hpp b/include/administration.hpp index 5e6f0c1..015b1c3 100644 --- a/include/administration.hpp +++ b/include/administration.hpp @@ -27,7 +27,7 @@ typedef struct char id[MAX_LEN_ID]; // T/[id] char country_code[MAX_LEN_COUNTRY_CODE]; // 2 letter country code float rate; // 0-100% - char description[MAX_LEN_SHORT_DESC]; + char category_code[MAX_LEN_CODE]; // Category code. https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5305/ } country_tax_bracket; typedef struct @@ -107,6 +107,7 @@ typedef struct float net_per_item; float discount; bool discount_is_percentage; + float allowance; // Total discount. float net; char currency[MAX_LEN_CURRENCY]; // 3 letter code char tax_bracket_id[MAX_LEN_ID]; // T/[id] @@ -222,6 +223,7 @@ typedef struct float total; float tax; float net; + float allowance; } tax_subtotal; typedef struct @@ -243,6 +245,7 @@ typedef struct float total; float tax; float net; + float allowance; char currency[MAX_LEN_CURRENCY]; // 3 letter code bool is_triangulation; // True if addressee != customer @@ -328,6 +331,7 @@ u32 administration_tax_bracket_count(); bool administration_tax_bracket_add(country_tax_bracket data); bool administration_tax_bracket_update(country_tax_bracket data); +bool administration_tax_bracket_get_by_id(char* id, country_tax_bracket* buffer); u32 administration_tax_bracket_get_all(country_tax_bracket* buffer); u32 administration_tax_bracket_get_by_country(country_tax_bracket* buffer, char* country_code); diff --git a/include/file_templates.hpp b/include/file_templates.hpp index 3559fbe..de3f509 100644 --- a/include/file_templates.hpp +++ b/include/file_templates.hpp @@ -19,7 +19,7 @@ const char* taxbracket_save_template = " {{TAXBRACKET_ID}}\n" " {{TAXBRACKET_COUNTRY}}\n" " {{TAXBRACKET_RATE}}\n" -" {{TAXBRACKET_DESCRIPTION}}\n" +" {{TAXBRACKET_CATEGORY}}\n" "\n"; const char* contact_save_template = @@ -62,6 +62,26 @@ const char* peppol_invoice_tax_subtotal_template = " \n" " \n"; +const char* peppol_invoice_line_template = +" \n" +" {{LINE_ID}}\n" +" {{QUANTITY}}\n" +" {{LINE_AMOUNT}}\n" +" \n" +" {{ITEM_NAME}}\n" +" \n" +" {{LINE_TAX_CATEGORY}}\n" +" {{LINE_TAX_PERCENT}}\n" +" \n" +" VAT\n" +" \n" +" \n" +" \n" +" \n" +" {{UNIT_PRICE}}\n" +" \n" +" \n"; + const char *peppol_invoice_template = /*"\n"*/ "{{PAYABLE_AMOUNT}}\n" " \n" "\n" -" \n" -" {{LINE_ID}}\n" -" {{QUANTITY}}\n" -" {{LINE_AMOUNT}}\n" -" \n" -" {{ITEM_DESCRIPTION}}\n" -" {{ITEM_NAME}}\n" -" \n" -" {{LINE_TAX_CATEGORY}}\n" -" {{LINE_TAX_PERCENT}}\n" -" \n" -" VAT\n" -" \n" -" \n" -" \n" -" \n" -" {{UNIT_PRICE}}\n" -" \n" -" \n" +" {{INVOICE_LINE_LIST}}" "\n" "\n"; -- cgit v1.2.3-70-g09d2