Czech Unreliable VAT Payer Check

Check a Czech VAT number's unreliable-payer flag and published bank accounts in the Ministry of Finance records.

Pay by wallet (x402) cz-unreliable-vat-payer

Example

Example answer
{
  "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

FieldTypeRequiredWhat it is
dicstringYesCzech DIČ (CZ + 8-10 digits) or bare IČO (8 digits)

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
dicstringAlways (present in every successful answer)
input_dicstringAlways (present in every successful answer)
published_accountsarrayAlways (present in every successful answer)
is_unreliable_payerbooleanAlways (present in every successful answer)
joint_liability_riskstringAlways (present in every successful answer)
financial_office_codestringAlways (present in every successful answer)
response_generated_atstringAlways (present in every successful answer)
is_registered_vat_payerbooleanAlways (present in every successful answer)
published_account_countintegerAlways (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
  }'

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.