Generator · Austrian data

Austrian Firmenbuchnummer

Endpoint GET /v1/at/firmenbuchnummer

What it covers

Returns a valid Austrian Firmenbuchnummer (commercial-register number) with a correct check letter, e.g. `FN 123456a`. Set `invalid=true` for a deliberately wrong check letter.

Unlike the national identifiers on the other pages, the Austrian Firmenbuchnummer has no official public check-digit scheme. The trailing letter shown here is Real Fake Data’s own synthetic convention — a deterministic function of the sequence number — so a generated value is well-formed and stable but is not guaranteed to match any real registered company. The algorithm below describes how RFD constructs that letter, not an official registry checksum.

How it’s calculated

The Austrian Firmenbuchnummer's trailing check letter is simply the sequence number taken modulo 26 and mapped to a lowercase letter with a=0 … z=25.

Algorithm

  1. Take the sequence number N, an integer in the range 1..999999 (up to six digits, never zero). This is the payload — no prefix, no leading-zero padding.
  2. Compute the remainder R = ((N mod 26) + 26) mod 26. (The double modulo just guards against negative inputs; for the positive N used here it is simply N mod 26, a value 0..25.)
  3. Map R to a lowercase letter using the alphabet 'abcdefghijklmnopqrstuvwxyz' where a=0, b=1, ..., z=25. That letter at index R is the check letter.
  4. Render the full Firmenbuchnummer as the literal prefix 'FN', a single space, the decimal sequence number N (no padding), then the check letter appended directly, e.g. 'FN 123456i'.

Worked example

FN 123456?

Payload sequence number N = 123456.
N mod 26: 26 × 4748 = 123448, and 123456 − 123448 = 8, so N mod 26 = 8.
R = ((8) + 26) mod 26 = 34 mod 26 = 8.
Index 8 into 'abcdefghijklmnopqrstuvwxyz' (a=0,b=1,c=2,d=3,e=4,f=5,g=6,h=7,i=8) gives 'i'.
Full value: 'FN 123456i'.

The check letter is 'i', giving the full Firmenbuchnummer 'FN 123456i'.

Edge cases

  • The sequence number is never zero: it is drawn uniformly from 1..999999, so the payload is always 1 to 6 digits with no leading-zero padding.
  • The check letter is non-semantic — it encodes no date, sex, or entity type; it is purely N mod 26.
  • A separate 'edge' mode emits only the rare-but-valid corner sequence numbers, but the check-letter rule is identical for those values.

Gotchas

  • The check letter is lowercase 'a'–'z'; there is no uppercase or digit form and no ISO-7064 style complement.
  • This is the commercial-register (Firmenbuch) number, NOT the Austrian VAT number (UID, form ATU########). They are unrelated identifiers with different check schemes.
  • The modulus is 26 (letters), not 10 or 11 — a=0 means sequence numbers that are exact multiples of 26 (26, 52, ...) get check letter 'a'.
  • There are no per-digit weights: the check is computed on the integer value of the whole sequence number, not on a weighted digit sum.

Parameters

ParameterTypeDescription
countinteger1–1000Number of records to return, 1–1000 (your plan may lower this). Omitted returns a single record; set it for a batch.
edgebooleanRestrict output to valid edge-case numbers from the rare corners.
extremebooleanReturn a correct value wrapped in a hostile encoding (untrimmed whitespace, invisible/zero-width characters, BOM, or bidi/combining marks). Homoglyphs are excluded so the value stays machine-parseable; it still validates after normalisation.
invalidbooleanReturn a Firmenbuchnummer with a deliberately wrong check letter.
seedintegerInteger seed for reproducible output: the same seed always yields the same record.

Response fields

FieldTypeDescription
valuestringThe rendered Firmenbuchnummer, e.g. `FN 123456a`.
numberintegerThe sequence number (1–999999), no prefix or check letter.
letterstringThe lowercase check letter (`a`–`z`).

Other generators for Austria

See all generators for Austria →

The same kind of identifier elsewhere

Try it

Generate a live example below — every response is valid by format and entirely synthetic.