OIOUBL guidelines

Scalepoint today supports recieving digital invoices formatted as OIOUBL 2.02

For us to be able to assign the invoice to the correct person and to ensure best flow we have some ekstra requirements.

Scalepoint specific requirements

  • Order reference must be present on the invoice:
    • Formatted as recieved including leading zeroes
      • Valid: 000062217-9
      • Not valid: 62217-9
    • Placed in either:
      • Order reference:
        • Example:
          <cac:OrderReference>
              <cbc:ID>000062217-9</cbc:ID>
          </cac:OrderReference>
      • cbc:Note
        • Example: xml <cbc:Note>Vedr. 000066217-9, Jens Caspersen, Ingemannsvej 550, 2000 Frederiksberg </cbc:Note>
  • Cpr number of the person treated must be present:
    • Placed:
      • cbc:Note
        • Formatted with hyphen after date of birth
          • Valid: 230478-2023
          • Not Valid: 2304782023
        • Example:
          <cbc:Note>Vedr. 000066217-9, Jens Caspersen (230478-2023)</cbc:Note>
      • on InvoiceLine under one of the following fields, and with schemeID="DK:CPR":
        • ID
        • PartyIdentification
        • DeliveryParty
        • Delivery
        • Example:
          <cac:Delivery>
              <cbc:ActualDeliveryDate>2020-04-29</cbc:ActualDeliveryDate>
              <cac:DeliveryParty>
                  <cac:PartyName>
                      <cbc:Name>Jens Caspersen</cbc:Name>
                  </cac:PartyName>
                  <cac:PartyLegalEntity>
                      <cbc:CompanyID schemeID="DK:CPR">2202852021</cbc:CompanyID>
                  </cac:PartyLegalEntity>
              </cac:DeliveryParty>
          </cac:Delivery>
  • Cvr number
    • The <cbc:CompanyID schemeID="DK:CVR"> in cac:PartyLegalEntity must match the one which revceived the order.
  • Email
    • The cbc:ElectronicMail in cac:Contact should contain a valid email adress operated by invoice issuer * Example: xml </cac:PartyTaxScheme> <cac:PartyLegalEntity> <cbc:RegistrationName>SERVICE PROVIDERCOMPANY</cbc:RegistrationName> <cbc:CompanyID schemeID="DK:CVR">DK12345678</cbc:CompanyID> </cac:PartyLegalEntity> <cac:Contact> <cbc:ID>n/a</cbc:ID> <cbc:Name>SERVICE PROVIDERCOMPANY</cbc:Name> <cbc:Teleph1234 5678</cbc:Telephone> <cbc:Telefax>1234 0987</cbc:Telefax> <cbc:ElectronicMail>info@xxxxx.dk</cbc:ElectronicMail>

OIOUBL example

Following is an example of a, for scalepoint, valid OIOUBL invoice.

Note that in this XML, the cpr number is placed in ID:CPR and the order number is placed in OrderReference. Therefore the same values in the Notes field are redundant.

<?xml version="1.0" encoding="utf-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
    xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
    xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
    <cbc:UBLVersionID>2.0</cbc:UBLVersionID>
    <cbc:CustomizationID>OIOUBL-2.02</cbc:CustomizationID>
    <cbc:ProfileID schemeID="urn:oioubl🆔profileid-1.2" schemeAgencyID="320">urn:www.nesubl.eu:profiles:profile5:ver2.0</cbc:ProfileID>
    <cbc:ID>22521</cbc:ID>
    <cbc:IssueDate>2021-10-13</cbc:IssueDate>
    <cbc:Note>
        Vedr. 230758-2010
        Jens Caspersen
        Ingemannsvej 550, 2000 Frederiksberg 
        Behandlingsforløb...
        Ordre: 000062217-9
    </cbc:Note>
    <cbc:DocumentCurrencyCode>DKK</cbc:DocumentCurrencyCode>
    <cac:OrderReference>
        <cbc:ID>000062217-9</cbc:ID>
    </cac:OrderReference>
    <cac:AccountingSupplierParty>
        <cac:Party>
            <cbc:EndpointID schemeID="GLN" schemeAgencyID="9">some gln</cbc:EndpointID>
            <cac:PartyIdentification>
                <cbc:ID schemeID="GLN" schemeAgencyID="9">some gln</cbc:ID>
            </cac:PartyIdentification>
            <cac:PartyName>
                <cbc:Name>some private clinic</cbc:Name>
            </cac:PartyName>
            <cac:PostalAddress>
                <cbc:AddressFormatCode listID="urn:oioubl:codelist:addressformatcode-1.1" listAgencyID="320">StructuredLax</cbc:AddressFormatCode>
                <cbc:StreetName>some address</cbc:StreetName>
                <cbc:CityName>Frederiksberg</cbc:CityName>
                <cbc:PostalZone>2000</cbc:PostalZone>
                <cac:Country>
                    <cbc:IdentificationCode>DK</cbc:IdentificationCode>
                </cac:Country>
            </cac:PostalAddress>
            <cac:PartyTaxScheme>
                <cbc:CompanyID schemeID="DK:SE">DK233392</cbc:CompanyID>
                <cac:TaxScheme>
                    <cbc:ID schemeID="urn:oioubl🆔taxschemeid-1.1" schemeAgencyID="320">63</cbc:ID>
                    <cbc:Name>Moms</cbc:Name>
                </cac:TaxScheme>
            </cac:PartyTaxScheme>
            <cac:PartyLegalEntity>
                <cbc:RegistrationName>some private clinic</cbc:RegistrationName>
                <cbc:CompanyID schemeID="DK:CVR">DK233392</cbc:CompanyID>
            </cac:PartyLegalEntity>
            <cac:Contact>
                <cbc:Telephone>some phone</cbc:Telephone>
                <cbc:ElectronicMail>info@someclinit.dk</cbc:ElectronicMail>
            </cac:Contact>
        </cac:Party>
    </cac:AccountingSupplierParty>
    <cac:AccountingCustomerParty>
        <cac:Party>
            <cbc:EndpointID schemeID="GLN" schemeAgencyID="9">some gln</cbc:EndpointID>
            <cac:PartyIdentification>
                <cbc:ID schemeID="GLN" schemeAgencyID="9">some gln</cbc:ID>
            </cac:PartyIdentification>
            <cac:PartyName>
                <cbc:Name>Future Insurance</cbc:Name>
            </cac:PartyName>
            <cac:PostalAddress>
                <cbc:AddressFormatCode listID="urn:oioubl:codelist:addressformatcode-1.1" listAgencyID="320">StructuredLax</cbc:AddressFormatCode>
                <cbc:StreetName>Ingemannsvej 300</cbc:StreetName>
                <cbc:CityName>Frederiksberg</cbc:CityName>
                <cbc:PostalZone></cbc:PostalZone>
                <cac:Country>
                    <cbc:IdentificationCode>DK</cbc:IdentificationCode>
                </cac:Country>
            </cac:PostalAddress>
            <cac:Contact>
                <cbc:ID>n/a</cbc:ID>
            </cac:Contact>
        </cac:Party>
    </cac:AccountingCustomerParty>
    <cac:Delivery>
        <cbc:ActualDeliveryDate>2021-12-13</cbc:ActualDeliveryDate>
        <cac:DeliveryParty>
            <cac:PartyName>
                <cbc:Name>some name</cbc:Name>
            </cac:PartyName>
            <cac:PartyLegalEntity>
                <cbc:CompanyID schemeID="DK:CPR">some cpr</cbc:CompanyID>
            </cac:PartyLegalEntity>
        </cac:DeliveryParty>
    </cac:Delivery>
    <cac:PaymentMeans>
        <cbc:ID>1</cbc:ID>
        <cbc:PaymentMeansCode>42</cbc:PaymentMeansCode>
        <cbc:PaymentDueDate>2021-07-15</cbc:PaymentDueDate>
        <cbc:PaymentChannelCode listID="urn:oioubl:codelist:paymentchannelcode-1.1" listAgencyID="320">DK:BANK</cbc:PaymentChannelCode>
        <cac:PayeeFinancialAccount>
            <cbc:ID>some bank</cbc:ID>
            <cac:FinancialInstitutionBranch>
                <cbc:ID>some branch</cbc:ID>
            </cac:FinancialInstitutionBranch>
        </cac:PayeeFinancialAccount>
    </cac:PaymentMeans>
    <cac:PaymentTerms>
        <cbc:Note>Netto</cbc:Note>
        <cbc:Amount currencyID="DKK">400.00</cbc:Amount>
    </cac:PaymentTerms>
    <cac:TaxTotal>
        <cbc:TaxAmount currencyID="DKK">0.00</cbc:TaxAmount>
        <cac:TaxSubtotal>
            <cbc:TaxableAmount currencyID="DKK">400.00</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID="DKK">0.00</cbc:TaxAmount>
            <cac:TaxCategory>
                <cbc:ID schemeID="urn:oioubl🆔taxcategoryid-1.1" schemeAgencyID="320">ZeroRated</cbc:ID>
                <cbc:Percent>0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID schemeID="urn:oioubl🆔taxschemeid-1.1" schemeAgencyID="320">63</cbc:ID>
                    <cbc:Name>Moms</cbc:Name>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:TaxSubtotal>
    </cac:TaxTotal>
    <cac:LegalMonetaryTotal>
        <cbc:LineExtensionAmount currencyID="DKK">400.00</cbc:LineExtensionAmount>
        <cbc:TaxExclusiveAmount currencyID="DKK">0.00</cbc:TaxExclusiveAmount>
        <cbc:TaxInclusiveAmount currencyID="DKK">400.00</cbc:TaxInclusiveAmount>
        <cbc:PayableAmount currencyID="DKK">400.00</cbc:PayableAmount>
    </cac:LegalMonetaryTotal>
    <cac:InvoiceLine>
        <cbc:ID>123298</cbc:ID>
        <cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
        <cbc:LineExtensionAmount currencyID="DKK">400.00</cbc:LineExtensionAmount>
        <cac:TaxTotal>
            <cbc:TaxAmount currencyID="DKK">0.00</cbc:TaxAmount>
            <cac:TaxSubtotal>
                <cbc:TaxableAmount currencyID="DKK">400.00</cbc:TaxableAmount>
                <cbc:TaxAmount currencyID="DKK">0.00</cbc:TaxAmount>
                <cac:TaxCategory>
                    <cbc:ID schemeID="urn:oioubl🆔taxcategoryid-1.1" schemeAgencyID="320">ZeroRated</cbc:ID>
                    <cbc:Percent>0</cbc:Percent>
                    <cac:TaxScheme>
                        <cbc:ID schemeID="urn:oioubl🆔taxschemeid-1.1" schemeAgencyID="320">63</cbc:ID>
                        <cbc:Name>Moms</cbc:Name>
                    </cac:TaxScheme>
                </cac:TaxCategory>
            </cac:TaxSubtotal>
        </cac:TaxTotal>
        <cac:Item>
            <cbc:Description>some description</cbc:Description>
            <cbc:Name>some name</cbc:Name>
            <cac:SellersItemIdentification>
                <cbc:ID>2315</cbc:ID>
            </cac:SellersItemIdentification>
        </cac:Item>
        <cac:Price>
            <cbc:PriceAmount currencyID="DKK">400.00</cbc:PriceAmount>
            <cbc:BaseQuantity unitCode="EA">1</cbc:BaseQuantity>
        </cac:Price>
    </cac:InvoiceLine>
</Invoice>