Create Sales Invoice with Generated Reference
brc_create_sales_invoice_gen_refCreates a sales invoice using generated references and reconciled product, VAT and Sales-analysis lines. Missing customer contact values remain absent. Sales Rep is optional in Red. A positive saleRepId selects a representative; saleRepCode may accompany it. Code-only input is rejected because it does not reliably associate a Sales Rep. Company-specific BRC validation still applies. 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>",
"payload": "<payload>",
"routeToken": "<routeToken>"
},
"name": "brc_create_sales_invoice_gen_ref"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | Raw BRC payloads for multi-line sales invoices must use `productTrans[]` (one object per product line). Each product line must include its own nested `acEntries[]` for Sales analysis posting — do not send a top-level `acEntries` array on the invoice. Required header fields include customerId, acCode, entryDate, procDate, bookTranTypeId, totalNet, totalVAT, and total. Sales Rep fields are optional; saleRepCode alone does not select a representative. Red validates line amounts, nested analysis values, qty × unit price (using useTaxInclusiveUnitPrice), and header totals before posting, and returns all validation issues together when the payload does not reconcile. Preview-before-posting still shows what Red will post and waits for confirmation before anything is written to Big Red Cloud. | |
| priceBasis | No | Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net. | |
| routeToken | Yes | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | Opaque 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. | |
| confirmCrAnalysisCategory | No | Set true only after the user confirms a CR sales analysis account code is intentional for this product line. | |
| confirmCounterpartyExplicit | No | Must 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. |