Skip to main content
Glama

Red by Big Red Cloud

Create Cash Receipt

brc_create_cash_receipt
Destructive

Creates a BRC cash receipt. Accepts either a raw payload object or common flat fields. Customer-ledger receipts require both customerId and acCode resolved for the same customer; neither field alone is sufficient. Analysed receipts may instead supply an analysis allocation without a customer. entryDate defaults to today; procDate defaults to entryDate. The preview shows these resolved dates; carry them into the confirmation call to preserve them if confirming on a later day. VAT rate fields are only sent when the company's VAT on Cash Receipt setting is enabled. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
totalNo
acCodeNoResolved customer account code. Customer-ledger receipts also require customerId for the same customer; analysed receipts can omit both.
ledgerNo
detailsNo
payloadNoRaw cash-receipt fields. Customer-ledger mode requires both customerId and acCode for the same resolved customer; analysed mode uses analysis allocation instead.
discountNo
procDateNoProcessing date; defaults to entryDate and is shown in the preview.
totalNetNo
totalVATNo
totalVatNo
acEntriesNo
entryDateNoEntry date; defaults to today and is shown in the preview.
referenceNoCash receipts do not support reference in the documented BRC API. Use detailCollection for audit or bank-reference text.
vatRateIdNo
vatTypeIdNo
customerIdNoResolved customer id. Customer-ledger receipts also require acCode for the same customer; analysed receipts can omit both.
percentageNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
vatEntriesNo
accountCodeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionNo
unallocatedNo
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
customFieldsNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageNo
bookTranTypeIdNo
detailCollectionNo
analysisCategoryIdNo
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / acCode / description
      Added value: +"Resolved customer account code. Customer-ledger receipts also require customerId for the same customer; analysed receipts can omit both."
    • addedInput schema / properties / customerId / description
      Added value: +"Resolved customer id. Customer-ledger receipts also require acCode for the same customer; analysed receipts can omit both."
    • addedInput schema / properties / detailCollection / items / type
      Added value: +"string"
    • addedInput schema / properties / entryDate / description
      Added value: +"Entry date; defaults to today and is shown in the preview."
    • addedInput schema / properties / payload / description
      Added value: +"Raw cash-receipt fields. Customer-ledger mode requires both customerId and acCode for the same resolved customer; analysed mode uses analysis allocation instead."
    • addedInput schema / properties / procDate / description
      Added value: +"Processing date; defaults to entryDate and is shown in the preview."
    • addedInput schema / properties / reference / description
      Added value: +"Cash receipts do not support reference in the documented BRC API. Use detailCollection for audit or bank-reference text."
  2. Changed2 schema fields changed
    • addedInput schema / properties / routeToken
      Added value: +{
      +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "companyName"
      -]New value: +[
      +  "companyName",
      +  "routeToken"
      +]
  3. Changed2 schema fields changed
    • removedInput schema / properties / routeToken
      Removed value: -{
      -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
      -  "minLength": 1,
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "companyName",
      -  "routeToken"
      -]New value: +[
      +  "companyName"
      +]
  4. Changed2 schema fields changed
    • addedInput schema / properties / routeToken
      Added value: +{
      +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "companyName"
      -]New value: +[
      +  "companyName",
      +  "routeToken"
      +]
  5. First observed

TDQS

A4.2/5.0
Behavior5/5

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

With annotations declaring destructiveHint=true and readOnlyHint=false, the description adds substantially more: the mandatory two-step preview-then-confirm flow, the routeToken requirement and that placeholder tokens are invalid, that a token does not bypass preview or explicit confirmation, that passing preflight is not confirmation, and that VAT rate fields are only sent when the company setting is enabled. These are exactly the behaviors an agent needs and cannot infer from annotations.

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?

Dense but front-loaded: it opens with the one-line purpose, then groups mode/field rules, date defaults, token rules, and the confirmation protocol. Every sentence carries a constraint rather than filler. Slightly dense for a single paragraph, but nothing is padded.

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 32-parameter destructive mutation with no output schema, the description covers the workflow, token lifecycle, counterparty-switch scope, and mode-specific field requirements. The remaining gap is the large set of undocumented value fields, but an agent can still call the tool correctly and safely with what is provided.

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 only 34% across 32 parameters, so the description must carry the burden, and it does so for the highest-risk fields: the customerId/acCode pairing rule, entryDate defaulting to today, procDate defaulting to entryDate, and the meaning of routeToken, confirmWrite, and confirmCounterpartyExplicit. Many plain numeric/collection fields (total, ledger, discount, acEntries, vatEntries, customFields) remain undocumented in both places, which keeps this from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Creates a BRC cash receipt") and distinguishes the two operating modes (customer-ledger vs analysed), which is the key branch an agent must resolve. It doesn't explicitly contrast with the obvious siblings (brc_create_cash_payment, brc_batch_cash_receipts), but the resource is unambiguous enough that an agent can select it without opening other schemas.

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?

Gives concrete conditional guidance: customer-ledger receipts require both customerId and acCode for the same customer, analysed receipts may instead supply an analysis allocation. The confirmWrite / confirmCounterpartyExplicit workflow conditions are spelled out clearly. It stops short of naming alternative tools (e.g. batch receipts) for when not to use this one, so it isn't a 5.

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.