vat-validator-mcp 1.0.0 → 1.4.3
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 +155 -27
- package/cd +0 -0
- package/del +0 -0
- package/git +0 -0
- package/main +0 -0
- package/node +0 -0
- package/package.json +31 -5
- package/patch_vat_v134.js +84 -0
- package/server.json +19 -10
- package/smithery.yaml +63 -34
- package/src/server.js +392 -272
- package/src/server.js.bak +437 -0
- package/src/vat_server_v130_clean.js +401 -0
- package/vat_server_v2_fixed.js +586 -0
package/README.md
CHANGED
|
@@ -1,47 +1,175 @@
|
|
|
1
|
-
# VAT Validator MCP
|
|
1
|
+
# VAT Validator MCP — Business Identity Verification & Invoice Fraud Detection
|
|
2
2
|
|
|
3
|
-
Validate EU, UK, and Australian VAT numbers
|
|
3
|
+
Validate EU, UK, and Australian VAT numbers against live government registries. Plus AI-powered fraud risk analysis and invoice verification — so your agent doesn't just know a VAT number is valid, it knows whether to proceed with the transaction.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Free tier: 20 calls/month. No API key required. Just connect and go.**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"vat-validator": {
|
|
12
|
+
"url": "https://vat-validator-mcp-production.up.railway.app"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Or via Smithery:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx -y @smithery/cli@latest mcp add OjasKord/vat-validator-mcp
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Why Use This
|
|
24
|
+
|
|
25
|
+
A VAT number is the most reliable identifier for a registered business in the EU, UK, and Australia. Validating it confirms the company is real and legally registered. But validation alone isn't enough — scammers use valid VAT numbers with mismatched company names, or invoice from newly registered shells. The AI tools in this server catch what raw validation misses.
|
|
26
|
+
|
|
27
|
+
Required for EU ViDA mandatory e-invoicing compliance from 2026.
|
|
8
28
|
|
|
9
29
|
## Tools
|
|
10
30
|
|
|
11
|
-
### validate_vat
|
|
12
|
-
Validate any VAT number
|
|
13
|
-
- EU (all 27 member states) via VIES
|
|
14
|
-
- UK (GB prefix) via HMRC
|
|
15
|
-
- Australia (AU prefix or 11-digit ABN) via ABR
|
|
31
|
+
### `validate_vat`
|
|
32
|
+
Validate any EU, UK, or Australian VAT number against live government registries. Auto-detects country from prefix. Use before any B2B transaction, supplier onboarding, or invoice approval.
|
|
16
33
|
|
|
17
|
-
|
|
18
|
-
|
|
34
|
+
- EU (all 27 member states) via EU VIES (ec.europa.eu/taxation_customs/vies)
|
|
35
|
+
- UK (GB prefix) via UK HMRC (api.service.hmrc.gov.uk)
|
|
36
|
+
- Australia (AU prefix or 11-digit ABN) via Australian ABR (abr.business.gov.au)
|
|
19
37
|
|
|
20
|
-
|
|
21
|
-
|
|
38
|
+
```json
|
|
39
|
+
{ "vat_number": "DE811128135" }
|
|
40
|
+
```
|
|
22
41
|
|
|
23
|
-
###
|
|
24
|
-
|
|
42
|
+
### `validate_uk_vat`
|
|
43
|
+
UK-specific validation against HMRC live records. Returns HMRC consultation number for audit trail. Use when you need to prove compliance during a tax audit.
|
|
25
44
|
|
|
26
|
-
|
|
45
|
+
```json
|
|
46
|
+
{ "vat_number": "GB123456789" }
|
|
47
|
+
```
|
|
27
48
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
- **Enterprise**: $299/month — unlimited + batch validation
|
|
49
|
+
### `get_vat_rates`
|
|
50
|
+
Current VAT rates for all 27 EU member states, UK, and Australia. Use before generating any cross-border invoice or quote.
|
|
31
51
|
|
|
32
|
-
|
|
52
|
+
```json
|
|
53
|
+
{ "country_code": "DE" }
|
|
54
|
+
```
|
|
33
55
|
|
|
34
|
-
|
|
56
|
+
### `batch_validate` *(Paid only)*
|
|
57
|
+
Validate up to 10 VAT numbers in one call across any mix of EU, UK, and Australian numbers. Use for supplier onboarding batches and monthly vendor audits.
|
|
35
58
|
|
|
36
|
-
|
|
59
|
+
```json
|
|
60
|
+
{ "vat_numbers": ["DE811128135", "GB123456789", "FR12345678901"] }
|
|
61
|
+
```
|
|
37
62
|
|
|
38
|
-
|
|
63
|
+
### `analyse_vat_risk` *(AI-powered — NOT a database lookup)*
|
|
64
|
+
AI fraud risk assessment after validation. Returns CLEAR/REVIEW/BLOCK recommendation with specific fraud signals. Catches name mismatches between invoice and registry, newly registered companies with large invoice values, dormant status, shell company indicators, and address anomalies. Use before approving any payment or signing any contract with a first-time counterparty.
|
|
39
65
|
|
|
40
66
|
```json
|
|
41
67
|
{
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
68
|
+
"vat_number": "DE811128135",
|
|
69
|
+
"validation_result": { "valid": true, "company_name": null, "country": "DE" },
|
|
70
|
+
"invoice_amount": 50000,
|
|
71
|
+
"invoice_company_name": "Deutsche Test GmbH"
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### `compare_invoice_details` *(AI-powered — NOT a database lookup)*
|
|
76
|
+
AI comparison of invoice details against official registry records. Flags discrepancies between the company name, address, and VAT number on an invoice versus registered government data. A name mismatch is one of the most common invoice fraud signals. Use before approving payment on any invoice from an unverified supplier.
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"invoice_company_name": "Deutsche Test GmbH",
|
|
81
|
+
"invoice_vat_number": "DE811128135",
|
|
82
|
+
"invoice_address": "Musterstrasse 1, Berlin",
|
|
83
|
+
"validation_result": { "valid": true, "company_name": null, "country": "DE" }
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Example Responses
|
|
88
|
+
|
|
89
|
+
**validate_vat:**
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"valid": true,
|
|
93
|
+
"vat_number": "DE811128135",
|
|
94
|
+
"country": "DE",
|
|
95
|
+
"company_name": null,
|
|
96
|
+
"source": "VIES",
|
|
97
|
+
"source_url": "ec.europa.eu/taxation_customs/vies",
|
|
98
|
+
"checked_at": "2026-04-09T06:17:00Z"
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**analyse_vat_risk:**
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"recommendation": "REVIEW",
|
|
106
|
+
"risk_level": "MEDIUM",
|
|
107
|
+
"risk_score": 65,
|
|
108
|
+
"fraud_signals": ["Company name not available in registry despite valid VAT number", "Unable to verify invoice company name against registry data"],
|
|
109
|
+
"positive_indicators": ["VAT number validates as authentic in German registry"],
|
|
110
|
+
"recommended_action": "Request additional company documentation before processing payment.",
|
|
111
|
+
"summary": "Valid VAT number but missing registry information prevents full verification."
|
|
46
112
|
}
|
|
47
113
|
```
|
|
114
|
+
|
|
115
|
+
## Recommended Workflows
|
|
116
|
+
|
|
117
|
+
**Invoice processing (3 calls):**
|
|
118
|
+
1. `validate_vat` — confirm VAT number is real and active
|
|
119
|
+
2. `compare_invoice_details` — AI checks invoice name/address against registry
|
|
120
|
+
3. `analyse_vat_risk` — AI fraud risk assessment with CLEAR/REVIEW/BLOCK
|
|
121
|
+
Only proceed with payment if recommendation is CLEAR.
|
|
122
|
+
|
|
123
|
+
**Supplier onboarding (2 calls):**
|
|
124
|
+
1. `validate_vat` — confirm registration
|
|
125
|
+
2. `analyse_vat_risk` — AI fraud signal check
|
|
126
|
+
|
|
127
|
+
**Monthly vendor audit (1 call):**
|
|
128
|
+
- `batch_validate` — re-validate all active suppliers. Registrations can lapse.
|
|
129
|
+
|
|
130
|
+
## Data Sources
|
|
131
|
+
|
|
132
|
+
| Tool | Data Source | Update Frequency |
|
|
133
|
+
|---|---|---|
|
|
134
|
+
| validate_vat (EU) | EU VIES (ec.europa.eu/taxation_customs/vies) | Real-time |
|
|
135
|
+
| validate_vat (UK) | UK HMRC (api.service.hmrc.gov.uk) | Real-time |
|
|
136
|
+
| validate_vat (AU) | Australian ABR (abr.business.gov.au) | Real-time |
|
|
137
|
+
| analyse_vat_risk | Registry data + Claude AI analysis | Real-time |
|
|
138
|
+
| compare_invoice_details | Registry data + Claude AI analysis | Real-time |
|
|
139
|
+
|
|
140
|
+
Every response includes `source_url` and `checked_at` so agents can verify exactly where data came from and when.
|
|
141
|
+
|
|
142
|
+
## Supported Jurisdictions
|
|
143
|
+
|
|
144
|
+
**EU (27 member states):** AT BE BG CY CZ DE DK EE EL ES FI FR HR HU IE IT LT LU LV MT NL PL PT RO SE SI SK
|
|
145
|
+
|
|
146
|
+
**UK:** GB prefix via HMRC
|
|
147
|
+
|
|
148
|
+
**Australia:** AU prefix or 11-digit ABN via ABR
|
|
149
|
+
|
|
150
|
+
## Pricing
|
|
151
|
+
|
|
152
|
+
| Plan | Validations | Price |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| Free | 20/month | No API key required |
|
|
155
|
+
| Pro | 5,000/month | $39/month |
|
|
156
|
+
| Enterprise | Unlimited + batch | $199/month |
|
|
157
|
+
|
|
158
|
+
Upgrade at **[kordagencies.com](https://kordagencies.com)**
|
|
159
|
+
|
|
160
|
+
## Reliability
|
|
161
|
+
|
|
162
|
+
- Uptime monitored every 5 minutes via UptimeRobot
|
|
163
|
+
- Version history documented in [CHANGELOG.md](CHANGELOG.md)
|
|
164
|
+
- Health endpoint: `GET /health`
|
|
165
|
+
- Note: EU VIES experiences periodic downtime — errors include explanation and retry guidance
|
|
166
|
+
|
|
167
|
+
## Legal
|
|
168
|
+
|
|
169
|
+
Results sourced directly from official government VAT registries (EU VIES, UK HMRC, Australian ABR). We do not log or store your query content. Results are for informational purposes only and do not constitute legal or tax advice. Verify all results with a qualified tax advisor. Maximum liability limited to 3 months subscription fees. Full terms: [kordagencies.com/terms.html](https://kordagencies.com/terms.html)
|
|
170
|
+
|
|
171
|
+
## Connect
|
|
172
|
+
|
|
173
|
+
- Website: [kordagencies.com](https://kordagencies.com)
|
|
174
|
+
- Smithery: [smithery.ai/server/OjasKord/vat-validator-mcp](https://smithery.ai/server/OjasKord/vat-validator-mcp)
|
|
175
|
+
- Contact: ojas@kordagencies.com
|
package/cd
ADDED
|
File without changes
|
package/del
ADDED
|
File without changes
|
package/git
ADDED
|
File without changes
|
package/main
ADDED
|
File without changes
|
package/node
ADDED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,18 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vat-validator-mcp",
|
|
3
|
-
"
|
|
3
|
+
"mcpName": "io.github.OjasKord/vat-validator-mcp",
|
|
4
|
+
"version": "1.4.3",
|
|
4
5
|
"description": "VAT number validation for AI agents. EU VIES, UK HMRC, Australian ABN in one call.",
|
|
5
6
|
"main": "src/server.js",
|
|
6
7
|
"scripts": {
|
|
7
8
|
"start": "node src/server.js"
|
|
8
9
|
},
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
"keywords": [
|
|
11
|
+
"mcp",
|
|
12
|
+
"vat",
|
|
13
|
+
"vat-validation",
|
|
14
|
+
"eu-vat",
|
|
15
|
+
"hmrc",
|
|
16
|
+
"vies",
|
|
17
|
+
"e-invoicing",
|
|
18
|
+
"tax-compliance",
|
|
19
|
+
"b2b",
|
|
20
|
+
"invoice",
|
|
21
|
+
"vida",
|
|
22
|
+
"uk-vat",
|
|
23
|
+
"australian-abn",
|
|
24
|
+
"invoice-fraud",
|
|
25
|
+
"vat-fraud",
|
|
26
|
+
"validator",
|
|
27
|
+
"tax-verification",
|
|
28
|
+
"supplier-verification",
|
|
29
|
+
"compliance"
|
|
30
|
+
],
|
|
31
|
+
"author": "Kord Agencies Pte Ltd <ojas@kordagencies.com>",
|
|
12
32
|
"license": "UNLICENSED",
|
|
13
33
|
"homepage": "https://kordagencies.com",
|
|
14
34
|
"repository": {
|
|
15
35
|
"type": "git",
|
|
16
|
-
"url": "https://github.com/OjasKord/vat-validator-mcp"
|
|
36
|
+
"url": "git+https://github.com/OjasKord/vat-validator-mcp.git"
|
|
37
|
+
},
|
|
38
|
+
"bugs": {
|
|
39
|
+
"url": "https://github.com/OjasKord/vat-validator-mcp/issues"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=18.0.0"
|
|
17
43
|
}
|
|
18
44
|
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
let c = fs.readFileSync('C:/vat-validator-mcp/src/server.js', 'utf8');
|
|
3
|
+
|
|
4
|
+
console.log('File size:', c.length);
|
|
5
|
+
console.log('Has vat_stats:', c.includes('vat_stats'));
|
|
6
|
+
console.log('Version 1.3.2:', c.includes('1.3.2'));
|
|
7
|
+
console.log('Has validate_vat:', c.includes('validate_vat'));
|
|
8
|
+
|
|
9
|
+
if (!c.includes('vat_stats')) {
|
|
10
|
+
console.error('ERROR: Wrong file');
|
|
11
|
+
process.exit(1);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// 1. Add FREE_TIER_WARNING constant
|
|
15
|
+
c = c.replace(
|
|
16
|
+
'const FREE_TIER_LIMIT = 20;',
|
|
17
|
+
'const FREE_TIER_LIMIT = 20;\nconst FREE_TIER_WARNING = 16; // warn at 80% usage'
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
// 2. Bump version to 1.4.0
|
|
21
|
+
c = c.replace(/1\.3\.2/g, '1.4.0');
|
|
22
|
+
|
|
23
|
+
// 3. Add partial response logic in tools/call handler
|
|
24
|
+
// Find the existing tools/call result handling
|
|
25
|
+
const oldResult = ` const result = await executeTool(name, toolArgs || {});
|
|
26
|
+
if (req._accessWarning) result._notice = req._accessWarning;
|
|
27
|
+
response = { jsonrpc: '2.0', id: request.id, result: { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] } };`;
|
|
28
|
+
|
|
29
|
+
const newResult = ` const result = await executeTool(name, toolArgs || {});
|
|
30
|
+
if (req._accessWarning) result._notice = req._accessWarning;
|
|
31
|
+
|
|
32
|
+
// Partial response for free tier
|
|
33
|
+
if (req._tier === 'free' && !result.error) {
|
|
34
|
+
const ip = req.headers['x-forwarded-for'] || req.socket.remoteAddress || 'unknown';
|
|
35
|
+
const used = freeTierUsage.get(ip) || 0;
|
|
36
|
+
const remaining = FREE_TIER_LIMIT - used;
|
|
37
|
+
const isWarning = used >= FREE_TIER_WARNING;
|
|
38
|
+
|
|
39
|
+
if (name === 'validate_vat' || name === 'validate_uk_vat') {
|
|
40
|
+
// Gate address on free tier — company name + valid status visible
|
|
41
|
+
const gated = ['registered_address', 'address', 'consultation_number'];
|
|
42
|
+
gated.forEach(f => delete result[f]);
|
|
43
|
+
result._upgrade_note = 'Free tier: ' + remaining + ' of ' + FREE_TIER_LIMIT + ' calls remaining. Upgrade to Pro ($39/month) at kordagencies.com for full registered address and HMRC consultation number.';
|
|
44
|
+
result._gated_fields = gated;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (name === 'analyse_vat_risk') {
|
|
48
|
+
// Gate full reasoning — verdict visible, details gated
|
|
49
|
+
const gated = ['fraud_signals', 'positive_indicators', 'recommended_action', 'summary'];
|
|
50
|
+
gated.forEach(f => delete result[f]);
|
|
51
|
+
result._upgrade_note = 'Free tier: ' + remaining + ' of ' + FREE_TIER_LIMIT + ' calls remaining. Upgrade to Pro ($39/month) at kordagencies.com for full fraud signal breakdown, positive indicators, and recommended action.';
|
|
52
|
+
result._gated_fields = gated;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (name === 'compare_invoice_details') {
|
|
56
|
+
// Gate detail fields — match_status visible, discrepancies gated
|
|
57
|
+
const gated = ['discrepancies', 'name_match', 'address_match', 'recommended_action', 'summary'];
|
|
58
|
+
gated.forEach(f => delete result[f]);
|
|
59
|
+
result._upgrade_note = 'Free tier: ' + remaining + ' of ' + FREE_TIER_LIMIT + ' calls remaining. Upgrade to Pro ($39/month) at kordagencies.com for full discrepancy analysis and recommended action.';
|
|
60
|
+
result._gated_fields = gated;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (isWarning) result._notice = 'Warning: only ' + remaining + ' free call' + (remaining === 1 ? '' : 's') + ' left this month. Upgrade to Pro at kordagencies.com to avoid interruption.';
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
response = { jsonrpc: '2.0', id: request.id, result: { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] } };`;
|
|
67
|
+
|
|
68
|
+
if (!c.includes(oldResult)) {
|
|
69
|
+
console.error('ERROR: Could not find tool call handler');
|
|
70
|
+
const idx = c.indexOf('executeTool(name');
|
|
71
|
+
console.log('executeTool at:', idx);
|
|
72
|
+
console.log('Context:', c.substring(idx - 20, idx + 150));
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
c = c.replace(oldResult, newResult);
|
|
77
|
+
|
|
78
|
+
console.log('FREE_TIER_WARNING:', c.includes('FREE_TIER_WARNING'));
|
|
79
|
+
console.log('Version 1.4.0:', c.includes('1.4.0'));
|
|
80
|
+
console.log('Partial response:', c.includes('_upgrade_note'));
|
|
81
|
+
console.log('New size:', c.length);
|
|
82
|
+
|
|
83
|
+
fs.writeFileSync('C:/vat-validator-mcp/src/server.js', c);
|
|
84
|
+
console.log('Done');
|
package/server.json
CHANGED
|
@@ -3,15 +3,24 @@
|
|
|
3
3
|
"name": "io.github.OjasKord/vat-validator-mcp",
|
|
4
4
|
"title": "VAT Validator MCP",
|
|
5
5
|
"description": "Validate EU, UK, AU VAT numbers for AI agents. EU ViDA e-invoicing compliance.",
|
|
6
|
-
"version": "1.
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
"version": "1.4.3",
|
|
7
|
+
"websiteUrl": "https://kordagencies.com",
|
|
8
|
+
"repository": {
|
|
9
|
+
"url": "https://github.com/OjasKord/vat-validator-mcp",
|
|
10
|
+
"source": "github"
|
|
11
|
+
},
|
|
12
|
+
"packages": [
|
|
13
|
+
{
|
|
14
|
+
"registryType": "npm",
|
|
15
|
+
"identifier": "vat-validator-mcp",
|
|
16
|
+
"version": "1.4.3",
|
|
17
|
+
"transport": { "type": "stdio" },
|
|
18
|
+
"environmentVariables": [
|
|
19
|
+
{ "name": "ANTHROPIC_API_KEY", "description": "Anthropic API key for AI-powered fraud risk analysis", "isRequired": true, "isSecret": true },
|
|
20
|
+
{ "name": "HMRC_CLIENT_ID", "description": "HMRC Developer Hub client ID for UK VAT validation", "isRequired": false, "isSecret": true },
|
|
21
|
+
{ "name": "HMRC_CLIENT_SECRET", "description": "HMRC Developer Hub client secret for UK VAT validation", "isRequired": false, "isSecret": true }
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
],
|
|
16
25
|
"remotes": [{ "type": "streamable-http", "url": "https://vat-validator-mcp-production.up.railway.app" }]
|
|
17
26
|
}
|
package/smithery.yaml
CHANGED
|
@@ -12,55 +12,84 @@ startCommand:
|
|
|
12
12
|
required: []
|
|
13
13
|
|
|
14
14
|
systemPrompt: |
|
|
15
|
-
VAT Validator MCP
|
|
15
|
+
VAT Validator MCP is a business identity verification and invoice fraud detection layer for AI agents.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
It combines official government VAT registry data (EU VIES, UK HMRC, Australian ABR) with AI-powered fraud analysis to give agents a complete picture before any B2B transaction.
|
|
18
|
+
|
|
19
|
+
TWO LAYERS OF INTELLIGENCE
|
|
20
|
+
|
|
21
|
+
Layer 1 - Government Registry Validation (validate_vat, validate_uk_vat, get_vat_rates, batch_validate)
|
|
22
|
+
Confirms a business is real and registered with official authorities.
|
|
23
|
+
|
|
24
|
+
Layer 2 - AI-Powered Fraud Analysis (analyse_vat_risk, compare_invoice_details)
|
|
25
|
+
Uses AI to synthesise registry data with transaction context to detect fraud signals that raw validation misses.
|
|
26
|
+
This is not a database lookup - it is intelligent analysis that catches subtle red flags.
|
|
18
27
|
|
|
19
28
|
WHEN TO USE THIS SERVER
|
|
20
29
|
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
30
|
+
Use these tools whenever your agent is about to:
|
|
31
|
+
- Onboard a new supplier, vendor, customer, or contractor
|
|
32
|
+
- Process or approve an incoming invoice
|
|
33
|
+
- Sign or draft a B2B contract
|
|
34
|
+
- Make a payment to an unfamiliar company
|
|
35
|
+
- Apply B2B tax exemptions in e-commerce
|
|
36
|
+
- Audit or enrich CRM company records
|
|
37
|
+
- Run periodic compliance checks on active counterparties
|
|
38
|
+
|
|
39
|
+
RECOMMENDED WORKFLOW FOR INVOICE PROCESSING
|
|
40
|
+
|
|
41
|
+
When your agent receives an invoice from a new or unverified supplier:
|
|
42
|
+
1. validate_vat - confirm the VAT number is real and active
|
|
43
|
+
2. compare_invoice_details - AI checks if invoice details match registry (catches impersonation fraud)
|
|
44
|
+
3. analyse_vat_risk - AI risk assessment with CLEAR/REVIEW/BLOCK recommendation
|
|
45
|
+
Only proceed with payment if recommendation is CLEAR.
|
|
46
|
+
|
|
47
|
+
RECOMMENDED WORKFLOW FOR SUPPLIER ONBOARDING
|
|
48
|
+
|
|
49
|
+
When adding a new supplier to your approved vendor list:
|
|
50
|
+
1. validate_vat - confirm registration
|
|
51
|
+
2. analyse_vat_risk - AI fraud signal check
|
|
52
|
+
3. batch_validate - periodic re-validation of all active suppliers monthly
|
|
27
53
|
|
|
28
54
|
TOOLS
|
|
29
55
|
|
|
30
56
|
validate_vat
|
|
31
|
-
-
|
|
32
|
-
- Auto-detects country from prefix
|
|
33
|
-
-
|
|
34
|
-
- Use before generating any B2B invoice
|
|
35
|
-
- Free tier: no API key needed for first 20 calls/month
|
|
57
|
+
- Validates any EU, UK, or Australian VAT number against live government registries
|
|
58
|
+
- Auto-detects country from prefix
|
|
59
|
+
- Free tier: first 20 calls/month, no API key needed
|
|
36
60
|
|
|
37
61
|
validate_uk_vat
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
- Returns company name, registered address, consultation number
|
|
41
|
-
- Free tier: no API key needed for first 20 calls/month
|
|
62
|
+
- UK-specific HMRC validation with consultation number for audit trail
|
|
63
|
+
- Free tier: first 20 calls/month, no API key needed
|
|
42
64
|
|
|
43
65
|
get_vat_rates
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
- Returns standard rate and all reduced rates
|
|
47
|
-
- Always verify with official tax authority before use
|
|
48
|
-
- Free tier: no API key needed for first 20 calls/month
|
|
66
|
+
- Current VAT rates for all 27 EU countries, UK, and Australia
|
|
67
|
+
- Free tier: first 20 calls/month, no API key needed
|
|
49
68
|
|
|
50
69
|
batch_validate
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
|
|
70
|
+
- Validate up to 10 VAT numbers in one call
|
|
71
|
+
- Use for supplier audits and onboarding batches
|
|
72
|
+
- Paid API key required
|
|
73
|
+
|
|
74
|
+
analyse_vat_risk (AI-POWERED)
|
|
75
|
+
- Call after validate_vat when you need a fraud risk assessment
|
|
76
|
+
- AI analyses registry data + transaction context for fraud signals
|
|
77
|
+
- Returns CLEAR/REVIEW/BLOCK recommendation with specific reasons
|
|
78
|
+
- Catches: name mismatches, newly registered companies, dormant status, shell company indicators
|
|
79
|
+
- Free tier: first 20 calls/month, no API key needed
|
|
80
|
+
|
|
81
|
+
compare_invoice_details (AI-POWERED)
|
|
82
|
+
- Call when processing an invoice to verify supplier details match registry records
|
|
83
|
+
- AI compares invoice name/address/VAT against official registered data
|
|
84
|
+
- Flags discrepancies that indicate fraud, impersonation, or error
|
|
85
|
+
- Returns APPROVE/REVIEW/REJECT recommendation
|
|
86
|
+
- Free tier: first 20 calls/month, no API key needed
|
|
55
87
|
|
|
56
88
|
LEGAL NOTICE
|
|
57
|
-
All results are for informational purposes only and do not constitute legal or tax advice.
|
|
89
|
+
All results are for informational purposes only and do not constitute legal or tax advice.
|
|
90
|
+
Operator must independently verify results before making compliance decisions.
|
|
91
|
+
Full terms: kordagencies.com/terms.html
|
|
58
92
|
|
|
59
93
|
FREE TIER
|
|
60
|
-
20
|
|
61
|
-
Upgrade at kordagencies.com - Pro $99/month (5,000
|
|
62
|
-
|
|
63
|
-
COUNTRY CODES
|
|
64
|
-
EU: AT BE BG CY CZ DE DK EE EL ES FI FR HR HU IE IT LT LU LV MT NL PL PT RO SE SI SK
|
|
65
|
-
UK: GB prefix
|
|
66
|
-
Australia: AU prefix or 11-digit ABN
|
|
94
|
+
20 calls/month with no API key.
|
|
95
|
+
Upgrade at kordagencies.com - Pro $99/month (5,000 calls), Enterprise $299/month (unlimited + batch).
|