MeridianMERIDIAN

SWIFT/BIC

finance.banking.swift_bic

Society for Worldwide Interbank Financial Telecommunication code (also called Bank Identifier Code). 8 or 11 character code identifying financial institutions. Format: 4-letter bank code + 2-letter country code (ISO 3166) + 2-character location code + optional 3-character branch code.

Worked samples

DuckDB 1.5.5 · finetype 0.6.64

ValueAs VARCHARbank_codebranch_codecountry_codelocation_code
DEUTDEFFDEUTDEFFDEUTXXXDEFF
BNPAFRPPBNPAFRPPBNPAXXXFRPP
CHASUS33XXXCHASUS33XXXCHASXXXUS33
BOFAUS3NBOFAUS3NBOFAXXXUS3N

Shape

Pattern
^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
ValueLengthShape
DEUTDEFF8matches
BNPAFRPP8matches
CHASUS33XXX11matches
BOFAUS3N8matches
DEUTDEF7rejected: one character short

Background

Origin

ISO 9362 is the international standard for Business Identifier Codes (BIC), approved by the International Organization for Standardization.[1] ISO 9362 is based on an industry standard that SWIFT created around 1975.[1] ISO 9362 has had five editions, from 1987, 1994, 2009, 2014 and 2022, and only the 2022 edition is still valid.[1] SWIFT is the registration authority for the BIC standard, appointed by ISO.[2] As registration authority, SWIFT receives BIC registration requests, assigns each BIC and publishes the related BIC data record.[2]

BIC was defined originally as a Bank Identifier Code.[1] Because SWIFT originally introduced the codes, BICs are still often called SWIFT addresses or SWIFT codes.[1]

A BIC is 8 or 11 characters long.[1][3] The Deutsche Bundesbank describes the BIC as a four-character business party prefix, a two-character ISO country code, a two-character business party suffix and an optional three-character branch code.[3] The country part of a BIC is an ISO 3166-1 alpha-2 country code.[1] SWIFT has exceptionally assigned the code XK to the Republic of Kosovo, which does not have an ISO 3166-1 country code.[1] Where an eight-character BIC is given, it may be assumed to refer to the institution's primary office.[1] A branch code of XXX stands for the primary office.[1]

Use

BICs are used when transferring money between banks, particularly for international wire transfers.[1] In a SWIFT MT103 cash-transfer message, BICs appear under tags such as 50a (ordering customer), 56a (intermediary) and 57a (account with institution).[1] SWIFT also identifies endpoints on its network with twelve-character addresses made of the BIC8, a one-character logical terminal code and the three-character branch code.[1] SWIFT's twelve-character BIC12 addresses are not part of the ISO standard.[1]

Regulation (EU) No 260/2012 defines a BIC as a business identifier code that unambiguously identifies a payment service provider, the elements of which are specified by the ISO.[4] Under Regulation (EU) No 260/2012, after 1 February 2014 for national payment transactions and after 1 February 2016 for cross-border ones, payment service providers may not require users to indicate the BIC of the payer's or the payee's provider.[4]

The Deutsche Bundesbank asks everyone taking part in cashless payments to show their account details on business papers as IBAN, BIC and the name of the payment service provider, in the pattern IBAN DE58 1234 5678 0123 4567 89, BIC BANKDEFFXXX.[3] The python-stdnum library validates a BIC by checking its length and the characters in each position.[5] The python-stdnum documentation shows a BIC written with spaces, ABNA BE 2A, validating to the compact form ABNABE2A.[5] The python-stdnum documentation notes that BICs are conventionally written in capitals.[5] Strip spaces and upper-case values before comparing BICs, and treat an eight-character code and the same code with XXX appended as the same primary office. (Meridian's view) A pattern match shows only that a value has the shape of a BIC, not that SWIFT ever assigned it; where that matters, check codes against a published directory. (Meridian's view)

Where you'll meet it

The Deutsche Bundesbank's bank sort code file (Bankleitzahlendatei) carries a BIC in its field 8.[3]

GLEIF and SWIFT introduced the BIC-to-LEI relationship file in February 2018.[2] In February 2018 GLEIF reported that, of the approximately 130,000 BICs assigned to date, some 45,000 belonged to legal entities or foreign branches that qualified for mapping against LEIs.[6]

Detection notes

New in v2. SWIFT/BIC codes are used for international wire transfers. 8-character codes identify the head office; 11-character codes include a branch identifier. "XXX" as branch code also means head office.

Use it

CLI · DuckDB
$ finetype infer -i "DEUTDEFF" --mode column
→ finance.banking.swift_bic

SELECT ft_infer('DEUTDEFF');
-- → 'finance.banking.swift_bic'
Cast expression
UPPER(CAST({col} AS VARCHAR))

Schema

https://meridian.online/schemas/finance.banking.swift_bic · Frictionless type string

finetype taxonomy finance.banking.swift_bic -o json-schema

Aliases

bicswift_code

Type Registry