Skip to main content
Glama

Red by Big Red Cloud

Create Sales Entry

brc_create_sales_entry
Destructive

Creates one BRC sales entry with positive, zero or negative net values and multiple VAT lines. Legacy single-VAT fields remain supported. Zero entries may omit analysis and VAT allocations. 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.

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": {
      "companyName": "<companyName>",
      "customerId": "<customerId>",
      "acCode": "<acCode>",
      "note": "<note>",
      "entryDate": "<entryDate>",
      "procDate": "<procDate>",
      "bookTranTypeId": "<bookTranTypeId>",
      "netAmount": "<netAmount>",
      "routeToken": "<routeToken>"
    },
    "name": "brc_create_sales_entry"
  }
}

Input Schema

NameRequiredDescriptionDefault
noteYes
totalNo
acCodeYes
procDateYes
totalNetNo
totalVATNo
vatLinesNoSeparate VAT allocations; net amounts must sum to netAmount. Legacy vatRateId/vatPercentage remain supported.
entryDateYes
netAmountYesSigned net total: positive, zero, or negative credit. No record-type conversion.
vatRateIdNo
customerIdYes
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.
accountCodeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionNo
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.
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
bookTranTypeIdYes
detailedResponseNoInclude full payload and BRC response; compact result is default.
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. Changed12 schema fields changed
    • addedInput schema / properties / acCode / minLength
      Added value: +1
    • addedInput schema / properties / accountCode / minLength
      Added value: +1
    • addedInput schema / properties / detailedResponse
      Added value: +{
      +  "description": "Include full payload and BRC response; compact result is default.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / entryDate / minLength
      Added value: +1
    • addedInput schema / properties / netAmount / description
      Added value: +"Signed net total: positive, zero, or negative credit. No record-type conversion."
    • removedInput schema / properties / netAmount / exclusiveMinimum
      Removed value: -0
    • addedInput schema / properties / procDate / minLength
      Added value: +1
    • addedInput schema / properties / total
      Added value: +{
      +  "type": "number"
      +}
    • addedInput schema / properties / totalNet
      Added value: +{
      +  "type": "number"
      +}
    • addedInput schema / properties / totalVAT
      Added value: +{
      +  "type": "number"
      +}
    • addedInput schema / properties / vatLines
      Added value: +{
      +  "description": "Separate VAT allocations; net amounts must sum to netAmount. Legacy vatRateId/vatPercentage remain supported.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "netAmount": {
      +        "type": "number"
      +      },
      +      "vatPercentage": {
      +        "type": "number"
      +      },
      +      "vatRateId": {
      +        "exclusiveMinimum": 0,
      +        "maximum": 9007199254740991,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "vatRateId",
      +      "vatPercentage",
      +      "netAmount"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 100,
      +  "type": "array"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "companyName",
      -  "customerId",
      -  "acCode",
      -  "note",
      -  "entryDate",
      -  "procDate",
      -  "bookTranTypeId",
      -  "analysisCategoryId",
      -  "accountCode",
      -  "description",
      -  "netAmount",
      -  "vatRateId",
      -  "vatPercentage",
      -  "routeToken"
      -]New value: +[
      +  "companyName",
      +  "customerId",
      +  "acCode",
      +  "note",
      +  "entryDate",
      +  "procDate",
      +  "bookTranTypeId",
      +  "netAmount",
      +  "routeToken"
      +]
  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",
      -  "customerId",
      -  "acCode",
      -  "note",
      -  "entryDate",
      -  "procDate",
      -  "bookTranTypeId",
      -  "analysisCategoryId",
      -  "accountCode",
      -  "description",
      -  "netAmount",
      -  "vatRateId",
      -  "vatPercentage"
      -]New value: +[
      +  "companyName",
      +  "customerId",
      +  "acCode",
      +  "note",
      +  "entryDate",
      +  "procDate",
      +  "bookTranTypeId",
      +  "analysisCategoryId",
      +  "accountCode",
      +  "description",
      +  "netAmount",
      +  "vatRateId",
      +  "vatPercentage",
      +  "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",
      -  "customerId",
      -  "acCode",
      -  "note",
      -  "entryDate",
      -  "procDate",
      -  "bookTranTypeId",
      -  "analysisCategoryId",
      -  "accountCode",
      -  "description",
      -  "netAmount",
      -  "vatRateId",
      -  "vatPercentage",
      -  "routeToken"
      -]New value: +[
      +  "companyName",
      +  "customerId",
      +  "acCode",
      +  "note",
      +  "entryDate",
      +  "procDate",
      +  "bookTranTypeId",
      +  "analysisCategoryId",
      +  "accountCode",
      +  "description",
      +  "netAmount",
      +  "vatRateId",
      +  "vatPercentage"
      +]
  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",
      -  "customerId",
      -  "acCode",
      -  "note",
      -  "entryDate",
      -  "procDate",
      -  "bookTranTypeId",
      -  "analysisCategoryId",
      -  "accountCode",
      -  "description",
      -  "netAmount",
      -  "vatRateId",
      -  "vatPercentage"
      -]New value: +[
      +  "companyName",
      +  "customerId",
      +  "acCode",
      +  "note",
      +  "entryDate",
      +  "procDate",
      +  "bookTranTypeId",
      +  "analysisCategoryId",
      +  "accountCode",
      +  "description",
      +  "netAmount",
      +  "vatRateId",
      +  "vatPercentage",
      +  "routeToken"
      +]
  5. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint=true, openWorldHint=false) by disclosing the confirmation protocol: a call without confirmWrite returns confirmation_required plus a preview, placeholder tokens are invalid, routeToken is routing-only and does not bypass preview, and preflight is not confirmation. These are substantive behavioral rules an agent cannot get from the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool does, but the middle sentences on routeToken and confirmation rules are dense and partly restate the confirmWrite and routeToken schema descriptions (e.g. preview-before-posting). Several sentences could be consolidated without losing meaning.

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

Completeness3/5

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

For a 22-parameter destructive tool with 36% schema coverage and no output schema, the critical safety/confirmation workflow is well covered, but the majority of business fields lack any description and no return-value behavior is explained. Adequate for the safety path, incomplete for correct field population.

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 coverage is low at 36%, so the description should compensate heavily; it adds meaning for netAmount (signed, no record-type conversion), vatLines, and the two confirmation flags, but leaves core fields like acCode, entryDate, procDate, bookTranTypeId, and note completely undocumented in both places. Partial compensation only.

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+resource ('Creates one BRC sales entry') and enumerates supported value semantics (positive/zero/negative net, multiple VAT lines, legacy single-VAT). The word 'one' implicitly differentiates it from the sibling brc_batch_sales_entries, but no sibling is named explicitly, so differentiation is left to inference.

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 clear operational context: routeToken must come from the matching action workflow, zero entries may omit analysis/VAT, and confirmWrite governs the preview-then-post flow. It does not, however, say when to choose this tool over brc_create_sales_invoice or the batch variant, so alternative-selection guidance is absent.

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.