Bank Account Number Mask - Belgium

This mask replaces Belgian BBAN and IBAN values with masked Belgian BBAN and IBAN values.


* This mask is specifically for bank account numbers in Belgium. It will preserve bank account numbers that are not valid bank account numbers for Belgium (because those are considered invalid data as far as banking in Belgium is concerned and preserving invalid data is useful for purposes such as testing).

* If you are masking bank account numbers that are not for Belgium then use a different mask. Consider using either the Primary Account Number mask or Randomize mask. If you have other masking requirements for bank account numbers then please contact us.



The Basic Bank Account Number (BBAN) for Belgium can be represented as:



PPP is a three digit field that represents the Protocol Number

AAAAAAA is a seven digit field that represents the Account Number

CC is a two digit field that represents a checksum of the other digits. It is calculated as follows:

CC = PPPAAAAAAA modulo 97

For example, the Bank Number 310-0284374-56 shows CC=56 as the result of 3100284374 modulo 97.


The International Bank Account Number (IBAN) for Belgium can be represented as:



BE is a two character constant that represents the country code for Belgium ('BE'), case insensitive.

KK is a two digit IBAN checksum.

PPP, AAAAAAA, CC are as described for BBAN (above)



* The format of every individual value shall be preserved. i.e. All non-numeric characters shall always be preserved. Therefore, the format shown is a general representation only.

* If an original value is found that does not contain exactly 12 digits for a BBAN or exactly 14 digits for an IBAN then the entire value shall be preserved.

* A Belgian IBAN must begin with the characters 'BE' (case insensitive) otherwise the entire original value shall be preserved.

* DataVeil shall generate valid checksums for masked BBANs and IBANs.

* NULL values shall always be preserved. 



This combo box offers three choices:


If the first two characters of an original value are 'BE' (case insensitive) then the value shall be processed as an IBAN, otherwise it shall be processed as a BBAN.


The original value is expected to be a valid BBAN for which a masked BBAN shall be generated.

Important: If the original value does not match the format of a BBAN then the original value shall be preserved. This means that even valid original IBANs shall be preserved!


The original value is expected to be a valid IBAN for which a masked IBAN shall be generated. The first two characters of the original value are expected to be 'BE' (case insensitive.)

Important: If the original value does not match the format of an IBAN then the original value shall be preserved. This means that even valid original BBANs shall be preserved!


Preserve Protocol Number PPP

If this option is selected then the first three digits shall be preserved.

For example, if this option is selected and the original value is '220 5584263 09' then '220' shall be preserved and the remaining digits shall be randomized.

Preserving the the Protocol Number of BANs is very useful because it will ensure that the exact same distribution of Protocol Numbers that exist in your original database shall be preserved in your masked database.


Pre/Post SQL

Please refer to the Pre/Post SQL Option.


Deterministic Mode

When this mask is used in deterministic mode then the same masked value shall always be generated for a given input value.

All mappings are 1-to-1 which means there are no collisions. i.e. Two different input values will always generate two distinct values.

The determinism setting can be viewed and adjusted from the mask's Determinism tab.


Non-Deterministic Mode

Non-deterministic BAN's are generated on the basis of a sequence number.

Mappings are many-to-many which means that collisions are possible. i.e. Two different input values may generate the same masked value.

Specifically, the BAN is assembled using: the Protocol Number followed by left zero-padded sequence number, followed by a two-digit checksum calculated for all preceding digits. If the Protocol Number is not preserved then a random three digit Protocol Number is chosen for every BAN value (no consistency with original Protocol Numbers is maintained. i.e. a single Protocol Number that occurs 100 times could produce 100 different masked Protocol Numbers. If Protocol Number consistency is required then either consider the 'Preserve Protocol Number PPP' setting, or use Deterministic mode.)

The first non-deterministic BAN mask shall start from the specified 'Default start sequence number'. Any subsequent non-deterministic BAN  mask in the same Column shall restart from its own 'Default start sequence number' value unless its 'Continue Account Number' checkbox has been selected in which case it will start from the next number after the last number used by the previous non-deterministic BAN mask.

For example, if there are two consecutive non-deterministic BAN masks (because, say, the first mask specified a subset or rows using its Where condition) and the first mask masked 100,000 rows starting from sequence number 500, then the next non-deterministic mask (with 'Continue Account Number' option selected) shall start from 100,500. If the Protocol Number is preserved (e.g. '220') then the first BAN generated by the second mask would be '220-0100500-44' (the last two digits of '44' are the automatically generated checksum.)



The original format of every individual BAN value shall be automatically preserved.

For example, if a BAN value has its digits separated by dashes, then the masked value shall also be separated by dashes in precisely the same way. Every individual row's format is examined and preserved.

This preserves the idiosyncrasies of the original data and therefore maximizes the usefulness of the masked data. For example, if your production data contains some unusual BAN formatting in some rows that are causing problems, then these will be preserved in the masked data so that these problems can be reproduced and identified in a development or test environment.


Synchronizing Duplicates

If you want to synchronize duplicate BANs in a column then there are two options for achieving this:

1.Open the Column's Masking -> Duplicates tab and select the 'Synchronize duplicates' checkbox.
 Note: If you are using Non-Deterministic mode then this will only synchronize duplicate BANs that have the exact same digits and format.
 For example, multiple occurrences of '310.0284374.56 ' would synchronize duplicates; however, '310.0284374.56' and '310-0284374-56' would be regarded as two distinct values (due to their different formatting.)

2.Use Deterministic mode.
 This will always generate the same masked BAN for the same original BAN, regardless of the formatting.
 For example, '310.0284374.56' and '310-0284374-56' would both receive the same masked BAN digits and the formatting of each original value shall be preserved.