Czech Unreliable VAT Payer Check
Check a Czech VAT number's unreliable-payer flag and published bank accounts in the Ministry of Finance records.
cz-unreliable-vat-payer Example
{
"dic": "00177041",
"input_dic": "00177041",
"published_accounts": [
{
"bank_code": null,
"is_standard": false,
"published_at": "2013-04-01",
"account_number": "DE67269410530689050300"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2013-04-01",
"account_number": "GB86MIDL40025051315439"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2013-04-01",
"account_number": "DE02502109001215824019"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2013-04-01",
"account_number": "PL32103015080000000815365003"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2013-04-01",
"account_number": "NO0460050583913"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2013-04-01",
"account_number": "SE1230000000031441710744"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2013-04-01",
"account_number": "DE30514107004058012218"
},
{
"bank_code": "2700",
"is_standard": true,
"published_at": "2013-04-05",
"account_number": "2101983244"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2013-12-20",
"account_number": "CH0508836120399100006"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2015-06-18",
"account_number": "DE88269410530689050310"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2019-02-08",
"account_number": "0101968892"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2019-03-21",
"account_number": "DE20512106004270708318"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2020-03-14",
"account_number": "6161403594"
},
{
"bank_code": null,
"is_standard": false,
"published_at": "2020-07-08",
"account_number": "BE90001833662132"
},
{
"bank_code": "2700",
"is_standard": true,
"published_at": "2020-07-08",
"account_number": "1387698195"
},
{
"bank_code": "2700",
"is_standard": true,
"published_at": "2026-03-19",
"account_number": "1000053254"
}
],
"is_unreliable_payer": false,
"joint_liability_risk": "LOW: Payer is reliable. Pay only to one of the published accounts to avoid §109 joint liability.",
"financial_office_code": "13",
"response_generated_at": "2026-04-30",
"is_registered_vat_payer": true,
"published_account_count": 16
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
dic | string | Yes | Czech DIČ (CZ + 8-10 digits) or bare IČO (8 digits) |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
dic | string | Always (present in every successful answer) |
input_dic | string | Always (present in every successful answer) |
published_accounts | array | Always (present in every successful answer) |
is_unreliable_payer | boolean | Always (present in every successful answer) |
joint_liability_risk | string | Always (present in every successful answer) |
financial_office_code | string | Always (present in every successful answer) |
response_generated_at | string | Always (present in every successful answer) |
is_registered_vat_payer | boolean | Always (present in every successful answer) |
published_account_count | integer | Always (present in every successful answer) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "cz-unreliable-vat-payer",
"inputs": {
"dic": "CZ00177041"
},
"max_price_cents": 5
}' {
"tool": "strale_execute",
"arguments": {
"slug": "cz-unreliable-vat-payer",
"inputs": {
"dic": "CZ00177041"
},
"max_price_cents": 5
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "cz-unreliable-vat-payer",
inputs: {
"dic": "CZ00177041"
},
max_price_cents: 5,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="cz-unreliable-vat-payer",
inputs={
"dic": "CZ00177041",
},
max_price_cents=5,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i -X POST https://api.strale.io/x402/v2/cz-unreliable-vat-payer \
-H 'Content-Type: application/json' \
-d '{
"dic": "CZ00177041"
}' Limitations
DIČ must be syntactically valid — does not resolve IČO→DIČ automatically
Input is treated as DIČ (with or without CZ prefix). Natural-person DIČs may be 9-10 digits (based on rodné číslo) and are not derivable from IČO alone.
What to do instead: For legal entities, use the 8-digit IČO; the service accepts bare digits.
Not a liveness check on the bank account
Published accounts are what the VAT payer registered with MF ČR. The service does not confirm the account is currently open or held by the named bank.
Status snapshot only — history not returned
The check returns the current unreliable-payer flag as of the response_generated_at date. Historical changes (when the flag was set/cleared) are not exposed.
Related tools
- Adverse Media Check €0.20
- AML Risk Score €0.02
- Breach Exposure Check €0.05
- EU Regulation Search €0.30
- French BODACC Announcements €0.05
- French Insolvency Check €0.08