---
id: "rf_creditor_reference"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["finances"]
langs: ["common"]
quality: 85
url: "http://registry.apicrafter.io/datatype/rf_creditor_reference"
---

# Structured creditor reference (ISO 11649, RF reference) (`rf_creditor_reference`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

Payment reference defined by ISO 11649 that a creditor prints on an invoice so that incoming payments can be matched to it automatically; it was first used in the SEPA rulebook. It is the letters RF, two check digits and a reference of up to 21 letters or digits, 25 characters at most, and is usually printed in groups of four. The check digits work as in an IBAN: RF and the check digits are moved to the end, letters are replaced by numbers, and the result modulo 97 is 1.

- Personal data (PII): no
- Categories: Finances and banking (finances)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^RF\d{2}(?: ?[0-9A-Z]){1,21}$
```

## Examples

- `RF18 5390 0754 7034` — Example from the python-stdnum documentation
- `RF18539007547034` — The same reference without spaces
- `RF18 5390 0754 70Y` — Reference with a letter, from the python-stdnum documentation
- `RF18` (invalid example) — No reference after the check digits
- `RF18 5390 0754 7034 5678 9012 34` (invalid example) — Reference longer than 21 characters

## Mappings

- stdnum: `iso11649`

## Sources

- wikipedia: <https://en.wikipedia.org/wiki/Creditor_Reference>
- doc: <https://arthurdejong.org/python-stdnum/doc/2.2/stdnum.iso11649.html>

## Quality

Score 85/100. Missing: translation, detector coverage.

JSON: <http://registry.apicrafter.io/api/v1/datatypes/rf_creditor_reference.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/finances/rf_creditor_reference.yaml>
