Skip to content
barcoder

Standards/rf-creditor-reference

RF Creditor Reference (ISO 11649)

TypePayment reference
Completeness76%high

Overview

The RF Creditor Reference (also Structured Creditor Reference, RF reference) is an international, creditor-assigned payment reference defined by ISO 11649:2009 14. It consists of the letters RF, two check digits and up to 21 alphanumeric characters chosen freely by the creditor — at most 25 characters in total 17. Its check digits use the same mod-97 algorithm as the IBAN 73, and in SEPA payments it travels in the structured remittance-information field, letting a payee automatically reconcile an incoming credit transfer with the invoice that requested it 28.

History

ISO 11649:2009, Financial services — Core banking — Structured creditor reference to remittance information, was published on 16 March 2009 and is maintained by ISO/TC 68/SC 9 (information exchange for financial services) 4. The reference was implemented at the end of 2008 and was first incorporated into the SEPA rulebook in version 3.2 12. The European Payments Council supports ISO 11649 for the CreditorReferenceInformation element of ISO 20022 messages in SEPA Credit Transfers and SEPA Direct Debits 2.

In Finland, Finance Finland (then the Federation of Finnish Financial Services) published guidance in November 2016 for introducing the "global Structured Creditor Reference" in Finnish companies alongside the long-established domestic reference number 8. Until 18 November 2024, Finnish creditors had to derive the RF reference from a Finnish reference number; from that date RF references may be formed freely under the ISO 11649 rules 7.

Technical specification

Structure — RF + XX + c…c 73:

Positions Content
1–2 Identifier RF
3–4 Two numeric check digits
5–25 1–21 alphanumeric characters (0–9, A–Z), freely formed by the creditor

The content after the check digits is not otherwise restricted by the standard 1; national conversions (e.g. Finland's former derivation rule) may impose additional limits 18.

Check-digit calculation (as published by Finance Finland) 8:

  1. Append 2715 (the letters R = 27 and F = 15) and 00 to the reference body.
  2. Take the result modulo 97.
  3. Subtract the remainder from 98; pad to two digits with a leading zero if below 10.

Worked example: body 2348236 → 2348236271500 mod 97 = 65 → 98 − 65 = 33 → RF33 2348 236 (machine format RF332348236) 8.

Verification — move the first four characters to the end, convert letters to numbers (A = 10 … Z = 35), and compute modulo 97; a remainder of 1 means the check digits are correct (e.g. RF712348231 → 2348231271571 mod 97 = 1) 83. This is the ISO 7064 MOD 97-10 check used by python-stdnum 9, and Finance Finland and XMLdation both state it is the same algorithm as the IBAN check digits 73.

Presentation — on paper the reference is printed left to right in groups of four characters separated by spaces (e.g. RF18 5390 0754 7034); electronically it is carried without spaces 719.

Carriage in payment data:

  • ISO 20022 / SEPA SCT & SDD — inside StructuredRemittanceInformation, the RF value goes in CdtrRefInf/Ref; the creditor-reference type code is SCOR (as mandated by the EPC) and the issuer is ISO. Some banks recognise an RF reference purely by the RF prefix and valid check digits, while others also require issuer ISO, which the RF Expert Group recommends as best practice 2.
  • EPC QR / Stuzza (and its German name Girocode) — EPC069-12 defines AT-05 Remittance Information (Structured) as a creditor reference of up to 35 characters for which "ISO 11649 RF Creditor Reference may be used"; it is mutually exclusive with the 140-character Remittance Information (Unstructured) field, and the guideline's own sample payload carries RF18539007547034 5.
  • Unstructured fallback — EACT's formatting rules for the 140-character unstructured SEPA field define an /RFS/ tag for a 25-character ISO 11649 reference, but note that banks do not validate creditor references placed in the unstructured field 6. Only one creditor reference (one document) can be paid per standard structured SEPA message 6.

Use cases

  • SEPA invoicing — creditors print the RF reference on the invoice; payers (or their banks) validate it at capture; the reference is forwarded unchanged to the beneficiary's bank and reported back for automatic reconciliation in the accounts-receivable ledger 86.
  • Finland — usable for both domestic and cross-border invoices, on the bank credit-transfer form, in Finvoice e-invoices (field EpiRemittanceInfoIdentifier), in SEPA Direct Debit and, depending on the bank, in online-store payment buttons; version 5 of the Finnish bank barcode carries the IBAN and RF reference together (see Virtuaaliviivakoodi) 87.
  • Switzerland / Liechtenstein QR-bill — the Swiss QR-bill supports reference type SCOR (RF + 2 check digits + up to 21 characters, ISO 11649) for use with a standard IBAN, alongside the domestic 27-digit QRR reference (which requires a QR-IBAN) 1411.
  • Slovenia UPN QR — the reference field of UPN QR takes a two-letter model prefix, of which RF is one alongside the national SI models (example RF18 5390 0754 7034) 15.
  • ERP / accounting software — Odoo generates RF references for invoices (123456789 → RF18 1234 5678 9) and validates incoming ones 10.

Implementations

Repository Language Stars Last active Role
arthurdejong/python-stdnum — stdnum.iso11649 Python 599 2026-08 Validate, compact and format RF references via ISO 7064 MOD 97-10 9
odoo/odoo — account/tools/structured_reference.py Python 54.9k 2026-10 Generates RF references for invoices and validates RF plus several national references (BE, DK, FI, NO/SE, NL, SI) 10
Shane32/QRCoder — SwissQrCode payload C# 5.2k 2026-09 Emits SCOR creditor references in Swiss QR-bill payloads; enforces the 25-character limit but does not verify the check digits 11
kmukku/php-iso11649 PHP 12 2023-05 Generates and validates RF references from an existing reference of up to 21 characters (e.g. 1234512345 → RF45 1234 5123 45) 12
mharj/creditor-reference TypeScript 2 2026-10 Creditor-reference builder and verification 13
nruotsal/node-iso11649 TypeScript 3 2024-06 ISO 11649 library for Node.js; inspiration for php-iso11649 1312

Dedicated JavaScript/TypeScript packages are small (single-digit stars); the most widely used open implementation is python-stdnum, which Odoo itself imports 910.

Comparison

Reference Country Format Check Source
RF Creditor Reference International (SEPA) RF + 2 check digits + ≤21 alphanumerics mod 97 (as IBAN) 78
Structured Communication (OGM/VCS) (gestructureerde mededeling) Belgium +++ddd/dddd/ddddd+++ — 10 digits + 2 check digits first 10 digits mod 97 10
Finnish reference (viitenumero) Finland numeric, max 20 digits, last digit a check digit weighted 7-3-1, single digit 8101
KID (Norwegian payment reference) Norway numeric, national fixed format with check digits Luhn (as validated by Odoo for NO/SE) 610
Betalingskenmerk Netherlands 7 digits, or 9–14/16 digits with check digit weighted mod 11 10
Slovenian SI models (e.g. SI01) Slovenia SI + model + up to 20 digits model-dependent, mod 11 for SI01 1015
Swiss QR reference (QRR) Switzerland 27 digits, 27th a check digit mod 10 1411

The choosing criterion is reach: national references are understood by domestic bank systems, while the RF reference is the one format meant to survive a cross-border SEPA payment intact and be recognised by the payee's bank as structured data 82. Finance Finland notes that for purely domestic invoicing the RF reference does not increase reconciliation automation compared with the Finnish reference — the benefit comes from cross-border, particularly SEPA, payments where trading partners also use RF 8. EACT likewise advises using either an ISO 11649 or a national/proprietary structured reference in the structured field when the creditor has supplied one 6.

Fun facts

  • The constant 2715 appended during check-digit calculation is simply RF converted to numbers (R = 27, F = 15) — the same letter-to-number trick the IBAN uses for its country code 8.
  • Because older Finnish account-statement formats had no room for the full RF reference, Finnish banks could report it abbreviated by dropping its first four characters; when the RF reference was built from a Finnish reference number, that abbreviation is exactly the original Finnish reference 8.

Status

Active. ISO 11649:2009 was most recently confirmed on 27 January 2025 4. The structured creditor-reference field remains part of the EPC's QR-code guidelines (version 3.0, September 2022) 5, and Finland liberalised RF formation as of 18 November 2024 7. Swiss QR-bill (SCOR) and Slovenian UPN QR (RF model) continue to accept it 1415.

Sources

1 Creditor Reference — Wikipedia, accessed 2026. 2 RF Creditor Reference (EPC / ISO 20022 usage) — XMLdation Knowledge Base, accessed 2026. 3 RF creditor reference — XMLdation Knowledge Base, accessed 2026. 4 ISO 11649:2009 — Genorma standards catalogue, accessed 2026. 5 EPC069-12 v3.0 Quick Response Code — Guidelines to Enable the Data Capture for the Initiation of a SEPA Credit Transfer — European Payments Council, 2022, accessed 2026. 6 EACT Formatting Rules of SEPA "Unstructured" 140 Chrs Field for Remittance Information — European Association of Corporate Treasurers, 2010, accessed 2026. 7 Structure of the RF Creditor Reference (ISO 11649) — Finance Finland, October 2023 (with 18 Nov 2024 note), accessed 2026. 8 Introduction of the global Structured Creditor Reference in Finnish companies — Finance Finland, November 2016, accessed 2026. 9 python-stdnum — stdnum/iso11649.py — GitHub (arthurdejong/python-stdnum), accessed 2026. 10 Odoo — addons/account/tools/structured_reference.py — GitHub (odoo/odoo), accessed 2026. 11 QRCoder — PayloadGenerator/SwissQrCode.cs — GitHub (Shane32/QRCoder), accessed 2026. 12 php-iso11649 — GitHub (kmukku), accessed 2026. 13 GitHub repository search: ISO 11649 / creditor reference — GitHub (mharj/creditor-reference, nruotsal/node-iso11649), accessed 2026. 14 Switzerland — Banking QR/Barcode Standards Report — Barcoder research corpus. 15 Slovenia — Banking QR/Barcode Standards Report — Barcoder research corpus.

Deployments

Found in the following country reports (grep across reports/countries/):

Regions / aggregations not mapped to a single country

  • Universal
source · content/standards/rf-creditor-reference/index.md