Skip to main content
Glama

Supplier Payment Decision Agent (Ireland)

check_three_way_match

Checks that a purchase order, goods receipt and invoice agree on supplier, currency, amount, line items, unit prices and quantities received. Stateless; you attach the documents. Checks caller-supplied documents, not independently verified ERP records. Returns PASSED or FAILED and a reason code; no CRO/VIES lookup, signature validation or bank transfer is performed by this tool. Use decide_supplier_payment when document matching must be combined with supplier identity, VAT, payee and signature checks. Requires an explicitly approved service fee.

Input Schema

NameRequiredDescriptionDefault
requestYes3-way match PO, goods receipt and invoice: supply this structured object using the nested schema, not a JSON-encoded string.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / $defs / LineItem / properties / quantity / description
      Added value: +"Positive ordered or invoiced quantity; send an exact decimal string."
    • addedInput schema / $defs / LineItem / properties / sku / description
      Added value: +"Item identifier used consistently across invoice, PO and receipt."
    • addedInput schema / $defs / LineItem / properties / unit_price / description
      Added value: +"Nonnegative unit price in the document currency; send an exact decimal string."
    • addedInput schema / $defs / ThreeWayMatchRequest / properties / goods_receipt / description
      Added value: +"Goods receipt linked to the same PO; supply received SKU quantities and supplier CRO number."
    • addedInput schema / $defs / ThreeWayMatchRequest / properties / invoice / description
      Added value: +"Invoice document fields, including reference numbers, currency, amount, payee name and line items."
    • addedInput schema / $defs / ThreeWayMatchRequest / properties / purchase_order / description
      Added value: +"Purchase order to compare with the invoice; supply the expected supplier, currency, amount and ordered items."
    • addedInput schema / $defs / ThreeWayMatchRequest / properties / supplier_cro_number / description
      Added value: +"Expected supplier CRO number to match against the supplied PO and goods receipt; not looked up in CRO by this tool."
    • addedInput schema / properties / request / description
      Added value: +"3-way match PO, goods receipt and invoice: supply this structured object using the nested schema, not a JSON-encoded string."
  2. Changed8 schema fields changed
    • removedInput schema / $defs / LineItem / properties / quantity / description
      Removed value: -"Positive ordered or invoiced quantity; send an exact decimal string."
    • removedInput schema / $defs / LineItem / properties / sku / description
      Removed value: -"Item identifier used consistently across invoice, PO and receipt."
    • removedInput schema / $defs / LineItem / properties / unit_price / description
      Removed value: -"Nonnegative unit price in the document currency; send an exact decimal string."
    • removedInput schema / $defs / ThreeWayMatchRequest / properties / goods_receipt / description
      Removed value: -"Goods receipt linked to the same PO; supply received SKU quantities and supplier CRO number."
    • removedInput schema / $defs / ThreeWayMatchRequest / properties / invoice / description
      Removed value: -"Invoice document fields, including reference numbers, currency, amount, payee name and line items."
    • removedInput schema / $defs / ThreeWayMatchRequest / properties / purchase_order / description
      Removed value: -"Purchase order to compare with the invoice; supply the expected supplier, currency, amount and ordered items."
    • removedInput schema / $defs / ThreeWayMatchRequest / properties / supplier_cro_number / description
      Removed value: -"Expected supplier CRO number to match against the supplied PO and goods receipt; not looked up in CRO by this tool."
    • removedInput schema / properties / request / description
      Removed value: -"3-way match PO, goods receipt and invoice: supply this structured object using the nested schema, not a JSON-encoded string."
  3. Added
  4. Removed
  5. Changed8 schema fields changed
    • addedInput schema / $defs / LineItem / properties / quantity / description
      Added value: +"Positive ordered or invoiced quantity; send an exact decimal string."
    • addedInput schema / $defs / LineItem / properties / sku / description
      Added value: +"Item identifier used consistently across invoice, PO and receipt."
    • addedInput schema / $defs / LineItem / properties / unit_price / description
      Added value: +"Nonnegative unit price in the document currency; send an exact decimal string."
    • addedInput schema / $defs / ThreeWayMatchRequest / properties / goods_receipt / description
      Added value: +"Goods receipt linked to the same PO; supply received SKU quantities and supplier CRO number."
    • addedInput schema / $defs / ThreeWayMatchRequest / properties / invoice / description
      Added value: +"Invoice document fields, including reference numbers, currency, amount, payee name and line items."
    • addedInput schema / $defs / ThreeWayMatchRequest / properties / purchase_order / description
      Added value: +"Purchase order to compare with the invoice; supply the expected supplier, currency, amount and ordered items."
    • addedInput schema / $defs / ThreeWayMatchRequest / properties / supplier_cro_number / description
      Added value: +"Expected supplier CRO number to match against the supplied PO and goods receipt; not looked up in CRO by this tool."
    • addedInput schema / properties / request / description
      Added value: +"3-way match PO, goods receipt and invoice: supply this structured object using the nested schema, not a JSON-encoded string."
  6. Added

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: statelessness, that it operates on caller-supplied documents rather than ERP records, the return contract (PASSED/FAILED plus reason code), and explicit exclusions (no CRO/VIES lookup, no signature validation, no bank transfer). This is exactly the behavioral context an agent needs before invoking.

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 core comparison, then layered with scope exclusions and routing guidance; every sentence adds distinct value and none is redundant. It is dense but not padded, stopping just short of the tightest possible phrasing.

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

Completeness5/5

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

Despite no output schema, the description states the return shape (PASSED/FAILED plus reason code) and clearly bounds scope (no CRO/VIES, no signature validation, no transfer) and preconditions (approved fee). Enough for an agent to invoke correctly without further clarification.

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

Parameters3/5

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

Schema description coverage is 100% and the single nested request parameter is fully documented in the schema, including per-field descriptions for supplier_cro_number, invoice, PO and goods receipt. The description adds only the general framing that the caller attaches the documents and that the CRO number is not looked up, so the baseline 3 is appropriate.

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 (checks) and resource (PO, goods receipt, invoice) and enumerates exactly what is compared: supplier, currency, amount, line items, unit prices, quantities received. It also names the sibling decide_supplier_payment, so the agent can distinguish it without opening any schema.

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

Usage Guidelines5/5

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

Explicitly routes to decide_supplier_payment 'when document matching must be combined with supplier identity, VAT, payee and signature checks,' giving a concrete selection condition. It also states the operational precondition that an explicitly approved service fee is required.

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