Skip to main content
Glama
Beeswax Shares MCP Server

Beeswax Shares MCP Server

by steamau

Match ATO payment

match_ato_payment

Match ATO payments or refunds to bank transactions and manage reconciliation: propose matches, confirm agreed rows, ignore proposals, or undo a match.

Instructions

Settle which bank row paid an ATO payment (or received an ATO refund). match_action: "find" proposes bank rows for every unmatched ATO payment and refund in the fund (same amount, within 5 days, PRN preferred; when no single row fits, several rows of one day or one unique combination that add up to it, e.g. seven BPAYs paid as one ATO payment); "confirm" accepts the proposed row(s), or the cash_transaction_id you give (the amount must be equal), or cash_transaction_ids for several rows that together add up exactly to the ATO line, marking both sides matched; "ignore" rejects the proposal; "unmatch" undoes a match or an ignore. Confirm only what the user has agreed or what you have checked against the bank statement.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "fund_id": "<fund_id>",
      "ato_account_id": "<ato_account_id>",
      "match_action": "<match_action>"
    },
    "name": "match_ato_payment"
  }
}

Input Schema

NameRequiredDescriptionDefault
fund_idYesFund ID (discover via whoami or list_funds)
reasoningNoWhy you are making this change — recorded on the audit log entry for this write
external_refNoYour stable ID for this write (e.g. a statement line or document reference). Repeating a call with the same external_ref replays the first result instead of writing twice.
match_actionYes
ato_account_idYesATO account ID (find via list_ato_accounts)
ato_transaction_idNoAlpha's id for the ATO payment or refund line (required except for find)
cash_transaction_idNoFor confirm: the bank row, when it isn't the proposed one
cash_transaction_idsNoFor confirm: several bank rows that together paid this ATO line (their amounts must add up to it)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.14.0
    • addedInput schema / properties / cash_transaction_ids
      Added value: +{
      +  "description": "For confirm: several bank rows that together paid this ATO line (their amounts must add up to it)",
      +  "items": {
      +    "exclusiveMinimum": 0,
      +    "type": "integer"
      +  },
      +  "minItems": 2,
      +  "type": "array"
      +}
  2. Addedv1.8.1

TDQS

A4.3/5.0
Behavior4/5

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

Goes well beyond the annotations: it discloses the matching heuristic (same amount, within 5 days, PRN preferred, multi-row and combination fallbacks), that confirm marks both sides matched, that unmatch reverses a match or an ignore, and that confirming a supplied id requires an equal amount. It does not mention permission prerequisites or what happens on conflicting prior matches, which keeps it off 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 purpose, then the per-action semantics in a logical order; the parenthesised multi-row examples earn their space. The single dense paragraph with nested quoting is harder to scan than a short list would be, but there is little filler.

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?

With no output schema, the description still conveys what "find" yields (proposed bank rows per unmatched ATO payment/refund) and what each write action changes on both sides, which is enough to call it correctly. It could be firmer about the exact response shape for find/confirm, but the behavioural essentials are present.

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 88%, so the baseline is 3; the description still adds meaning by explaining that cash_transaction_id is used "when it isn't the proposed one" and that cash_transaction_ids must "add up exactly" to the ATO line, plus which parameters apply per action. It adds no guidance on external_ref idempotency or the reasoning field, which the schema already covers.

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?

"Settle which bank row paid an ATO payment (or received an ATO refund)" names a specific verb and resource plus the refund counterpart, and the action enumeration (find/confirm/ignore/unmatch) clearly separates it from siblings such as update_ato_transaction or reconcile_cash_transaction.

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?

The description gives concrete operating guidance per action and a real guardrail: "Confirm only what the user has agreed or what you have checked against the bank statement." It stops short of naming alternatives (e.g. when to use reconcile_cash_transaction instead, or that list_ato_transactions should precede a find), so exclusions are implied rather than stated.

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

Deploy Server

Other Tools