Extensible content

FarPay Extensible content is based on several instructions or metadata about the invoice at hand

FarPay Extensible content

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).

Examples

Copy-paste ready fragments demonstrating each element and every enumerated value.

ExampleShows
Minimal payloadSmallest valid FarPay payload
General fieldsOIOUBL / OIOXML general fields
ReminderReminder levels 1, 2, 3
Delivery methodDefault, Print, PrintExpress
Language codeDA, EN, FO
Payment methodAutomatic, Manual, NA, Payout, legacy values
TemplatePlain text and structured template
Sending invoice channelEmail, SMS, PushNotification
PayoutAll payout schemes (BANK, CPR, CVR, SE, CVPU, CVSE)
EmbeddingOIOUBL / OIOXML / Bill placement
Full payloadEvery element in one payload

Extensible content Structure Dictionary

Envelope

NameDescriptionTypeRequiredNotes
ExtensibleContentEnvelope wrapping the FarPay extension payloadComplex TypeNoWraps a single FarPay element (OIOXML / Bill)
FarPayThe extension payloadComplex TypeNoAll children optional; matched by local name

FarPay Payload — General (OIOUBL / OIOXML)

These elements are read by OioUtil across the OIOUBL and OIOXML readers.

NameDescriptionTypeRequiredExample
CustomerNumberCustomer numberstringNoABCDE0123456
PaymentReferencePayment referencestringNoREF-2026-001
PaymentTypesAllowed payment typesstringNoCard,MobilePay
TextLinesAdditional invoice text/descriptionstringNoMonthly subscription fee
CaptureAmountAmount to capturedecimalNo125.75
OrderTokenOrder tokenstringNo9f8c…
BrandBrand identifierstringNoFarPay
PaymentDueDatePayment due datedateNo2026-12-31
LanguageCodeCommunication languageEnumerationNoDA, EN, FO
SsnSocial security numberstringNo0101801234

FarPay Payload — Shared (OIOUBL / OIOXML / Bill)

These elements are read by both OioUtil and BillXmlReader.

NameDescriptionTypeRequiredExample
ReminderReminder levelEnumerationNo1, 2, 3
DeliveryMethodPhysical/electronic delivery methodEnumerationNoDefault, Print, PrintExpress
MarkedAsPaidDate the invoice was marked as paiddateNo2026-06-01
PaymentMethodHow the invoice is settledEnumerationNoAutomatic, Manual, Payout
TemplateTemplate name / referenceComplex Type (mixed)No<Template>welcome</Template>

FarPay Payload — Bill only

These elements are read by BillXmlReader (FarPay Bill format).

NameDescriptionTypeRequiredNotes
SendingInvoiceChannelChannel used to send the invoiceComplex TypeNoSee SendingInvoiceChannel below
PayoutPayout target for the payout flowComplex TypeNoSee Payout below
PaymentStatusPayment statusstringNoFree-text status value

Template

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.

NameDescriptionTypeRequiredExample
(text value)Template namestringNowelcome
TemplateIDTemplate identifierstringNo42
TemplateTypeTemplate typestringNoinvoice
TemplateVersionTemplate versionstringNo1.0

SendingInvoiceChannel

NameDescriptionTypeRequiredExample
ChannelTypeDelivery channelEnumerationNoEmail, SMS, PushNotification
ChannelAddressAddress for the channelstringNo[email protected]
NotesFree-text notesstringNoSend after 09:00

Payout

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").

NameDescriptionTypeRequiredAttributeExample
ReceiverIdentifierPayout receiver identifierstringNoscheme (required)1234:567890123
SenderIdentifierPayout sender identifierstringNoscheme (required)1234:567890123

Enumerations

Reminder

ValueDescription
1First reminder
2Second reminder
3Third reminder

DeliveryMethod

ValueDescription
DefaultDefault delivery method
PrintPrinted delivery
PrintExpressExpress printed delivery

LanguageCode

ValueDescription
DADanish
ENEnglish
FOFaroese

PaymentMethod

Readers compare values case-insensitively.

ValueDescription
AutomaticHandled automatically (OIOUBL / OIOXML)
ManualHandled manually (OIOUBL / OIOXML)
NANot applicable (OIOUBL / OIOXML)
PayoutTriggers the FarPay Bill payout flow (BillXmlReader)
CreditCardRetained for backward compatibility
BankTransferRetained for backward compatibility
CashRetained for backward compatibility
OtherRetained for backward compatibility

ChannelType (SendingInvoiceChannel)

ValueDescription
EmailEmail delivery
SMSSMS delivery
PushNotificationPush notification

Payout scheme

ValueDescriptionValue format
BANKDanish bank accountregNo:accountNo
CPRPersonal identification numbercpr
CVRCompany registration numbercvr
SESE numberseNo
CVPUCompany + production unitcvr:pNo
CVSECompany + SE numbercvr:seNo
📘

SenderIdentifier only supports the BANK scheme.

Data Type Specifications

  • 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

Usage Notes

  • 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.