Skip to main content
Glama

Calculate Invoice Due Date

calculate_invoice_due_date
Read-onlyIdempotent

Work out an invoice due date from its payment terms (due on receipt, Net 7/10/14/15/30/45/60/90, EOM, Net 30 EOM, or a custom number of days), and the date the cash actually lands after a late payment and the payment method clearing time (card 0, wire 1, ACH 2, check 7 business days). Weekend dates roll to Monday by default. Same math as revexos.com/invoice-due-date-calculator.

Input Schema

NameRequiredDescriptionDefault
termsYes
days_lateNoHow many days after the due date the client usually pays. Default 0.
custom_daysNocustom terms: days after the invoice date.
invoice_dateYesInvoice date, YYYY-MM-DD.
roll_weekendsNoMove weekend dates to Monday. Default true.
payment_methodNoDefault ach.

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, and non-destructive, so the safety profile is covered. The description adds real behavior beyond that: weekend dates roll to Monday by default, terms like EOM and Net 30 EOM are handled, and it reveals the two-part output (due date plus actual cash-landing date). It doesn't state the exact return shape, which is a minor gap given no output schema.

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?

A single dense sentence, but it is front-loaded with the core operation and then layers in the modifiers. Every clause carries information. The run-on structure makes it slightly harder to scan than a short bulleted form would, keeping it below a 5.

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 carries the return burden, and it does identify the two useful results (due date and cash-landing date). Defaults for roll_weekends and payment_method are stated, and the custom_days linkage to terms='custom' is at least implied by the schema. The precise output field names are not given, a small omission for a tool of this complexity.

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 description coverage is 83%, so the schema baseline is already 3. The description nonetheless adds meaning the schema lacks, notably the clearing-time mapping for each payment method (card 0, wire 1, ACH 2, check 7 business days) versus the schema's bare 'Default ach.' It also expands the terse enum values (receipt, net30eom) into plain English.

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 names a specific verb+resource ('work out an invoice due date') and then enumerates the exact domain it covers: payment terms, late-payment cash landing, and payment-method clearing windows. It clearly separates this pure-calculation tool from siblings like calculate_late_payment_interest or calculate_proration. An agent can tell immediately what computation this performs.

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

Usage Guidelines3/5

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

Usage is implied by the input domain (you have an invoice date and terms; you want a due date), but there is no explicit when-to-use, when-not-to-use, or named alternative among the seven sibling finance tools. It never says, for example, to use calculate_late_payment_interest instead when interest rather than a date is needed. Adequate but leaves routing to inference.

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