Every countrie will use the basis EU-part for the data and supplement for eacht there own items like Silvio says.
There is a list for the EU- codes and a list for the syntax codes. I found part of it and ChatGPT provided some extra info about it.
Some info (since it is from the Peppol site will be more related to Belgium, but part will be usefull.
Home location of info
https://docs.peppol.eu/poacc/billing/3.0/
The Billing data list
https://docs.peppol.eu/poacc/billing/3. ... oice/tree/
There is also a BT ... list that need to be used and for us, a code that relates to that BT List
Sample :
BT-1: Invoice number
Syntaxelement: <cbc:ID>
BT-2: Invoice issue date
Syntaxelement: <cbc:IssueDate>
BT-3: Invoice type code
Syntaxelement: <cbc:InvoiceTypeCode>
BT-5: Invoice currency code
Syntaxelement: <cbc:DocumentCurrencyCode>
BT-6: VAT accounting currency code
Syntaxelement: <cbc:TaxCurrencyCode>
BT-7: Value Added Tax point date
Syntaxelement: <cbc:TaxPointDate>
BT-9: Payment due date
Once we create a XML file from these codes, we will have a working invoice XML.
In my case I'm thinking of using a dbf with Xbrowse to keep the codes in and generate a xml on these.
<!-- Factuur informatie -->
<cbc:ID>12345</cbc:ID> <!-- BT-1: Invoice number -->
<cbc:IssueDate>2023-07-15</cbc:IssueDate> <!-- BT-2: Invoice issue date -->
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> <!-- BT-3: Invoice type code -->
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode> <!-- BT-5: Invoice currency code -->
<cbc:DueDate>2023-08-15</cbc:DueDate> <!-- BT-9: Payment due date -->
In Setting dbf, i make 3 fields like : ID, Starttxt, Endtxt like : BT-1 , "<cbc:ID>", "</cbc:ID>"
and in the program I link the data to BT-1 = data->invoice etc....
<cbc:ID>BT-1</cbc:ID>
<cbc:IssueDate>BT-2</cbc:IssueDate>
<cbc:InvoiceTypeCode>BT-3</cbc:InvoiceTypeCode>
<cbc:Note>BT-4</cbc:Note>
<cbc:DocumentCurrencyCode>BT-5</cbc:DocumentCurrencyCode>
Some of you will be using textinto or FWrite not ??