1.0.8 • Published 8 months ago

banking-tools v1.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

banking-tools

GitHub license npm Unit tests workflow status

A lightweight library to determine the bank information ( BIC/SWIFT, Bank Name) of an IBAN or BIC. Supports IBANs/BICs from Austria, Belgium, Germany, Luxembourg, Netherlands, Spain, France, Switzerland and Czech Republic.

Forked Library from sigalor/iban-to-bic with Added Features: Retrieve Bank Name from IBAN and Retrieve Bank Name from BIC

Usage

Installation

Using NPM or Yarn:

npm i banking-tools
yarn add banking-tools

Retrieve BIC from IBAN

const { ibanToBic } = require('banking-tools');

const bic = ibanToBic('DE51500105179975341634');
// Returns BIC: "INGDDEFFXXX"

The ibanToBic function returns undefined if the IBAN is invalid (validated internally using ibantools) or if no corresponding BIC was found.

Check if IBAN is valid

import { isValidIBAN } from 'banking-tools';

const isValid = isValidIBAN('DE51500105179975341634');
// Returns true

Note: This function using ibantools to validate the IBAN, so it will return false if the IBAN is not valid.

Retrieve Bank Name from IBAN

import { ibanToBankName } from 'banking-tools';

const bankInfo = ibanToBankName('DE51500105179975341634');
// Returns :

// NOTE: With German Bank Names, Many Banks has multiple branches names, so now by default if there is not a name or short name for the bank, it will return the FIRST branch name and short name.

//  {
//   "code": '68492200',
//   "bic": 'GENODE61WT1',
//   "branches": [
//     { "name": 'Volksbank Hochrhein', "shortName": 'Volksbank Hochrhein' }, // INDEX 0
//     {
//       "name": 'Volksbank Hochrhein (Gf P2)',
//       "shortName": 'VB Hochrhein Waldshut-Tieng'
//     } // INDEX 1
//   ],
//   // name and shortName are from index 0 of branches array
//   "name": 'Volksbank Hochrhein',
//   "shortName": 'Volksbank Hochrhein'
// }
//  NOTE: With Belgium Bank Names, The Banks has multiple names for different languages, So you should be aware that it return an Object with the names for each language.
//   {
//       "code": "096",
//       "bic": "GKCCBEBB",
//       "name": {
//           "nl": "BELFIUS BANK",
//           "fr": "BELFIUS BANQUE"
//       }
// }

Retrieve Bank Name from BIC

import { bicToBankName } from 'banking-tools';

const bankInfo = bicToBankName('GENODE61WT1');
// Returns :
// {
//     "code": "68492200",
//     "bic": "GENODE61WT1",
//     "branches": [
//         {
//             "name": "Volksbank Hochrhein",
//             "shortName": "Volksbank Hochrhein"
//         },
//         {
//             "name": "Volksbank Hochrhein (Gf P2)",
//             "shortName": "VB Hochrhein Waldshut-Tieng"
//         }
//     ],
//     "name": "Volksbank Hochrhein",
//     "shortName": "Volksbank Hochrhein"
// }

TypeScript Support

This library is written in TypeScript and comes with its own type definitions.

Updating the dataset

The following will fetch the newest data from the respective national bank authorities (e.g. Bundesbank in Germany or OeNB in Austria) and regenerate the files in the datasets and the datasets-extended directory:

npm run generate

For Spain and France, data directly from the European Central Bank is used, see here.

License

MIT

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago