Introduction This article describes the minimum requirements for sending UBL invoices to the Semine DocFlow system. Use this as a starting point for your integration.
SEMINE supports receiving and processing electronic invoices and credit notes that comply with PEPPOL BIS Billing 3.0 (UBL 2.1). This includes all valid EHF invoices, which represent the Norwegian implementation of PEPPOL BIS Billing 3.0.
Note: In SEMINE, all PEPPOL-compliant UBL invoices and credit notes are supported, including but not limited to the Norwegian EHF format.
The PEPPOL BIS Billing 3.0 and EHF invoices received by SEMINE include a Standard Business Document (SBD) envelope that wraps the UBL XML content. For more details, refer to the Standard Business Document (SBD).
Minimal valid UBL invoice example <h2 id="h_01K8SX2YBV0366H94B94Y83B40">Minimal valid UBL invoice example</h2>
<pre><code class="language-auto"><Invoice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2>
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ProfileID>urn:generic:billing:1.0</cbc:ProfileID>
<cbc:ID>INV-10001</cbc:ID>
<cbc:IssueDate>2025-10-27</cbc:IssueDate>
<cbc:DueDate>2025-11-26</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyName>
<cbc:Name>Example Supplier Ltd.</cbc:Name>
</cac:PartyName>
<cac:PartyLegalEntity>
<cbc:CompanyID>123456789</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ElectronicMail>info@example-supplier.eu</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyName>
<cbc:Name>Example Customer Corp.</cbc:Name>
</cac:PartyName>
<cac:PartyLegalEntity>
<cbc:CompanyID>987654321</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">337.50</cbc:TaxAmount>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:PayableAmount currencyID="EUR">1688.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1.00</cbc:InvoicedQuantity>
<cac:Item>
<cbc:Name>Generic Service Description</cbc:Name>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1350.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
</code></pre>
Field requirements and structure Document header fields
UBL / EHF Field
SEMINE Field
Description
Example
<cbc:ID>
Invoice Number
Unique invoice identifier used as the primary reference in SEMINE.
INV-10001
<cbc:IssueDate>
Invoice Date
Date when the invoice was issued.
2025-10-27
<cbc:DueDate>
Due Date
Date when the payment is due.
2025-11-26
<cbc:InvoiceTypeCode>
Invoice Type
Defines document type (380 = Invoice, 381 = Credit Note).
380
<cbc:DocumentCurrencyCode>
Currency
Currency applied to the invoice totals.
EUR
Supplier information (sender)
UBL / EHF Field
SEMINE Field
Description
Example
<cac:AccountingSupplierParty>/<cac:Party>/<cac:PartyName>/<cbc:Name>
Supplier Name
Displayed as supplier in the invoice header.
Example Supplier Ltd.
<cac:PartyLegalEntity>/<cbc:CompanyID>
Organization Number
Used for supplier matching in the SEMINE supplier register.
1234567890
<cac:Contact>/<cbc:ElectronicMail>
Supplier Contact Email
Stored as metadata; not used for matching.
info@example-supplier.eu
Customer information (receiver)
UBL / EHF Field
SEMINE Field
Description
Example
<cac:AccountingCustomerParty>/<cac:Party>/<cac:PartyName>/<cbc:Name>
Client Name
Displayed as client name in the invoice header.
Example Customer Corp.
<cac:PartyLegalEntity>/<cbc:CompanyID>
Client Organization Number
Used to identify the receiving company in SEMINE.
0987654321
Invoice lines (at least one required)
UBL / EHF Field
SEMINE Field
Description
Example
<cac:InvoiceLine>/<cbc:ID>
Line ID
Unique line identifier within the invoice.
1
<cbc:InvoicedQuantity>
Quantity
Number of units or services billed.
1.00
<cac:Item>/<cbc:Name>
Line Description
Description of goods or services.
Generic Service Description
<cac:Price>/<cbc:PriceAmount>
Unit Price
Price per unit or service line.
1350.00
Total amounts
UBL / EHF Field
SEMINE Field
Description
Example
<cac:TaxTotal>/<cbc:TaxAmount>
VAT Total
Displays VAT total used in validation.
337.50
<cac:LegalMonetaryTotal>/<cbc:PayableAmount>
Invoice Total
Total amount payable (including VAT and rounding).
1688.00
Tip: Ensure that the supplier organization number and currency match the records in SEMINE for successful classification.
Common unit codes
Code
Description
EA
Each (unit)
HUR
Hour
DAY
Day
Common currency codes
Code
Currency
NOK
Norwegian Krone
SEK
Swedish Krona
EUR
Euro
Common validation errors
Error message
What is wrong
How to fix
Missing invoice number
No ID element
Add <ID> with a unique invoice number
Missing issue date
No IssueDate element
Add <IssueDate> in YYYY-MM-DD format
Invalid currency code
Currency not recognized
Use valid ISO 4217 code (NOK, EUR, USD)
Supplier organization number required
Missing or invalid CompanyID
Add numeric-only organization number (8–11 digits)
Customer organization number required
Missing or invalid CompanyID
Add numeric-only organization number (8–11 digits)
Invalid organization number format
Contains letters or wrong length
Remove country codes; use only digits
No invoice lines found
No InvoiceLine elements
Add at least one invoice line
Missing line amount
No LineExtensionAmount
Add line total amount
Missing total amount
No PayableAmount
Add total payable amount
Organization number format by country
Country
Length
Format
Valid example
Invalid example
Norway 🇳🇴
9 digits
Numeric only
123456789
NO123456789MVA
Sweden 🇸🇪
10 digits
Numeric only
1234567890
SE123456789001
Denmark 🇩🇰
8 digits
Numeric only
12345678
DK12345678
Finland 🇫🇮
8 digits
Format: 1234567-8
1234567-8
FI12345678
See Also: Peppol Code Lists - Participant identifier schemes
Optional but recommended fields Payment information <PaymentMeans>
<PaymentMeansCode>31</PaymentMeansCode>
<PayeeFinancialAccount>
<ID schemeID="BBAN">12345678901</ID>
</PayeeFinancialAccount>
</PaymentMeans>
Due date <PaymentTerms>
<PaymentDueDate>2024-04-15</PaymentDueDate>
</PaymentTerms>
Tax details <TaxTotal>
<TaxAmount currencyID="NOK">250.00</TaxAmount>
<TaxSubtotal>
<TaxableAmount currencyID="NOK">1000.00</TaxableAmount>
<TaxAmount currencyID="NOK">250.00</TaxAmount>
<TaxCategory>
<ID>S</ID>
<Percent>25.0</Percent>
<TaxScheme>
<ID>VAT</ID>
</TaxScheme>
</TaxCategory>
</TaxSubtotal>
</TaxTotal>
Purchase order reference <OrderReference>
<ID>PO-2024-001</ID>
</OrderReference>
Need more information? For detailed technical documentation, see the related articles below:
Comments
0 comments
Please sign in to leave a comment.