diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/administration.hpp | 4 | ||||
| -rw-r--r-- | include/file_templates.hpp | 119 | ||||
| -rw-r--r-- | include/strops.hpp | 5 |
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 |
