Skip to main content
Glama

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
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.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), yet the description adds genuinely non-structured behavior: the three-level verdict (pass/review/hold), the fact that a mismatched IBAN against known_iban triggers a hold, and the cost/payment mechanics (0.08 USDC via x402, 40 credits, first 5 paid calls per day free). It stops short of saying how much evidence accompanies a verdict or how long a call takes.

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?

The invocation trigger is front-loaded and the semicolon-separated check list packs a lot of substance into a few lines with no filler. It is dense to the point of being a fragment run-on, which costs some readability, but no clause is redundant.

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

Completeness4/5

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

For a 9-parameter, zero-required screening tool with no output schema, the description covers the key unknowns: what is checked, what a verdict means at a coarse level, and the commercial terms. What it leaves out is the shape of the returned evidence (per-check results, reasons for a review/hold) which an agent would need to interpret output without an output schema.

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 the baseline is 3, but the description earns more by mapping parameters to checks that are not obvious from the schema: kvk implies the bankruptcy check, IBAN implies valid/same-country/Polish-whitelist checks, email implies sender-email verification, and known_iban implies the changed-bank-details hold. It still does not explain which parameters are needed to reach a verdict versus merely enrich it.

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?

The description states a specific verb and resource ('Check a supplier invoice before paying') and then enumerates exactly what is bundled: register lookup, sanctions/PEP screening, VAT match, IBAN validity and whitelist, sender email, Dutch bankruptcy, Peppol. That composite scope is what separates it from single-purpose siblings like eu_sanctions_screen, eu_vat_check or iban_check, so an agent can distinguish it without opening the schema.

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?

'Use before an agent pays a supplier invoice' is an explicit and actionable trigger, and the known_iban note tells the agent when that parameter changes the outcome. However, no sibling is named as an alternative or complement for narrower needs (e.g. when only a sanctions screen is required), so routing depends on the agent inferring overlap from the check list.

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