# Elfproef

De elfproef of 11-proef is een test die in het Nederlandse elektronische betalingsverkeer werd uitgevoerd op negen- en tiencijferige Nederlandse rekeningnummers bij banken, voor de invoering van het IBAN, om te controleren of het nummer een geldig rekeningnummer kan zijn. Varianten van de elfproef die gebruikmaken van een controlecijfer, worden toegepast bij andere belangrijke nummers, zoals het burgerservicenummer en het betalingskenmerk op een acceptgiro.
Het gebruik van de elfproef, evenals van de negenproef, berust op de relatieve eenvoud van het berekenen van de rest bij deling door 11 of 9 in het decimale stelsel.

## Standaard-elfproef
### Uitvoering

Bij de elfproef worden de afzonderlijke cijfers gewogen bij elkaar opgeteld, dat wil zeggen dat afhankelijk van de positie van het cijfer het met een afgesproken getal wordt vermenigvuldigd. Voor geldige rekeningnummers moet de som van de resultaten een veelvoud van 11 zijn.
Voor rekeningnummers zijn de gewichten de getallen 1, 2, 3, ... Het laatste cijfer van het rekeningnummer wordt met 1 vermenigvuldigd, het voorlaatste met 2, het op twee na laatste met 3, enzovoorts. De producten worden bij elkaar opgeteld en vervolgens wordt de som gedeeld door 11. Het resultaat van deze deling moet voor een geldig rekeningnummer een geheel getal groter dan nul zijn. Door te eisen dat het resultaat groter dan 0 moet zijn, wordt voorkomen dat een nummer dat uit alleen nullen bestaat, als geldig beschouwd wordt.

#### Voorbeeld

Rekeningnummer 73.61.60.221
    9×7 + 8×3 + 7×6 + 6×1 + 5×6 + 4×0 + 3×2 + 2×2 + 1×1 = 176.
De som 176 is deelbaar door 11: delen door 11 geeft 16. Het rekeningnummer is dus geldig.
Als het rekeningnummer een vaste lengte van tien cijfers krijgt door het aan de voorkant aan te vullen met nullen, werkt de elfproef ook omgekeerd, dus van links naar rechts.
Met hetzelfde rekeningnummer 073.61.60.221:
    1×0 + 2×7 + 3×3 + 4×6 + 5×1 + 6×6 + 7×0 + 8×2 + 9×2 + 10×1 = 132.
De som 132 is weer deelbaar door 11: delen door 11 geeft 12.

## Burgerservicenummer

Nederlandse burgerservicenummers, de vroegere sofinummers, voldoen aan een variant van de elfproef. In de elfproef is het laatste cijfer het controlecijfer. Bij burgerservicenummers wordt het laatste getal met −1 vermenigvuldigd in plaats van met 1. Uitgaande van een nummer dat voldoet aan de elfproef kan geen nieuw geldig nummer worden gegenereerd door één cijfer te veranderen of door twee cijfers te verwisselen.

## Gewogen elfproeven

De hierboven beschreven elfproef kan worden gekarakteriseerd door de verzameling van gewichten 2, 3, 4, 5, ... en het gewicht 1 voor het controlecijfer. Voor het burgerservicenummer is het gewicht van het controlecijfer −1. In principe kunnen nieuwe elfproeven worden gedefinieerd door een andere verzamelingen van gewichten te nemen. Men spreekt dan van een gewogen elfproef. Er is een gewogen elfproef die veelvuldig in het Nederlandse betalingsverkeer wordt gebruikt en wel bij de acceptgiro's. Deze wordt in het vervolg aangeduid als de acceptgiro-elfproef.

### Acceptgiro-elfproef

In de acceptgiro-elfproef wordt het controlecijfer voor het nummer gezet, in tegenstelling tot de gewone elfproef waar het meestal achter het nummer wordt gezet. In de acceptgiro-elfproef zijn de gewichten 2, 4, 8, 5, 10, 9, 7, 3, 6, 1. Indien het te controleren nummer meer cijfers bevat, wordt deze serie van gewichten telkens herhaald.
Recept: vermenigvuldig elk cijfer met zijn gewicht en tel de producten op. Noem het resultaat S. Het idee van het controlecijfer is in dit geval ervoor te zorgen dat als het controlecijfer, C, wordt opgeteld bij de uitkomst S, het geheel deelbaar wordt door 11. Als S al deelbaar is door 11 wordt het controlecijfer dus 0. Als er 10 bij opgeteld zou moeten worden, is 1 het controlegetal. In meer detail: bereken S. Deel S door 11 en bewaar de rest R. Trek deze rest R af van 11. De uitkomst hiervan, 11−R, is het controlecijfer C, tenzij de uitkomst 11 is, want dan is C=0, of tenzij de uitkomst 10 is, want dan is C=1.
In het volgende voorbeeld moet een getal 1234567 van een controlecijfer worden voorzien volgens de acceptgiro-elfproef. De som wordt als volgt berekend:
    S = 7×1 + 9×2 + 10×3 + 5×4 + 8×5 + 4×6 + 2×7 = 7 + 18 + 30 + 20 + 40 + 24 + 14 = 153
Het resultaat S van deze optelling wordt door 11 gedeeld: 153 = 13×11 + 10. De rest 10 wordt afgetrokken van 11: 11 − 10 = 1 en levert het controlecijfer 1 op. Het nummer met controlecijfer vooraan gezet wordt: 11234567.

#### Betalingskenmerk

Een acceptgiro bevat een betalingskenmerk dat uit minimaal 7 en uit maximaal 16 cijfers bestaat. Alleen indien het betalingskenmerk uit slechts 7 cijfers bestaat, bevat het geen controlecijfer of andere controle-informatie. In alle andere gevallen is het eerste cijfer het controlecijfer, bepaald volgens de acceptgiro-elfproef. Bij een lengte tussen 9 en 16 cijfers bevat het betalingskenmerk naast een controlecijfer ook een lengtecode (het tweede cijfer van voren). De toegestane lengtecodes met tussen haakjes het aantal karakters zijn: 0(10), 1(11), 2(12), 7(7), 8(8), 9(9). Een betalingskenmerk van 16 cijfers bevat alleen een controlecijfer en geen lengtecode. Deze zekerheden zijn ingebouwd om fouten bij het machinaal lezen tot een acceptabel minimum te beperken. We geven een voorbeeld: 12 2345 3462 2567. Hier is het controlecijfer 1 en de lengte code 2, aangevend dat er twaalf cijfers volgen.

#### Oud-Postbanknummers

De Postbank en haar opvolger ING hanteerde totdat de IBAN-nummers werden ingevoerd nummers voor de giro zonder controlecijfer. Alle getallen tussen 1 en 99 999 999, dus met acht negens, waren principe acceptabele gironummers. ING heeft deze nummers niet uitgebreid met een controlecijfer, ook niet toen de merknaam Postbank in januari 2009 gestopt werd. De afwezigheid van een controlecijfer maakte oud-Postbankrekeningnummers onveilig voor overschrijvingen. Op 27 oktober 2009 diende een kort geding in Almelo van een gedupeerde die door twee cijfers te verwisselen in het oud-Postbankrekeningnummer van de begunstigde 43 duizend euro op een verkeerde rekening stortte.
Om toch de veiligheid te garanderen van optisch gelezen acceptgiro's, waar oud-Postbanknummers bij betrokken waren, gebruikte ING een truc. Op de acceptgiro wordt een onveilig oud-Postbanknummer omgezet in een langer, veilig nummer. Dit gebeurt met de acceptgiro-elfproef. Dat gaat als volgt. Tel het aantal cijfers van het oud-Postbanknummer. Indien dit aantal minder is dan 7 wordt het nummer links aangevuld met nullen zodanig het geheel 7 cijfers bevat. Het oud-Postbanknummer van de Nederlandse Staat is 1, dat wordt dus aangevuld tot 0000001. Aan dit zevencijferige nummer wordt een controlecijfer toegevoegd volgens de acceptgiro-elfproef. Als laatste actie moeten er dan nog twee nullen voor om het totaal aantal cijfers op 10 te brengen. Met andere woorden het onveilige oud-Postbanknummer van de Nederlandse Staat is 1 en het veilige nummer van de Nederlandse Staat is 0090000001. Deze verlengde nummers werden gebruikt op de strook van de acceptgiro die door de machine wordt gelezen. De ING stond niet toe dat de consument dit verlengde nummer gebruikt bij gewone overschrijvingen.

## International Bank Account Number IBAN

In het kader van de migratie van het nationale betalingsverkeer naar de SEPA is het in Nederland gebruikte bankrekeningnummer vervangen door het IBAN-nummer, dat een eigen controlegetal heeft. Hoewel het bestaande nationale 9- of 10-cijferige bankrekeningnummer al onderdeel uitmaakt van het omgezette IBAN, voldoet het IBAN behorende aan nieuwe rekeningen niet meer aan de elfproef. IBAN heeft een controlegetal in het nummer en een validatie over het gehele nummer.

## Bepaling van de rest na deling door 11

Om de rest bij deling door 11 van een getal te bepalen, kunnen de cijfers van het (decimale) getal alternerend opgeteld en afgetrokken worden, te beginnen bij het achterste cijfer. Het volgende voorbeeld verduidelijkt dit nog. Van het getal 123456789 wordt de rest bij deling door 11 bepaald. Er geldt:
    123456789 = 11223344 × 11 + 5.
De rest 5 laat zich gemakkelijk bepalen door de berekening:
    9 − 8 + 7 − 6 + 5 − 4 + 3 − 2 + 1 = 5,
waarin de cijfers beurtelings opgeteld en afgetrokken worden, te beginnen bij de achterste 9.
* ↑ Oud-Postbankrekeningen van ING zijn onveilig, 6 september 2012. gearchiveerd
* ↑ Rechtbank Almelo. ECLI:NL:RBALM:2009:BO2967.