Skip to main content
Glama

Reconcile B2B Wholesale Net-15/30/60 Deposits & Credit Notes

revclamp_reconcile_b2b_net_terms
Read-onlyIdempotent

Reconcile B2B wholesale Net-15, Net-30, and Net-60 invoice deposits, partial payments, and credit notes using exact integer minor-unit (EUR/USD cent) arithmetic with zero IEEE-754 floating-point drift. Executes as a pure, stateless, read-only financial reconciliation function. Returns structuredContent containing ok, mode, statelessEphemeralAudit, tenantId, and reconciliation (state, status, fulfillmentHold, releaseHoldAction, requiredDepositCents, remainingBalanceCents, creditDueCents, overpaidWarning, orderTag). Use this tool for B2B wholesale order deposit gating and Net-terms balance calculation; use revclamp_validate_eu_vat_vies for cross-border EU VAT number validation.

Input Schema

NameRequiredDescriptionDefault
demoNoOptional sandbox flag (boolean).
orderIdNoB2B wholesale order or invoice identifier (e.g. 'gid://shopify/Order/908812' or 'ORD-2026-9088', default: 'ord_local_b2b_01', max 64 chars).
toleranceCentsNoOptional rounding/FX reconciliation tolerance in integer cents (valid range: 0 to min(500, 1% of totalOrderCents), default: 0).
creditNoteCentsNoOptional post-invoice credit notes or return adjustments in integer cents (valid range: 0 to totalOrderCents, default: 0; singular alias for creditNotesCents).
orderTotalCentsNoAlias for totalOrderCents: gross invoice total in positive integer minor currency units / cents (must be > 0).
paidAmountCentsYesRequired cumulative amount collected from the buyer in non-negative integer cents (e.g. 75000 for 750.00 EUR; must be >= 0).
totalOrderCentsNoGross invoice total in positive integer minor currency units / cents (e.g. 250000 for 2,500.00 EUR; must be > 0).
creditNotesCentsNoOptional post-invoice credit notes or return adjustments in integer cents (valid range: 0 to totalOrderCents, default: 0; plural alias for creditNoteCents).
paymentTermsDaysNoOptional B2B net payment terms maturity window in integer days (allowed values: 15, 30, or 60 for Net-15, Net-30, or Net-60; default: 30).
requiredDepositCentsNoOptional explicit upfront deposit threshold in integer cents (valid range: 0 to effectiveTotalCents). Overrides requiredDepositPercent when provided.
requiredDepositPercentNoOptional upfront deposit percentage required before releasing warehouse fulfillment hold (valid range: 0 to 100, default: 30 i.e. 30% upfront deposit).
daysElapsedSinceInvoiceNoOptional elapsed integer days since invoice issuance (valid range: 0 to 3650, default: 5).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the description only needs to add context. It does add substantive behavior beyond annotations: pure stateless execution, exact integer minor-unit arithmetic with no floating-point drift, and the enumerated return fields in structuredContent. Gaps remain around alias precedence (orderTotalCents vs totalOrderCents, creditNoteCents vs creditNotesCents) and how tolerance interacts with the deposit threshold, which are behavioral ambiguities an agent would want disclosed.

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?

Three front-loaded sentences with the purpose first and the alternative last; the long parenthetical return-field list is dense but functional since there is no output schema. Minor redundancy in restating read-only, which annotations already cover.

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 12-parameter financial tool with an output schema absent, the description supplies purpose, usage routing, arithmetic semantics, and the return-shape field list, which is most of what an agent needs. The alias-precedence and tolerance-deposit interaction remain undocumented, keeping it just short of complete.

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%, with defaults, ranges, enums, and examples given for every one of the 12 parameters, so the schema does the heavy lifting and the baseline is 3. The description adds no parameter-level meaning beyond what the schema already states.

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?

Names a specific verb (reconcile) and resource (B2B wholesale Net-15/30/60 invoice deposits, partial payments, credit notes) plus the arithmetic guarantee. It explicitly names a sibling (revclamp_validate_eu_vat_vies) as the tool for a different job, 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?

States the exact scenario it is for (B2B wholesale order deposit gating and Net-terms balance calculation) and routes EU VAT validation to a named sibling. It does not cover the other six siblings or describe when not to use it, so it falls short of full when/when-not/alternatives coverage.

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.