summaryrefslogtreecommitdiff
path: root/include/file_templates.hpp
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-08-31 12:49:59 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-08-31 12:49:59 +0200
commitb970907ef53f1b8367285cbe7c2dc2a7fa47967f (patch)
tree73ec8747346393263e21ea72cffb6aa27d921c4a /include/file_templates.hpp
parent9fcfc3215a4caaa32872abc9cfc6deeb86b9765c (diff)
invoice templateing work
Diffstat (limited to 'include/file_templates.hpp')
-rw-r--r--include/file_templates.hpp119
1 files changed, 119 insertions, 0 deletions
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";