Extensible content carries FarPay-specific instructions and metadata alongside an inbound invoice. The payload is a single FarPay element that the platform readers consume by local element name, so element order is never significant.
The same FarPay payload appears in three inbound flavours:
- OIOUBL — inside
UBLExtensions/UBLExtension/ExtensionContent (read by OioUtil.HandleExtensibleContentFarPay).
- OIOXML — directly under an
ExtensibleContent element (read by OioUtil.HandleExtensibleContentFarPay).
- FarPay Bill — under the
PaymentMeans/ExtensibleContent envelope (read by BillXmlReader.HandleFarPayContent / HandlePayout).
Copy-paste ready fragments demonstrating each element and every enumerated value.
| Example | Shows |
|---|
| Minimal payload | Smallest valid FarPay payload |
| General fields | OIOUBL / OIOXML general fields |
| Reminder | Reminder levels 1, 2, 3 |
| Delivery method | Default, Print, PrintExpress |
| Language code | DA, EN, FO |
| Payment method | Automatic, Manual, NA, Payout, legacy values |
| Template | Plain text and structured template |
| Sending invoice channel | Email, SMS, PushNotification |
| Payout | All payout schemes (BANK, CPR, CVR, SE, CVPU, CVSE) |
| Embedding | OIOUBL / OIOXML / Bill placement |
| Full payload | Every element in one payload |
| Name | Description | Type | Required | Notes |
|---|
| ExtensibleContent | Envelope wrapping the FarPay extension payload | Complex Type | No | Wraps a single FarPay element (OIOXML / Bill) |
| FarPay | The extension payload | Complex Type | No | All children optional; matched by local name |
These elements are read by OioUtil across the OIOUBL and OIOXML readers.
| Name | Description | Type | Required | Example |
|---|
| CustomerNumber | Customer number | string | No | ABCDE0123456 |
| PaymentReference | Payment reference | string | No | REF-2026-001 |
| PaymentTypes | Allowed payment types | string | No | Card,MobilePay |
| TextLines | Additional invoice text/description | string | No | Monthly subscription fee |
| CaptureAmount | Amount to capture | decimal | No | 125.75 |
| OrderToken | Order token | string | No | 9f8c… |
| Brand | Brand identifier | string | No | FarPay |
| PaymentDueDate | Payment due date | date | No | 2026-12-31 |
| LanguageCode | Communication language | Enumeration | No | DA, EN, FO |
| Ssn | Social security number | string | No | 0101801234 |
These elements are read by both OioUtil and BillXmlReader.
| Name | Description | Type | Required | Example |
|---|
| Reminder | Reminder level | Enumeration | No | 1, 2, 3 |
| DeliveryMethod | Physical/electronic delivery method | Enumeration | No | Default, Print, PrintExpress |
| MarkedAsPaid | Date the invoice was marked as paid | date | No | 2026-06-01 |
| PaymentMethod | How the invoice is settled | Enumeration | No | Automatic, Manual, Payout |
| Template | Template name / reference | Complex Type (mixed) | No | <Template>welcome</Template> |
These elements are read by BillXmlReader (FarPay Bill format).
| Name | Description | Type | Required | Notes |
|---|
| SendingInvoiceChannel | Channel used to send the invoice | Complex Type | No | See SendingInvoiceChannel below |
| Payout | Payout target for the payout flow | Complex Type | No | See Payout below |
| PaymentStatus | Payment status | string | No | Free-text status value |
Mixed content — the readers consume Template via its text value, so a plain <Template>name</Template> is valid. The structured children are retained for backward compatibility.
| Name | Description | Type | Required | Example |
|---|
| (text value) | Template name | string | No | welcome |
| TemplateID | Template identifier | string | No | 42 |
| TemplateType | Template type | string | No | invoice |
| TemplateVersion | Template version | string | No | 1.0 |
| Name | Description | Type | Required | Example |
|---|
| ChannelType | Delivery channel | Enumeration | No | Email, SMS, PushNotification |
| ChannelAddress | Address for the channel | string | No | [email protected] |
| Notes | Free-text notes | string | No | Send after 09:00 |
Payout target for the FarPay Bill payout flow (BillXmlReader.HandlePayout). Each identifier carries a required scheme attribute, and its value is scheme-dependent and may be colon-separated (e.g. BANK = "regNo:accountNo", CVPU = "cvr:pNo", CVSE = "cvr:seNo").
| Name | Description | Type | Required | Attribute | Example |
|---|
| ReceiverIdentifier | Payout receiver identifier | string | No | scheme (required) | 1234:567890123 |
| SenderIdentifier | Payout sender identifier | string | No | scheme (required) | 1234:567890123 |
| Value | Description |
|---|
| 1 | First reminder |
| 2 | Second reminder |
| 3 | Third reminder |
| Value | Description |
|---|
| Default | Default delivery method |
| Print | Printed delivery |
| PrintExpress | Express printed delivery |
| Value | Description |
|---|
| DA | Danish |
| EN | English |
| FO | Faroese |
Readers compare values case-insensitively.
| Value | Description |
|---|
| Automatic | Handled automatically (OIOUBL / OIOXML) |
| Manual | Handled manually (OIOUBL / OIOXML) |
| NA | Not applicable (OIOUBL / OIOXML) |
| Payout | Triggers the FarPay Bill payout flow (BillXmlReader) |
| CreditCard | Retained for backward compatibility |
| BankTransfer | Retained for backward compatibility |
| Cash | Retained for backward compatibility |
| Other | Retained for backward compatibility |
| Value | Description |
|---|
| Email | Email delivery |
| SMS | SMS delivery |
| PushNotification | Push notification |
| Value | Description | Value format |
|---|
| BANK | Danish bank account | regNo:accountNo |
| CPR | Personal identification number | cpr |
| CVR | Company registration number | cvr |
| SE | SE number | seNo |
| CVPU | Company + production unit | cvr:pNo |
| CVSE | Company + SE number | cvr:seNo |
📘
- string: Text data with no specified maximum length
- decimal: Decimal number (used for amounts)
- date: Date in ISO 8601 format (YYYY-MM-DD)
- Enumeration: One of a fixed set of allowed values (see Enumerations)
- Complex Type: An element with child elements and/or attributes
- All children of
FarPay are optional and defined with xs:all — element order is irrelevant, as readers look each element up by local name.
- The schema is a chameleon schema (no
targetNamespace) so it can be xs:include-d into the no-namespace bills.xsd / FarPayXml.xsd and match the unqualified element instances the readers parse.
- Two reusable global elements are exposed:
FarPay (the payload) and ExtensibleContent (the envelope wrapping a single FarPay).
Template accepts either a plain text value or the structured TemplateID / TemplateType / TemplateVersion children; mixed content keeps both shapes valid.
PaymentMethod values are compared case-insensitively by the readers.
- Both
ReceiverIdentifier and SenderIdentifier require a scheme attribute; SenderIdentifier is restricted to the BANK scheme.