Payment references

Learn how to leverage unstructured and structured payment reference in Mambu Payments

A payment reference is remittance information attached to a payment that identifies the underlying commercial reason for the transfer, such as an invoice number or a creditor reference code.

Mambu Payments supports two types: unstructured references (free text) and structured references (machine-readable fields).

How it works

Every payment sent or received with through Mambu Payments can carry remittance information so that both sender and receiver can reconcile it against their records. The reference travels end-to-end through the clearing bank and clearing network.

  • Unstructured reference is a single free-text string. It is suitable when you need a simple description or invoice number.
  • Structured reference is a nested object with typed fields for creditor references, document details, and party information. Use this when you need automated reconciliation between payments and commercial documents.

Unstructured reference

Unstructured reference is included as a string on the payment order, incoming payment, or transaction. It maps to the ISO 20022 <Ustrd> tag.

ObjectAttribute
Incoming paymentreference
Payment orderreference
Transactiondescriptions

Structured reference

Structured reference is an array of objects. Each entry can contain creditor reference information, commercial document details, debtor / creditor parties, and additional remittance text. It maps to the ISO 20022 <Strd> tag.

Object definition

LevelAttributeTypeRequiredISO 20022 tagDescription
L1structured_referencearray<object>NoRmtInf.StrdArray of structured remittance entries.
L2creditor_reference_informationobjectUsuallyRmtInf.Strd.CdtrRefInfReference assigned by the creditor to uniquely identify the remittance.
L3typeobjectUsuallyCdtrRefInf.TpCategorisation of the creditor reference.
L4codestringUsuallyCdtrRefInf.Tp.CdOrPrtry.CdCreditor reference type code. Allowed values:
  • remittance_advice_message
  • related_payment_instruction
  • foreign_exchange_deal_reference
  • dispatch_advice
  • purchase_order
  • structured_communication_reference
  • other
L4issuerstringNoCdtrRefInf.Tp.IssrEntity that assigned the reference type code. Example: "ISO".
L3referencestringNoCdtrRefInf.RefThe creditor reference value.
L2referred_document_informationarray<object>NoRmtInf.Strd.RfrdDocInfDetails about the documents being referred to (e.g. invoice).
L3typeobjectNoRfrdDocInf.TpCategorisation of the referred document.
L4codestringYes (if type present)RfrdDocInf.Tp.CdOrPrtry.CdDocument type code. Allowed values:
  • commercial_invoice
  • credit_note_related_to_financial_adjustment
  • contract
  • credit_note
  • debit_note
  • dispatch_advice
  • debit_note_related_to_financial_adjustment
  • hire_invoice
  • invoice_signed
  • metered_service_invoice
  • proforma_invoice
  • purchase_order
  • quotation
  • self_billed_invoice
  • seller_presentment
  • time_sheet
  • usage_report
  • account_receivable_open_item
  • bill_of_lading
  • commercial_contract
  • statement_of_account
  • trade_services_utility_transaction
  • voucher
  • other
L4issuerstringNoRfrdDocInf.Tp.IssrEntity that assigned the document type code.
L3numberstringNoRfrdDocInf.NbUnique identifier of the referred document. Example: "INV-2026-88".
L3related_datestringNoRfrdDocInf.RltdDtDate of the referred document. Format: YYYY-MM-DD (ISO 8601).
L2invoicerobjectNoRmtInf.Strd.InvcrParty that issued the invoice.
L3namestringNoInvcr.NmName of the invoicing party.
L2invoiceeobjectNoRmtInf.Strd.InvceeParty to whom the invoice was issued.
L3namestringNoInvcee.NmName of the invoiced party.
L2additional_remittance_infoarray<string>NoRmtInf.Strd.AddtlRmtInfFree-text additional information about the remittance.

Example

{
  /* rest of the object */

  "structured_reference": [{
    "referred_document_information": [{
      "type": {
        "code": "commercial_invoice",
        "issuer": "ISO"
      },
      "number": "INV-2026-88",
      "related_date": "2026-03-01"
    }],
    "referred_document_amount": {
      "due_payable_amount": 120000,
      "remitted_amount": 120000,
      "currency": "EUR"
    },
    "creditor_reference_information": {
      "type": {
        "code": "structured_communication_reference",
        "issuer": "ISO"
      },
      "reference": "RF18123456789"
    },
    "invoicer": {
      "name": "Acme Corp"
    },
    "invoicee": {
      "name": "John Doe"
    },
    "additional_remittance_info": ["Monthly Subscription"]
  }]
}

Support by object

ObjectSupportedAttribute
Incoming paymentYesstructured_reference
Payment orderPlanned in 2026structured_reference
TransactionPlanned in 2026structured_reference

Mutual exclusivity

Include either an unstructured reference or a structured reference per payment, not both. Clearing banks or networks might reject payments that carry both types and dual references create ambiguity in reconciliation.