Guides · API

Supplier invoice check API

Use before an agent pays a supplier invoice: supplier in official registers; company, directors, owners and parents screened (EU, UN, UK, US sanctions, PEP); VAT match; IBAN valid, same country, on the Polish whitelist; sender email; Dutch bankruptcy; Peppol. With known_iban, a different bank account than the one on file puts it on hold. Verdict: pass, review or hold.

0.08 USDC per call · GET /v1/invoice/check · free preview at /v1/invoice/check/preview

Parameters

NameRequiredDescription
namenoSupplier company name as on the invoice, e.g. Colruyt Group
idnoOr the supplier's company number (LEI, UK company number, SIREN, Polish NIP, ...)
countrynoSupplier's ISO country, e.g. BE, NL, GB, PL
vatnoSupplier VAT number on the invoice: checked in VIES and matched to the registered name
ibannoIBAN the invoice asks you to pay
emailnoEmail address the invoice came from
domainnoOptional supplier website, compared with the sender's email domain
kvknoOptional Dutch KvK number: adds a bankruptcy check
known_ibannoOptional: the supplier's IBAN in your vendor master. If the invoice asks for a different account the verdict is hold (changed bank details, the most common invoice fraud)

Example request

curl "https://factline.dev/v1/invoice/check?id=7740001454&country=PL&vat=PL7740001454&iban=PL62102010260000190206882106"
# 402 Payment Required: pay with an x402 client (USDC on Base or Solana), or send
# Authorization: Bearer <your Factline API key>

Example response

{
  "verdict": "pass",
  "flags": [],
  "notes": [
    "IBAN is registered to this company on the Polish VAT whitelist"
  ],
  "supplier": {
    "name": "ORLEN SPÓŁKA AKCYJNA",
    "status": "active",
    "country": "PL",
    "registry": "Polish VAT taxpayer register (Biala lista, Ministry of Finance)",
    "registry_id": "7740001454",
    "lei": null,
    "legal_form": null,
    "address": "CHEMIKÓW 7, 09-411 PŁOCK",
    "incorporated": "1993-07-05",
    "vat_status": "active VAT payer",
    "bank_accounts": [
      "PL09102010260000110207607072",
      "PL28102010260000140207626759"
    ]
  },
  "bank": {
    "iban": "PL62 1020 1026 0000 1902 0688 2106",
    "valid": true,
    "country": "PL",
    "reasons": [],
    "sepa": true
  },
  "sender_email": "not sent (send email)",
  "einvoicing": {
    "on_peppol": false,
    "can_receive_invoices": false,
    "participant_ids": [],
    "accepts": []
  },
  "group": {
    "direct_parent": null,
    "ultimate_parent": null,
    "direct_parent_note": "no LEI found for this company, so no parent data",
    "ultimate_parent_note": null,
    "lei": null,
    "source": "GLEIF Level 2 relationship data (CC0)"
  },
  "people": "not published openly by this register",
  "checks": {
    "register": {
      "status": "ok",
      "source": "wl-api.mf.gov.pl"
    },
    "sanctions": {
      "status": "ok",
      "result": {
        "query": {
          "name": "ORLEN SPÓŁKA AKCYJNA",
          "type": "entity",
          "birth_year": null,
          "threshold": 85
        },
        "possible_match": false,
        "matches": [],
        "list": {
          "sources": [
            {
              "list": "EU",
              "name": "EU consolidated financial sanctions list (European Commission)",
              "dated": "2026-09-22"
            },
            {
              "list": "UN",
              "name": "UN Security Council consolidated sanctions list",
              "dated": "2026-10-10"
            },
            {
              "list": "UK",
              "name": "UK Sanctions List (FCDO/OFSI)",
              "dated": "08/10/2026"
            },
            {
              "list": "US",
              "name": "US OFAC Specially Designated Nationals (SDN) list",
              "dated": "OFAC SDN"
            }
          ],
          "entities": 25681,
          "loaded_at": "2026-10-12T00:20:52.400Z"
        },
   
  ...

Use it from an AI agent

Agents with an x402 wallet call the URL directly and pay per request. Assistants that speak MCP connect to https://factline.dev/mcp. Full reference: docs, OpenAPI, llms.txt. Businesses: API keys with a free trial.

Questions

How much does the Supplier invoice check cost?

0.08 USDC per call, paid per request with x402 (no account), or included in a Factline API key plan with a free trial. Calls that fail are not charged.

Can I try it for free?

Yes: GET /v1/invoice/check/preview with the same parameters validates your input and shows what the paid answer contains, at no cost.

Where does the data come from?

Official public registers and open data, named with their licence in every response (source field) and at /.well-known/x402-license-provenance.

Related checks

Dutch address report API · Compare Dutch addresses API · Dutch neighbourhood statistics API · Dutch address verification API · Reverse geocoding API for the Netherlands · Dutch energy label API