What the SEPA Creditor Reference Generator does
A structured creditor reference turns your invoice number into a string a payment system can check: the letters RF, two ISO 7064 mod-97-10 check digits, then your own reference. This page builds one from any invoice or customer reference, shows the arithmetic step by step, validates references somebody else has sent you, and does a whole batch from a pasted list.
The point of the check digits is narrow and useful: when a debtor retypes your reference into a banking screen, a single wrong character or a swapped pair is rejected there rather than arriving as an unmatched payment you have to chase. Everything is computed in this browser tab - no invoice data is uploaded.
It is a matching aid, not a payment instruction. An RF reference identifies no account and proves nothing about whether an invoice has been paid.
How to use it
- Leave the mode on Generate and enter your invoice or customer reference. Punctuation is removed and letters are capitalised, because ISO 11649 allows only digits and capital letters.
- Read the RF reference and the working underneath it: the rearranged string, the remainder and the subtraction from 98 that produced the two check digits.
- Use the three written forms. Electronic systems want it with no spaces in the structured creditor reference field; printed invoices want it grouped in fours so a human can read it back.
- Paste a list to build a batch, and watch the 'Repeat' column - two invoices sharing a reference is how automatic reconciliation quietly goes wrong.
- Switch to Validate to check references you have received. Export as CSV or JSON to feed back into your accounting system.
Reading the results
The check digits are computed over your reference, so they change whenever it does. RF18539007547034 and RF25539007547035 are different references, not two versions of one.
Mod-97-10 catches every single-character error and every transposition of two adjacent characters - the two mistakes people actually make when retyping. Roughly 99 per cent of random corruptions are caught as well.
The maximum is 25 characters in total: RF, two check digits and up to 21 characters of your own. If your reference is longer, shorten it in your accounting system rather than truncating it here, because a truncated reference matches nothing.
A valid reference means the string was not mistyped. Matching it to an invoice is your own system's job, and the page says so rather than implying it has looked anything up.
Worked example: building RF18 5390 0754 7034 by hand
Start with the reference 539007547034. Move RF00 to the end to get 539007547034RF00, then replace the letters by their position in the alphabet plus 9: R is 27 and F is 15, so the string becomes the number 539007547034271500.
Divide that by 97. The remainder is 80. Subtract it from 98 and you get 18, so the check digits are 18 and the full reference is RF18539007547034, printed as RF18 5390 0754 7034.
To verify it, move RF18 to the end instead - 539007547034RF18 - convert the letters the same way and divide by 97. A valid reference always leaves a remainder of 1. Change any single character and it does not: alter the final 4 to a 5 and the remainder becomes 3, so the reference is rejected at the bank rather than arriving unmatched.
Formulas and scoring rules
- Check digits
check = 98 - (numeric(reference + "RF00") mod 97), padded to two digitsLetters become 10 to 35 for A to Z. This is ISO 7064 mod-97-10, the same system IBAN uses.- Validation
numeric(reference + "RF" + check) mod 97 = 1Any other remainder means at least one character is wrong.- Length
total = 4 + length(reference), maximum 25Your own reference may be 1 to 21 digits or capital letters.
Where the reference actually goes
In a SEPA credit transfer the reference belongs in the structured creditor reference field, tagged as an RF reference, not in the free-text remittance information. Systems that read the structured field can match automatically; free text has to be parsed, and parsing free text is how a payment ends up in a suspense account.
When you print it on an invoice, group it in fours. That is not decoration: it is the same reason IBANs are printed in fours, because people transcribing a long string lose their place. If your payment page can pre-fill the reference from a link or a QR code, better still - the check digits are a backstop for typing, not an argument for making people type.
RF references and national schemes
Several countries had structured reference schemes long before ISO 11649: Finland's viitenumero, Norway's KID, Belgium's structured communication, Switzerland's ESR/QR reference. RF was defined so that a cross-border payment could carry any of them in one recognisable format, which is why an RF reference often wraps a national reference unchanged.
That is worth knowing if you receive one. The digits inside an RF reference are the creditor's own, in whatever scheme they use, and may well carry their own national check digit as well. This page verifies the RF check digits; it does not and cannot verify a national scheme nested inside them.
Limitations: what the result does not prove
- The check digits prove the string was not mistyped. They say nothing about whether the invoice exists, has been issued, or has been paid.
- A reference identifies no bank account and is not a payment instruction. It travels alongside an IBAN, not instead of one.
- The maximum reference part is 21 characters. Longer references are refused rather than truncated, because a truncated reference matches nothing.
- National check digits inside your own reference are not recomputed. Passing the RF check says nothing about a Finnish viitenumero or a Norwegian KID nested inside it.
- It cannot confirm that a payment carrying the reference will arrive, or who sent it.
Privacy: where your data goes
Everything you paste, type or drop is processed in this browser tab. It is not uploaded, logged, stored or sent to analytics. Session recording and tag-manager scripts are switched off on this page.
Standards and sources
- ISO/IEC 7064 - Check character systems - checked 19 Sep 2026
- European Payments Council - SEPA credit transfer scheme rulebook - checked 19 Sep 2026
- ISO 11649 - Structured creditor reference to remittance information
Frequently asked questions
What is an ISO 11649 creditor reference?
A structured payment reference: the letters RF, two check digits computed with ISO 7064 mod-97-10, and up to 21 digits or capital letters of the creditor's own reference. It lets an incoming payment be matched to an invoice automatically.
How are RF check digits calculated?
Append RF00 to your reference, convert each letter to its position in the alphabet plus 9, divide the resulting number by 97 and subtract the remainder from 98. The result, padded to two digits, is the check. The working is shown above for whatever you enter.
What is the maximum length of an RF reference?
Twenty-five characters in total - RF, two check digits and at most 21 of your own. Only digits and capital letters are allowed, so punctuation in an invoice number has to be removed before the reference is built.
Where do I put the RF reference in a SEPA payment?
In the structured creditor reference field, identified as an RF reference, not in the free-text remittance information. Structured references are matched automatically; free text has to be parsed and frequently is not.
Is a creditor reference the same as an invoice number?
No, although it usually contains one. The invoice number is yours; the RF reference is that number wrapped with check digits so it survives being retyped. Keep the mapping between the two in your accounting system.
Can two invoices have the same RF reference?
Only if you give them the same underlying reference, which defeats the purpose - the payment will match both and your reconciliation will pick one arbitrarily. The batch mode above flags repeats for exactly this reason.
Does a valid RF reference mean the invoice was paid?
No. It means the string is internally consistent and was probably not mistyped. Whether a payment arrived, for how much and from whom is a question for your bank statement, and nothing about the reference can answer it.
Do I need one for a domestic payment?
Not usually - most countries' own schemes work fine at home, and many invoices are matched on amount and payer instead. RF earns its keep on cross-border payments, where the receiving bank may not recognise a national reference format at all.
Last reviewed by the A2Z.Tools team against the sources listed above.