{"id":17084624,"url":"https://github.com/fleshgrinder/kotlin-bic","last_synced_at":"2026-04-20T13:36:55.838Z","repository":{"id":145916752,"uuid":"190875590","full_name":"Fleshgrinder/kotlin-bic","owner":"Fleshgrinder","description":"ISO 9362:2014 — Business Identifier Code","archived":false,"fork":false,"pushed_at":"2020-01-19T17:17:01.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-28T20:12:35.895Z","etag":null,"topics":["bic","iso","iso-bic","iso9362","kotlin","kotlin-jvm","kotlin-library"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fleshgrinder.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-08T10:37:58.000Z","updated_at":"2020-01-19T17:17:03.000Z","dependencies_parsed_at":"2023-06-26T00:16:49.527Z","dependency_job_id":null,"html_url":"https://github.com/Fleshgrinder/kotlin-bic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fleshgrinder%2Fkotlin-bic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fleshgrinder%2Fkotlin-bic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fleshgrinder%2Fkotlin-bic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fleshgrinder%2Fkotlin-bic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fleshgrinder","download_url":"https://codeload.github.com/Fleshgrinder/kotlin-bic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245111928,"owners_count":20562511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bic","iso","iso-bic","iso9362","kotlin","kotlin-jvm","kotlin-library"],"created_at":"2024-10-14T13:08:05.740Z","updated_at":"2025-10-06T09:35:54.019Z","avatar_url":"https://github.com/Fleshgrinder.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003ca href=\"#logo-usage\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/5/56/Bic_logo.svg\" alt=\"Société Bic S.A. Logo\" width=\"160\" height=\"61\"\u003e\u003c/a\u003e\u003c/h1\u003e\n\u003cp align=\"center\"\u003eISO 9362:2014 — Business Identifier Code\u003c/p\u003e\n\n**BIC** stands for **Business Identifier Code** (aka. **Bank Identifier Code**)\nand is an international standard defined through the [ISO] in [ISO 9362]. A BIC\nspecifies the elements and structure of a universal identifier (UID) for\nfinancial and non-financial institutions, for which such an international\nidentifier is required to facilitate automated processing of information for\nfinancial services. The BIC is used for addressing messages, routing business\ntransactions, and identifying business parties. [SWIFT] acts as the registration\nauthority (RA) for BICs and is responsible for its implementation.\n\nThis Kotlin (and Java) implementation adheres to the latest revision,\n[ISO 9362:2014], of the standard in which a few things have changed compared to\nprevious iterations. You can find additional information regarding the changes\nin the [SWIFT White Paper] and [SWIFT Information Paper]. The following\ndescription will not include information on how it was in the past but rather\nexplain how it is now.\n\nA BIC is made up of 11 characters of which the last 3 are optional. The\nrequired 8 characters are the **Business Party Identifier** (**BPI**) which is\nfurther separated into three parts, the **Business Party Prefix**, **Country\nCode**, and **Business Party Suffix**. The _prefix_ and _suffix_ are chosen by\nSWIFT and the _country_ corresponds to the country where the business resides\n(following [ISO 3166-1 alpha-2]). The optional last 3 characters are called the\n**Branch Code** which identifies a specific location, department, service, or\nunit of the business party.\n\nThe following [ABNF] specifies the syntactic requirements:\n\n```\nbusiness-identifier-code  := business-party-identifier [ branch-identifier ]\n\nbusiness-party-identifier := business-party-prefix country-code business-party-suffix\nbusiness-party-prefix     := 4alnum\ncountry-code              := 2alpha\nbusiness-party-suffix     := 2alnum\nbranch-identifier         := 3alnum\n\nalnum := alpha / digit\nalpha := %x41-5A ; A-Z\ndigit := %x30-39 ; 0-9\n```\n\nA corresponding regular expression would look as follows:\n\n```regexp\n/^(?\u003cbusiness_identifier_code\u003e\n    (?\u003cbusiness_party_identifier\u003e\n        (?\u003cbusiness_party_prefix\u003e[A-Z0-9]{4})\n        (?\u003ccountry_code\u003e[A-Z]{2})\n        (?\u003cbusiness_party_suffix\u003e[A-Z0-9]{2})\n    )\n    (?\u003cbranch_code\u003e[A-Z0-9]{3})?\n)$/x\n```\n\nPlease refer to the [class documentation] for examples and all the gory details\nof the actual implementation.\n\n## Installation\n\nThe module is available from [Bintray] only. It will become available via\nJCenter and Maven Central once 1.0.0 is out.\n\nAdd the following to your `build.gradle.kts` file:\n\n```kotlin\ndependencies {\n    implementation(\"com.fleshgrinder.kotlin:bic:0.1.0\")\n}\n\nrepositories {\n    maven(\"https://dl.bintray.com/fleshgrinder/com.fleshgrinder.kotlin\")\n}\n```\n\nPlease refer to [Bintray] for instructions on how to add the module to Maven or\nIvy.\n\n## Project Info\n\n* Please read [CONTRIBUTING.md] if you want to contribute, which would be very\n  welcome.\n* We use [Semantic Versioning] and [Keep a Changelog], available versions and\n  changes are listed on our [releases] page and in the [CHANGELOG.md].\n* This module is licensed under the [Unlicense], see [UNLICENSE.md] for details.\n\n## Logo Usage\n\nThis non-commercial project uses the logo of the [Société Bic S.A.] company in a\nparodied context because of the naming similarity of the standards abbreviation\n_BIC_ and the common name the company is known by _BiC_. It is believed that\nthis usage falls under [Fair Use] and that [no permission is required to use the\nlogo](https://www.upcounsel.com/permission-to-use-logo). However, it is\nimportant to note that this project is not associated with Société Bic S.A. nor\nis it endorsed by them. In fact, they are probably not even aware of this\nproject in the first place.\n\nThe logo itself is not distributed along with this project but included from\n[https://en.wikipedia.org/wiki/File:BIC_logo.svg](https://en.wikipedia.org/wiki/File:Bic_logo.svg).\nIt should be obvious that the project’s [Unlicense] doesn’t apply to the logo\nwhich is owned by Société Bic S.A.\n\n[ISO]: https://en.wikipedia.org/wiki/International_Organization_for_Standardization\n[ISO 9362]: https://www.iso9362.org/\n[ISO 9362:2014]: https://www.iso.org/standard/60390.html\n[SWIFT]: https://en.wikipedia.org/wiki/Society_for_Worldwide_Interbank_Financial_Telecommunication\n[SWIFT White Paper]: https://www.swift.com/node/14256\n[SWIFT Information Paper]: https://www.swift.com/resource/information-paper-iso-93622014-bic-implementation\n[ABNF]: https://tools.ietf.org/html/rfc5234\n[ISO 3166-1 alpha-2]: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n\n[Bintray]: https://bintray.com/fleshgrinder/com.fleshgrinder.kotlin/bic\n[class documentation]: https://fleshgrinder.github.io/kotlin-bic/com.fleshgrinder.commons/-b-i-c/index.html\n[CONTRIBUTING.md]: https://github.com/Fleshgrinder/kotlin-bic/blob/master/CONTRIBUTING.md\n[CHANGELOG.md]: https://github.com/Fleshgrinder/kotlin-bic/blob/master/CHANGELOG.md\n[UNLICENSE.md]: https://github.com/Fleshgrinder/kotlin-bic/blob/master/UNLICENSE.md\n[Semantic Versioning]: http://semver.org/\n[Keep a Changelog]: https://keepachangelog.com/\n[releases]: https://github.com/Fleshgrinder/kotlin-bic/releases\n[Unlicense]: https://unlicense.org/\n\n[Société Bic S.A.]: https://en.wikipedia.org/wiki/Soci%C3%A9t%C3%A9_Bic\n[Fair Use]: https://en.wikipedia.org/wiki/Fair_use\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffleshgrinder%2Fkotlin-bic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffleshgrinder%2Fkotlin-bic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffleshgrinder%2Fkotlin-bic/lists"}