Free

Free structured payment reference check

FREE checksum validation for structured payment references: RF Creditor Reference (ISO 11649, "SCOR" in Swiss Payment Standards, mod 97-10), Swiss QR reference ("QRR", 27 digits, modulo 10 recursive), Belgian OGM/VCS (12 digits, modulo 97 with a remainder of 0 written 97) and Finnish viitenumero (4-20 digits, weights 7-3-1 from the right). Norwegian KID and Swedish OCR are RECOGNISED but answer valid: null with status: unverifiable_without_creditor_config — their modulus type and length are configured per creditor account by the beneficiary bank, so no generic checker can judge them and answering false would reject valid references. Every answer that names a scheme carries the document publishing the rule and its date. For the PAIRING verdict — whether a reference may legally travel with a given IBAN — use POST /v1/iban/validate with a reference field.

get/v1/reference/validate

Query parameters

referencestring required
Example:RF18539007547034

Reference as printed. Spaces, slashes and the Belgian +++…+++ wrapper are stripped.

reference_type'rf' | 'scor' | 'qrr' | 'ogm' | 'vcs' | 'viitenumero' | 'kid' | 'ocr'

Optional scheme hint, used when the string alone is ambiguous — a bare 12-digit string is both a Belgian OGM and a legal Finnish length. If it contradicts the string, the answer judges as asked and says so in note.

Response

Reference verdict. valid is true, false, or null when the scheme cannot be checked without the creditor bank configuration.

referencestring required

Normalized: uppercase, separators removed

scheme'rf' | 'qrr' | 'ogm' | 'viitenumero' | 'kid' | 'ocr' nullable required

Null when no supported scheme matches the string

validboolean nullable required

null is a REAL answer, not a missing one: the scheme was recognised and cannot be checked without the creditor bank configuration (KID, OCR). Never present null to a user as invalid.

status'checked' | 'unverifiable_without_creditor_config' | 'unrecognised' required
check_digit_expectedstring

A STRING, so a two-digit value beginning with zero survives — an OGM remainder of 3 is "03", and a remainder of 0 is written "97".

sourcestring nullable required

The document that publishes the rule. Null only when no scheme matched, so no rule was applied. Relay it: it is what makes the verdict auditable.

as_ofstring

YYYY-MM of that document — the date it carries, never a future validity date

notestring required

What was checked, and what was not

pairing_verdictstring

Pointer to POST /v1/iban/validate for the QRR/SCOR pairing verdict

Example response

{
  "reference": "RF18539007547034",
  "check_digit_expected": "18",
  "also_valid_as": {
    "scheme": "viitenumero"
  },
  "as_of": "2023-10"
}

Changes