n8n-nodes-ibanforge 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # n8n-nodes-ibanforge
2
+
3
+ IBAN validation, BIC/SWIFT lookup, Swiss clearing and compliance pre-checks inside your [n8n](https://n8n.io) workflows — backed by the [IBANforge](https://ibanforge.com?src=n8n) API and its 6 national bank registers (121k+ BIC entries, 89 IBAN countries).
4
+
5
+ Typical uses: verify supplier IBANs at onboarding, triage a payout list before the batch leaves, enrich a CRM record with the issuing bank, stop payments whose bank code the national register does not know.
6
+
7
+ ## Operations
8
+
9
+ | Operation | What it does |
10
+ |---|---|
11
+ | **Validate IBAN** | Structure + checksum + issuing bank (BIC), bank-code check against the national register (`not_in_register` means the register allocates the code to nobody), EMI/vIBAN classification, SEPA + VoP reachability |
12
+ | **Look up BIC** | BIC/SWIFT → bank name, city, country, LEI |
13
+ | **Look up Swiss clearing** | BC-Nummer / IID → institution, seat address, SIC/euroSIC/instant rails, QR-IID semantics |
14
+ | **Compliance check** | Bank-level sanctions (OFAC + EU), FATF lists, SEPA/VoP, 0-100 risk score. Bank-level, not name screening |
15
+
16
+ ## Installation
17
+
18
+ Community nodes panel: **Settings → Community nodes → Install** → `n8n-nodes-ibanforge`.
19
+
20
+ Self-hosted CLI:
21
+
22
+ ```bash
23
+ npm install n8n-nodes-ibanforge
24
+ ```
25
+
26
+ ## Credentials
27
+
28
+ One free API key: 200 requests/month, no card. Get it at [ibanforge.com](https://ibanforge.com?src=n8n) (key dialog) or straight from the API:
29
+
30
+ ```bash
31
+ curl -X POST https://api.ibanforge.com/v1/keys/generate \
32
+ -H "Content-Type: application/json" \
33
+ -d '{"email": "you@company.com", "source": "n8n"}'
34
+ ```
35
+
36
+ Paste the `ifk_…` key into the node's IBANforge API credentials.
37
+
38
+ ## Honest limits
39
+
40
+ - The bank-code check tells you what the **national register** says about the code inside the IBAN — it never claims the *account* exists or matches a name (that is Verification of Payee, a regulated-PSP scheme).
41
+ - Sanctions screening is **bank-level (BIC8)**, not name-level, and is not a regulated AML/CFT product.
42
+ - Full API reference: [ibanforge.com/docs](https://ibanforge.com/docs?src=n8n) · data provenance: [ibanforge.com/docs/data-sources](https://ibanforge.com/docs/data-sources?src=n8n)
43
+
44
+ ## License
45
+
46
+ [MIT](../../LICENSE)
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IbanForgeApi = void 0;
4
+ class IbanForgeApi {
5
+ name = 'ibanForgeApi';
6
+ displayName = 'IBANforge API';
7
+ documentationUrl = 'https://ibanforge.com/docs/api-keys?src=n8n';
8
+ properties = [
9
+ {
10
+ displayName: 'API Key',
11
+ name: 'apiKey',
12
+ type: 'string',
13
+ typeOptions: { password: true },
14
+ default: '',
15
+ description: 'Free key: 200 requests/month, no card — POST your email to https://api.ibanforge.com/v1/keys/generate or use the dialog at https://ibanforge.com?src=n8n',
16
+ },
17
+ ];
18
+ authenticate = {
19
+ type: 'generic',
20
+ properties: {
21
+ headers: {
22
+ Authorization: '=Bearer {{$credentials.apiKey}}',
23
+ },
24
+ },
25
+ };
26
+ test = {
27
+ request: {
28
+ baseURL: 'https://api.ibanforge.com',
29
+ url: '/v1/demo',
30
+ method: 'GET',
31
+ },
32
+ };
33
+ }
34
+ exports.IbanForgeApi = IbanForgeApi;
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IbanForge = void 0;
4
+ /**
5
+ * Declarative (routing-style) node: every operation maps straight onto the
6
+ * REST API, no execute() code and zero runtime dependencies — the shape the
7
+ * n8n verified-community-node programme requires (MIT + no deps + one
8
+ * package per service).
9
+ */
10
+ class IbanForge {
11
+ description = {
12
+ displayName: 'IBANforge',
13
+ name: 'ibanForge',
14
+ icon: 'file:ibanforge.svg',
15
+ group: ['transform'],
16
+ version: 1,
17
+ subtitle: '={{$parameter["operation"]}}',
18
+ description: 'Validate IBANs against 6 national bank registers, resolve BIC/SWIFT codes, look up Swiss clearing data and run compliance pre-checks',
19
+ defaults: {
20
+ name: 'IBANforge',
21
+ },
22
+ inputs: ['main'],
23
+ outputs: ['main'],
24
+ credentials: [
25
+ {
26
+ name: 'ibanForgeApi',
27
+ required: true,
28
+ },
29
+ ],
30
+ requestDefaults: {
31
+ baseURL: 'https://api.ibanforge.com',
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ },
35
+ },
36
+ properties: [
37
+ {
38
+ displayName: 'Operation',
39
+ name: 'operation',
40
+ type: 'options',
41
+ noDataExpression: true,
42
+ options: [
43
+ {
44
+ name: 'Validate IBAN',
45
+ value: 'validateIban',
46
+ action: 'Validate an IBAN',
47
+ description: 'Structure + checksum + issuing bank, bank-code check against the national register, SEPA and VoP reachability',
48
+ routing: {
49
+ request: {
50
+ method: 'POST',
51
+ url: '/v1/iban/validate',
52
+ body: {
53
+ iban: '={{$parameter.iban}}',
54
+ },
55
+ },
56
+ },
57
+ },
58
+ {
59
+ name: 'Look Up BIC',
60
+ value: 'lookupBic',
61
+ action: 'Look up a BIC or SWIFT code',
62
+ description: 'Resolve a BIC/SWIFT code into bank name, city, country and LEI',
63
+ routing: {
64
+ request: {
65
+ method: 'GET',
66
+ url: '=/v1/bic/{{$parameter.bic}}',
67
+ },
68
+ },
69
+ },
70
+ {
71
+ name: 'Look Up Swiss Clearing',
72
+ value: 'lookupChClearing',
73
+ action: 'Look up a swiss BC number IID',
74
+ description: 'Swiss BC-Nummer / IID: institution, seat address, SIC/euroSIC/instant participation, QR-IID semantics',
75
+ routing: {
76
+ request: {
77
+ method: 'GET',
78
+ url: '=/v1/ch/clearing/{{$parameter.iid}}',
79
+ },
80
+ },
81
+ },
82
+ {
83
+ name: 'Compliance Check',
84
+ value: 'complianceCheck',
85
+ action: 'Run a compliance pre check on an IBAN',
86
+ description: 'Bank-level sanctions (OFAC + EU), FATF lists, SEPA/VoP reachability, 0-100 risk score — bank-level, not name screening',
87
+ routing: {
88
+ request: {
89
+ method: 'POST',
90
+ url: '/v1/iban/compliance',
91
+ body: {
92
+ iban: '={{$parameter.iban}}',
93
+ },
94
+ },
95
+ },
96
+ },
97
+ ],
98
+ default: 'validateIban',
99
+ },
100
+ {
101
+ displayName: 'IBAN',
102
+ name: 'iban',
103
+ type: 'string',
104
+ required: true,
105
+ default: '',
106
+ placeholder: 'DE89370400440532013000',
107
+ description: 'The IBAN to check (spaces are tolerated)',
108
+ displayOptions: {
109
+ show: {
110
+ operation: ['validateIban', 'complianceCheck'],
111
+ },
112
+ },
113
+ },
114
+ {
115
+ displayName: 'BIC / SWIFT Code',
116
+ name: 'bic',
117
+ type: 'string',
118
+ required: true,
119
+ default: '',
120
+ placeholder: 'COBADEFF',
121
+ description: 'BIC8 or BIC11 to resolve',
122
+ displayOptions: {
123
+ show: {
124
+ operation: ['lookupBic'],
125
+ },
126
+ },
127
+ },
128
+ {
129
+ displayName: 'IID / BC-Nummer',
130
+ name: 'iid',
131
+ type: 'string',
132
+ required: true,
133
+ default: '',
134
+ placeholder: '230',
135
+ description: 'Swiss institution identifier (3-5 digits) or QR-IID (30000-31999)',
136
+ displayOptions: {
137
+ show: {
138
+ operation: ['lookupChClearing'],
139
+ },
140
+ },
141
+ },
142
+ ],
143
+ };
144
+ }
145
+ exports.IbanForge = IbanForge;
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60">
2
+ <rect width="60" height="60" rx="12" fill="#14263f"/>
3
+ <path d="M14 40 V20 h4 v20 z" fill="#c8742f"/>
4
+ <path d="M24 40 V20 h4 v8 l8 -8 h5.5 l-9 9 9.5 11 h-5.5 l-7 -8.5 -1 1 V40 z" fill="#f5f1e6"/>
5
+ <circle cx="45" cy="23" r="3" fill="#c8742f"/>
6
+ </svg>
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "n8n-nodes-ibanforge",
3
+ "version": "0.1.0",
4
+ "description": "IBAN validation, BIC/SWIFT lookup, Swiss clearing and compliance pre-checks for n8n workflows \u2014 backed by 6 national bank registers (121k+ BIC entries, 89 countries)",
5
+ "keywords": [
6
+ "n8n-community-node-package",
7
+ "iban",
8
+ "bic",
9
+ "swift",
10
+ "sepa",
11
+ "banking",
12
+ "compliance",
13
+ "verification-of-payee",
14
+ "fintech"
15
+ ],
16
+ "license": "MIT",
17
+ "homepage": "https://ibanforge.com?src=n8n",
18
+ "author": {
19
+ "name": "IBANforge",
20
+ "email": "support@ibanforge.com"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/cammac-creator/ibanforge.git",
25
+ "directory": "integrations/n8n"
26
+ },
27
+ "engines": {
28
+ "node": ">=20"
29
+ },
30
+ "scripts": {
31
+ "build": "tsc && mkdir -p dist/nodes/IbanForge && cp nodes/IbanForge/ibanforge.svg dist/nodes/IbanForge/",
32
+ "lint": "tsc --noEmit"
33
+ },
34
+ "files": [
35
+ "dist"
36
+ ],
37
+ "n8n": {
38
+ "n8nNodesApiVersion": 1,
39
+ "credentials": [
40
+ "dist/credentials/IbanForgeApi.credentials.js"
41
+ ],
42
+ "nodes": [
43
+ "dist/nodes/IbanForge/IbanForge.node.js"
44
+ ]
45
+ },
46
+ "devDependencies": {
47
+ "n8n-workflow": "^1.70.0",
48
+ "typescript": "^5.6.0"
49
+ }
50
+ }