From 051666a90b2c4779efdc8cfb49ab7316c94b58b0 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sun, 21 Sep 2025 20:37:34 +0200 Subject: peppol file importing + invoice rw tests --- include/administration.hpp | 5 +++-- include/administration_reader.hpp | 3 ++- include/file_templates.hpp | 33 +++++++++++++++++++++++++-------- 3 files changed, 30 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/include/administration.hpp b/include/administration.hpp index e2ff80d..130993f 100644 --- a/include/administration.hpp +++ b/include/administration.hpp @@ -270,7 +270,6 @@ typedef struct bool is_outgoing; // Outgoing or incomming invoice. payment_information payment_means; - // Used for forms, not stored on disk. Filled when retrieved. contact supplier; contact customer; } invoice; @@ -474,6 +473,7 @@ u32 administration_invoice_count(); u32 administration_invoice_get_incomming_count(); u32 administration_invoice_get_outgoing_count(); invoice administration_invoice_create_empty(); +a_err administration_invoice_import(invoice* invoice); a_err administration_invoice_add(invoice* invoice); a_err administration_invoice_update(invoice* invoice); a_err administration_invoice_remove(invoice* invoice); @@ -486,7 +486,7 @@ char* administration_invoice_get_status_string(invoice* invoice); u32 administration_invoice_get_partial_list_outgoing(u32 page_index, u32 page_size, invoice* buffer); u32 administration_invoice_get_partial_list_incomming(u32 page_index, u32 page_size, invoice* buffer); u32 administration_invoice_get_all(invoice* buffer); - +a_err administration_invoice_get_by_id(invoice* buffer, char* id); u32 administration_invoice_get_tax_rates(invoice* invoice, tax_rate* buffer); bool administration_invoice_get_subtotal_for_tax_rate(invoice* invoice, tax_rate rate, tax_subtotal* buffer); @@ -494,6 +494,7 @@ bool administration_invoice_get_subtotal_for_tax_rate(invoice* invoice, tax_r // ======================= u32 administration_billing_item_count(invoice* invoice); billing_item administration_billing_item_create_empty(); +a_err administration_billing_item_import_to_invoice(invoice* invoice, billing_item item); a_err administration_billing_item_add_to_invoice(invoice* invoice, billing_item item); a_err administration_billing_item_update_in_invoice(invoice* invoice, billing_item item); a_err administration_billing_item_remove_from_invoice(invoice* invoice, billing_item item); diff --git a/include/administration_reader.hpp b/include/administration_reader.hpp index cbd69ba..7765680 100644 --- a/include/administration_reader.hpp +++ b/include/administration_reader.hpp @@ -24,4 +24,5 @@ bool administration_reader_import_administration_info(char* buffer, size_t buffe bool administration_reader_import_tax_rate(char* buffer, size_t buffer_size); bool administration_reader_import_cost_center(char* buffer, size_t buffer_size); bool administration_reader_import_project(char* buffer, size_t buffer_size); -bool administration_reader_import_contact(char* buffer, size_t buffer_size); \ No newline at end of file +bool administration_reader_import_contact(char* buffer, size_t buffer_size); +bool administration_reader_import_invoice(char* buffer, size_t buffer_size); \ No newline at end of file diff --git a/include/file_templates.hpp b/include/file_templates.hpp index 9064abf..4ed3611 100644 --- a/include/file_templates.hpp +++ b/include/file_templates.hpp @@ -94,6 +94,12 @@ const char* peppol_invoice_line_template = " \n" " {{ITEM_NAME}}\n" + +" \n" +" Internal Tax Rate ID\n" +" {{LINE_TAX_ID}}\n" +" \n" + " \n" " {{LINE_TAX_CATEGORY}}\n" " {{LINE_TAX_PERCENT}}\n" @@ -123,24 +129,28 @@ const char *peppol_invoice_template = " 380\n" " {{CURRENCY}}\n" "\n" +" \n" +" {{INVOICE_STATUS}}\n" +" \n" +"\n" " \n" " {{INVOICE_DOCUMENT}}\n" " \n" "\n" " \n" -" {{INVOICE_ID}}\n" +" {{INVOICE_SEQUENCE_ID}}\n" " \n" "\n" " \n" " {{PROJECT_ID}}\n" " \n" -" {{COST_CENTER_CODE}}\n" +" {{COST_CENTER_ID}}\n" "\n" " \n" " \n" " {{SUPPLIER_ENDPOINT_ID}}\n" " \n" -" {{SUPPLIER_ID}}\n" +" {{SUPPLIER_BUSINESS_ID}}\n" " \n" " \n" " {{SUPPLIER_NAME}}\n" @@ -167,7 +177,7 @@ const char *peppol_invoice_template = " \n" "\n" " \n" -" {{SUPPLIER_NAME}}\n" +" {{SUPPLIER_ID}}\n" " {{SUPPLIER_PHONE_NUMBER}}\n" " {{SUPPLIER_EMAIL}}\n" " \n" @@ -179,7 +189,7 @@ const char *peppol_invoice_template = " \n" " {{CUSTOMER_ENDPOINT_ID}}\n" " \n" -" {{CUSTOMER_ID}}\n" +" {{CUSTOMER_BUSINESS_ID}}\n" " \n" " \n" " {{CUSTOMER_NAME}}\n" @@ -206,7 +216,7 @@ const char *peppol_invoice_template = " \n" "\n" " \n" -" {{CUSTOMER_NAME}}\n" +" {{CUSTOMER_ID}}\n" " {{CUSTOMER_PHONE_NUMBER}}\n" " {{CUSTOMER_EMAIL}}\n" " \n" @@ -238,14 +248,21 @@ const char *peppol_invoice_template = " \n" " {{PAYMENT_TYPE}}\n" " {{INVOICE_ID}}\n" + " \n" -" {{SUPPLIER_IBAN}}\n" +" {{RECIPIENT_IBAN}}\n" +" {{RECIPIENT_NAME}}\n" " \n" " \n" -" {{SUPPLIER_BIC}}\n" +" {{RECIPIENT_BIC}}\n" " \n" " \n" " \n" + +" \n" +" {{SENDER_IBAN}}\n" +" \n" + " \n" "\n" " \n" -- cgit v1.2.3-70-g09d2