Skip to main content
Glama

Factline KYC, KYB and agent payments

Check a supplier invoice before paying, incl. changed bank details (paid)

supplier_invoice_check
Read-onlyIdempotent

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. Costs 0.08 USDC via x402, or 40 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.

Input Schema

NameRequiredDescriptionDefault
idNoOr the supplier's company number
kvkNoDutch KvK number: adds a bankruptcy check
vatNoVAT number on the invoice
ibanNoIBAN the invoice asks you to pay
nameNoSupplier company name, e.g. Colruyt Group
emailNoEmail address the invoice came from
domainNoSupplier website
api_keyNoFactline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed
countryNoSupplier's ISO country, e.g. BE, NL, GB, PL
known_ibanNoThe supplier's IBAN in your vendor master: a different IBAN on the invoice puts it on hold (changed bank details)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / known_iban
      Added value: +{
      +  "description": "The supplier's IBAN in your vendor master: a different IBAN on the invoice puts it on hold (changed bank details)",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive, open-world behavior, and the description adds what the annotations cannot: the verdict taxonomy (pass/review/hold), the hold-on-mismatched-IBAN rule, and pricing mechanics (0.08 USDC via x402, 40 credits, 5 free calls/day, no key needed). It doesn't discuss latency, failure modes, or what evidence accompanies a 'review' verdict, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the use case and verdict framing, and every sentence carries operational information (checks performed, hold rule, cost model). The mid-section is a dense semicolon list that reads as a run-on, which costs it a point but not much is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, all-optional, no-output-schema tool, the description covers the checks and the verdict classes but leaves open what an agent must supply for a useful result and what payload accompanies each verdict. The hold/pass/review model is stated but not elaborated, so an agent cannot fully anticipate the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline would be 3, but the description adds real semantics beyond the schema: kvk 'adds a bankruptcy check', known_iban triggers a hold on changed bank details, and api_key is tied to get_trial_key for immediate reuse. It stops short of stating which parameters are minimally required for a meaningful verdict.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('check a supplier invoice before paying') and then enumerates the concrete sub-checks performed: registers, sanctions/PEP screening, VAT match, IBAN validity, whitelist, email, bankruptcy, Peppol. This clearly differentiates it from single-purpose siblings like iban_check or eu_sanctions_screen by signaling it is a bundled pre-payment fraud check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the trigger: 'Use before an agent pays a supplier invoice', and adds a conditional rule for known_iban ('a different bank account than the one on file puts it on hold'). It does not tell the agent when to prefer the cheaper single-check siblings over this composite, but the decision context is otherwise clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources