EU VAT (VIES) + Polish White List Counterparty Check
Pricing
from $5.00 / 1,000 company checkeds
EU VAT (VIES) + Polish White List Counterparty Check
Bulk-verify suppliers & customers: EU VAT validity (VIES), Polish VAT status and bank account on the Ministry of Finance white list (Biała lista), plus LEI. Official APIs only - no scraping, clear ok/warning/fail verdict per company.
Pricing
from $5.00 / 1,000 company checkeds
Rating
0.0
(0)
Developer
EU Data Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Security
Limited permissionsShare
Bulk-verify suppliers and customers before you invoice or pay them. For each company you get a clear ok / warning / fail verdict with reasons, based only on official government APIs:
| Check | Source | Why it matters |
|---|---|---|
| EU VAT number valid for intra-EU supplies | European Commission VIES | 0% VAT intra-community supplies require a valid VIES number |
Polish VAT status (Czynny / Zwolniony / not registered) | Ministry of Finance Biała lista (white list) | Deducting VAT from invoices of unregistered taxpayers is risky |
| Is the bank account on the white list for this NIP? | Ministry of Finance white list | Paying > 15,000 PLN to an account not on the list means losing the tax-deductible cost and joint VAT liability (unless reported, ZAW-NR) |
| LEI (Legal Entity Identifier) | GLEIF | KYB / compliance, matching legal entities |
No scraping, no proxies, no logins. Runs in seconds for hundreds of companies.
Input
- VAT numbers / NIPs -
PL5260250995,526-025-09-95,DE811115368,FR40303265045... (numbers without a prefix use the default country, PL by default). Paste straight from Excel/ERP: labels likeNIP:/VAT ID, quotes, and several numbers in one cell separated by commas or semicolons are handled; duplicates are checked (and charged) once. - NIP + bank account pairs - accounts are matched against the white list (incl. virtual collection accounts via the dedicated MF endpoint):
{"accountChecks": [{"vatNumber": "5260250995", "bankAccounts": ["58 1030 1508 0000 0005 0313 1332"]}]}
- Check date - verify the state on a historical date (white list keeps history), e.g. the payment date.
Output (one row per company)
{"input": "PL5260250995","verdict": "ok","companyName": "ORANGE POLSKA SPÓŁKA AKCYJNA","viesStatus": "valid","plVatStatus": "Czynny","accountsOnWhitelist": "1/1","leiCode": "259400TOMPUOLS65II22","whitelistRequestId": "...","problems": [],"warnings": [],"vies": {"status": "valid", "name": "ORANGE POLSKA SPÓŁKA AKCYJNA", "address": "..."},"whitelist": {"status": "found", "vatStatus": "Czynny", "regon": "012100784", "krs": "0000010681","bankAccounts": ["58103015080000000503131332", "..."], "requestId": "..."},"accountChecks": [{"account": "58103015080000000503131332", "status": "assigned", "requestId": "..."}],"lei": {"status": "found", "lei": "259400TOMPUOLS65II22", "entityStatus": "ACTIVE"}}
The flat columns (companyName ... whitelistRequestId) make the CSV/Excel export readable
without unpacking nested objects; the nested vies / whitelist / lei objects keep full details.
requestId is the identifier issued by the Ministry of Finance - keep it as proof that the
check was performed (useful in a tax audit).
Built-in validation catches typos before calling any API (and you are not charged for them):
Polish NIP checksum, NRB/IBAN mod-97 checksum and the VAT number format of every EU member state
(e.g. DE + 9 digits, NL + 9 digits + B + 2 digits, AT + U + 8 digits).
Verdicts explained
| Verdict | Meaning | Examples |
|---|---|---|
ok | All requested checks passed | VIES valid, Czynny VAT payer, every account on the white list |
warning | Could not be confirmed right now - re-run later | VIES down for a member state, white list rate limit |
fail | A real problem was found - see problems | VAT number inactive in VIES, NIP not a VAT payer, bank account not on the white list, bad NRB checksum |
error | Input rejected locally, not charged | invalid NIP checksum, unsupported country code |
Run it from code (API, Make, Zapier, n8n)
curl -X POST "https://api.apify.com/v2/acts/quintuple_verve~eu-pl-counterparty-check/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"vatNumbers": ["PL5260250995", "DE811115368"], "checkDate": "2026-11-01"}'
The response is the JSON array of result rows shown above - filter on verdict != "ok" to get
the list of counterparties that need attention.
Monitor mode: get alerted when a vendor changes
Set Monitor name (e.g. suppliers) and schedule the actor (monthly or before every payment
run). Each row then contains changes since the previous run with the same name, for example:
"changes": ["Polish VAT status: Czynny -> Zwolniony","bank account 58103015080000000503131332 removed from the white list"],"previousCheckDate": "2026-10-01"
Temporary API outages never produce false alerts - the last known value is kept. Filter the
dataset on non-empty changes and send it to e-mail/Slack with an Apify integration.
Typical uses
- Accounts payable: check every supplier account before a payment run (export from your ERP, paste the list, download CSV/Excel).
- Onboarding new B2B customers / suppliers (KYB).
- Periodic re-verification of your whole vendor master data (schedule the actor monthly).
- Automations: call it from Make, Zapier, n8n or via the Apify API.
Pricing
Pay per checked company: $0.005 per company ($5 per 1,000), plus Apify's tiny actor-start fee. Invalid inputs that fail local validation are free.
FAQ
Can I check a Polish NIP without the PL prefix? Yes - bare NIPs (with or without dashes)
use the default country (PL).
Can I check a non-Polish company? Yes - any EU VAT number is checked in VIES (and GLEIF for LEI). The white list and bank account checks apply to Polish NIPs only.
Can I prove the check later? Keep the requestId values from the white list - the Ministry
of Finance can confirm the query by that identifier.
Can I check on the payment date instead of today? Set checkDate (YYYY-MM-DD); the white
list keeps history.
Po polsku: weryfikacja kontrahenta - biała lista VAT i VIES
Masowe sprawdzanie kontrahentów przed płatnością lub wystawieniem faktury: status VAT na
białej liście podatników VAT (Czynny / Zwolniony / niezarejestrowany), czy rachunek bankowy
jest na białej liście dla danego NIP (także rachunki wirtualne), numer VAT UE w VIES
(transakcje wewnątrzwspólnotowe) i LEI. Wklej listę NIP-ów z ERP, pobierz wynik jako CSV/Excel.
Zachowaj requestId (identyfikator zapytania z MF) jako dowód weryfikacji przy płatnościach
powyżej 15 000 zł. Tylko oficjalne API Ministerstwa Finansów, KE i GLEIF.
Notes & limits
- VIES depends on national systems; when a member state is down, the result is a
warning("VIES temporarily unavailable") rather than a false "invalid". - The white list API has rate limits; the actor batches up to 30 NIPs per request and paces calls.
- Personal data minimisation (GDPR): names/PESEL of representatives, partners and proxies returned by the white list are not stored in the output.
- This tool provides information from public registers; it is not tax or legal advice.