summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/administration.hpp4
-rw-r--r--include/file_templates.hpp119
-rw-r--r--include/strops.hpp5
3 files changed, 126 insertions, 2 deletions
diff --git a/include/administration.hpp b/include/administration.hpp
index e9ca22f..774faf8 100644
--- a/include/administration.hpp
+++ b/include/administration.hpp
@@ -41,6 +41,9 @@ typedef struct
{
char address1[MAX_LEN_ADDRESS];
char address2[MAX_LEN_ADDRESS];
+ char city[MAX_LEN_ADDRESS];
+ char postal[MAX_LEN_ADDRESS];
+ char region[MAX_LEN_ADDRESS];
char country_code[MAX_LEN_COUNTRY_CODE]; // 2 letter country code
} address;
@@ -248,6 +251,7 @@ bool administration_invoice_is_valid(invoice* invoice);
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);
// Billing item functions.
// =======================
diff --git a/include/file_templates.hpp b/include/file_templates.hpp
new file mode 100644
index 0000000..f267055
--- /dev/null
+++ b/include/file_templates.hpp
@@ -0,0 +1,119 @@
+const char *peppol_invoice_template =
+/*"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"*/
+"<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\"\n"
+" xmlns:cac=\"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2\"\n"
+" xmlns:cbc=\"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2\">\n"
+"\n"
+" <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>\n"
+" <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>\n"
+"\n"
+" <cbc:ID>{{INVOICE_ID}}</cbc:ID>\n"
+" <cbc:IssueDate>{{ISSUE_DATE}}</cbc:IssueDate>\n"
+" <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>\n"
+" <cbc:DocumentCurrencyCode>{{CURRENCY}}</cbc:DocumentCurrencyCode>\n"
+"\n"
+" <cac:AccountingSupplierParty>\n"
+" <cac:Party>\n"
+" <cbc:EndpointID schemeID=\"{{SUPPLIER_ENDPOINT_SCHEME}}\">{{SUPPLIER_ENDPOINT_ID}}</cbc:EndpointID>\n"
+" <cac:PartyName>\n"
+" <cbc:Name>{{SUPPLIER_NAME}}</cbc:Name>\n"
+" </cac:PartyName>\n"
+" <cac:PostalAddress>\n"
+" <cbc:StreetName>{{SUPPLIER_STREET}}</cbc:StreetName>\n"
+" <cbc:AdditionalStreetName>{{SUPPLIER_STREET2}}</cbc:AdditionalStreetName>\n"
+" <cbc:CityName>{{SUPPLIER_CITY}}</cbc:CityName>\n"
+" <cbc:PostalZone>{{SUPPLIER_POSTAL}}</cbc:PostalZone>\n"
+" <cbc:CountrySubentity>{{SUPPLIER_REGION}}</cbc:CountrySubentity>\n"
+" <cac:Country>\n"
+" <cbc:IdentificationCode>{{SUPPLIER_COUNTRY}}</cbc:IdentificationCode>\n"
+" </cac:Country>\n"
+" </cac:PostalAddress>\n"
+" <cac:PartyTaxScheme>\n"
+" <cbc:CompanyID>{{SUPPLIER_VAT_ID}}</cbc:CompanyID>\n"
+" <cac:TaxScheme>\n"
+" <cbc:ID>VAT</cbc:ID>\n"
+" </cac:TaxScheme>\n"
+" </cac:PartyTaxScheme>\n"
+" </cac:Party>\n"
+" </cac:AccountingSupplierParty>\n"
+"\n"
+" <cac:AccountingCustomerParty>\n"
+" <cac:Party>\n"
+" <cbc:EndpointID schemeID=\"{{CUSTOMER_ENDPOINT_SCHEME}}\">{{CUSTOMER_ENDPOINT_ID}}</cbc:EndpointID>\n"
+" <cac:PartyName>\n"
+" <cbc:Name>{{CUSTOMER_NAME}}</cbc:Name>\n"
+" </cac:PartyName>\n"
+" <cac:PostalAddress>\n"
+" <cbc:StreetName>{{CUSTOMER_STREET}}</cbc:StreetName>\n"
+" <cbc:AdditionalStreetName>{{CUSTOMER_STREET2}}</cbc:AdditionalStreetName>\n"
+" <cbc:CityName>{{CUSTOMER_CITY}}</cbc:CityName>\n"
+" <cbc:PostalZone>{{CUSTOMER_POSTAL}}</cbc:PostalZone>\n"
+" <cbc:CountrySubentity>{{CUSTOMER_REGION}}</cbc:CountrySubentity>\n"
+" <cac:Country>\n"
+" <cbc:IdentificationCode>{{CUSTOMER_COUNTRY}}</cbc:IdentificationCode>\n"
+" </cac:Country>\n"
+" </cac:PostalAddress>\n"
+" <cac:PartyTaxScheme>\n"
+" <cbc:CompanyID>{{CUSTOMER_VAT_ID}}</cbc:CompanyID>\n"
+" <cac:TaxScheme>\n"
+" <cbc:ID>VAT</cbc:ID>\n"
+" </cac:TaxScheme>\n"
+" </cac:PartyTaxScheme>\n"
+" </cac:Party>\n"
+" </cac:AccountingCustomerParty>\n"
+"\n"
+" <cac:PaymentMeans>\n"
+" <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode>\n"
+" <cac:PayeeFinancialAccount>\n"
+" <cbc:ID>{{SUPPLIER_IBAN}}</cbc:ID>\n"
+" <cac:FinancialInstitutionBranch>\n"
+" <cac:FinancialInstitution>\n"
+" <cbc:ID>{{SUPPLIER_BIC}}</cbc:ID>\n"
+" </cac:FinancialInstitution>\n"
+" </cac:FinancialInstitutionBranch>\n"
+" </cac:PayeeFinancialAccount>\n"
+" </cac:PaymentMeans>\n"
+"\n"
+" <cac:TaxTotal>\n"
+" <cbc:TaxAmount currencyID=\"{{CURRENCY}}\">{{TOTAL_TAX_AMOUNT}}</cbc:TaxAmount>\n"
+" <cac:TaxSubtotal>\n"
+" <cbc:TaxableAmount currencyID=\"{{CURRENCY}}\">{{TAXABLE_AMOUNT}}</cbc:TaxableAmount>\n"
+" <cbc:TaxAmount currencyID=\"{{CURRENCY}}\">{{TAX_AMOUNT}}</cbc:TaxAmount>\n"
+" <cac:TaxCategory>\n"
+" <cbc:ID>{{TAX_CATEGORY}}</cbc:ID>\n"
+" <cbc:Percent>{{TAX_PERCENT}}</cbc:Percent>\n"
+" <cac:TaxScheme>\n"
+" <cbc:ID>VAT</cbc:ID>\n"
+" </cac:TaxScheme>\n"
+" </cac:TaxCategory>\n"
+" </cac:TaxSubtotal>\n"
+" </cac:TaxTotal>\n"
+"\n"
+" <cac:LegalMonetaryTotal>\n"
+" <cbc:LineExtensionAmount currencyID=\"{{CURRENCY}}\">{{LINE_EXTENSION_AMOUNT}}</cbc:LineExtensionAmount>\n"
+" <cbc:TaxExclusiveAmount currencyID=\"{{CURRENCY}}\">{{TAX_EXCLUSIVE_AMOUNT}}</cbc:TaxExclusiveAmount>\n"
+" <cbc:TaxInclusiveAmount currencyID=\"{{CURRENCY}}\">{{TAX_INCLUSIVE_AMOUNT}}</cbc:TaxInclusiveAmount>\n"
+" <cbc:PayableAmount currencyID=\"{{CURRENCY}}\">{{PAYABLE_AMOUNT}}</cbc:PayableAmount>\n"
+" </cac:LegalMonetaryTotal>\n"
+"\n"
+" <cac:InvoiceLine>\n"
+" <cbc:ID>{{LINE_ID}}</cbc:ID>\n"
+" <cbc:InvoicedQuantity unitCode=\"{{UNIT_CODE}}\">{{QUANTITY}}</cbc:InvoicedQuantity>\n"
+" <cbc:LineExtensionAmount currencyID=\"{{CURRENCY}}\">{{LINE_AMOUNT}}</cbc:LineExtensionAmount>\n"
+" <cac:Item>\n"
+" <cbc:Description>{{ITEM_DESCRIPTION}}</cbc:Description>\n"
+" <cbc:Name>{{ITEM_NAME}}</cbc:Name>\n"
+" <cac:ClassifiedTaxCategory>\n"
+" <cbc:ID>{{LINE_TAX_CATEGORY}}</cbc:ID>\n"
+" <cbc:Percent>{{LINE_TAX_PERCENT}}</cbc:Percent>\n"
+" <cac:TaxScheme>\n"
+" <cbc:ID>VAT</cbc:ID>\n"
+" </cac:TaxScheme>\n"
+" </cac:ClassifiedTaxCategory>\n"
+" </cac:Item>\n"
+" <cac:Price>\n"
+" <cbc:PriceAmount currencyID=\"{{CURRENCY}}\">{{UNIT_PRICE}}</cbc:PriceAmount>\n"
+" </cac:Price>\n"
+" </cac:InvoiceLine>\n"
+"\n"
+"</Invoice>\n";
diff --git a/include/strops.hpp b/include/strops.hpp
index 08dbd5a..4570a15 100644
--- a/include/strops.hpp
+++ b/include/strops.hpp
@@ -1,4 +1,5 @@
#pragma once
-size_t strops_copy(char *dst, const char *src, size_t size);
-char* strops_stristr(char* a, char* b); \ No newline at end of file
+size_t strops_copy(char *dst, const char *src, size_t size);
+char* strops_stristr(char* a, char* b);
+void strops_replace(char *buf, size_t buf_size, const char *search, const char *replace); \ No newline at end of file