[{"slug":"ZV-2026-0150","server_name":"red.bigredcloud.com","severity":"breaking","title":"red.bigredcloud.com: Tool brc_get_company_options was removed.","summary":"[breaking] Tool brc_get_company_options was removed. [breaking] Tool brc_getting_started was removed. [safe] Tool brc_generate_support_report was added. [safe] Tool brc_resolve_book_transaction_type was added. [safe] Description of brc_confirm_company_connection changed (10% word delta). [safe] Description of brc_create_purchase changed (19% word delta). [safe] Description of brc_create_purchase_gen_ref changed (20% word delta). [breaking] Field companyId on brc_create_quote is now required. [breaking] Field companyId on brc_create_quote_gen_ref is now required. [safe] Description of brc_delete_purchase changed (24% word delta). [risky] Description of brc_delete_quote changed (43% word delta). [safe] Description of brc_generate_sales_invoice_from_quote changed (24% word delta). [risky] Description of brc_get_quote changed (80% word delta). [safe] Description of brc_list_audit_log changed (13% word delta). [safe] Description of brc_list_company_contexts changed (5% word delta). [risky] Description of brc_list_customer_account_trans changed (87% word delta). [risky] Description of brc_list_quotes changed (92% word delta). [risky] Description of brc_list_supplier_account_trans changed (87% word delta). [safe] Description of brc_red_help changed (11% word delta). [safe] Description of brc_route_request changed (11% word delta). [safe] Description of brc_start_company_connection changed (21% word delta). [risky] Description of brc_update_cash_payment changed (38% word delta). [risky] Description of brc_update_purchase changed (36% word delta). [risky] Description of brc_update_quote changed (50% word delta). [breaking] Field note was removed from brc_update_quote input; consumers still sending it may be rejected or silently ignored. [risky] Description of brc_update_sales_credit_note changed (44% word delta). [risky] Optional field customerId was added to brc_update_sales_credit_note; may shift model behaviour. [risky] Optional field details was added to brc_update_sales","changes":[{"kind":"tool_removed","tool":"brc_get_company_options","detail":"Tool `brc_get_company_options` was removed.","severity":"breaking"},{"kind":"tool_removed","tool":"brc_getting_started","detail":"Tool `brc_getting_started` was removed.","severity":"breaking"},{"kind":"tool_added","tool":"brc_generate_support_report","detail":"Tool `brc_generate_support_report` was added.","severity":"safe"},{"kind":"tool_added","tool":"brc_resolve_book_transaction_type","detail":"Tool `brc_resolve_book_transaction_type` was added.","severity":"safe"},{"kind":"description_changed","tool":"brc_confirm_company_connection","after":"Confirm company connection, finish connection, or complete connection after the secure page. This tool is brc_confirm_company_connection. Use when the user says confirm company connection, finish connection, complete connection after the secure page, or pastes a confirmation code from the success page. Claims a completed secure Red connection code for the current MCP session. Use after the user has submitted the secure connection page and returns to this chat with the confirmation code shown on the success page (for example when the MCP session changed after opening the browser). Returns an opaque connectionRef for later tool calls when the MCP client rotates session ids (for example Vibe/Mistral). Pass it silently in tool arguments — do not show connectionRef or redconn_ values to normal users. After confirm succeeds, keep passing the same connectionRef on every later tool call — do not call brc_start_company_connection while that connectionRef still works. Never exposes connection credentials.","before":"Claims a completed secure Red connection code for the current MCP session. Use after the user has submitted the secure connection page and returns to this chat with the confirmation code shown on the success page (for example when the MCP session changed after opening the browser). Returns an opaque connectionRef for later tool calls when the MCP client rotates session ids (for example Vibe/Mistral). Pass it silently in tool arguments — do not show connectionRef or redconn_ values to normal users. After confirm succeeds, keep passing the same connectionRef on every later tool call — do not call brc_start_company_connection while that connectionRef still works. Never exposes connection credentials.","detail":"Description of `brc_confirm_company_connection` changed (10% word delta).","severity":"safe","descriptionDelta":0.09999999999999998},{"kind":"description_changed","tool":"brc_create_purchase","after":"Creates a BRC purchase using structured MCP fields. Requires a reference when the company is configured for manual purchase references; otherwise prefer brc_create_purchase_gen_ref. A transaction date outside the current financial year is not automatically refused by Red. After the user confirms the requested date, attempt the create request and let the BRC endpoint determine whether that historical date is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","before":"Creates a BRC purchase using structured MCP fields. Requires a reference when the company is configured for manual purchase references; otherwise prefer brc_create_purchase_gen_ref. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","detail":"Description of `brc_create_purchase` changed (19% word delta).","severity":"safe","descriptionDelta":0.1923076923076923},{"kind":"description_changed","tool":"brc_create_purchase_gen_ref","after":"Creates a Purchases Book purchase with a generated reference using structured fields. Use when the company is configured for auto-generated purchase references. A transaction date outside the current financial year is not automatically refused by Red. After the user confirms the requested date, attempt the create request and let the BRC endpoint determine whether that historical date is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","before":"Creates a Purchases Book purchase with a generated reference using structured fields. Use when the company is configured for auto-generated purchase references. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","detail":"Description of `brc_create_purchase_gen_ref` changed (20% word delta).","severity":"safe","descriptionDelta":0.20192307692307687},{"kind":"input_required_added","path":"inputSchema.required.companyId","tool":"brc_create_quote","detail":"Field `companyId` on `brc_create_quote` is now required.","severity":"breaking"},{"kind":"input_required_added","path":"inputSchema.required.companyId","tool":"brc_create_quote_gen_ref","detail":"Field `companyId` on `brc_create_quote_gen_ref` is now required.","severity":"breaking"},{"kind":"description_changed","tool":"brc_delete_purchase","after":"Deletes a BRC purchase by id using timestamp confirmation. Historical purchases are not automatically blocked because they belong to an earlier financial year. The BRC endpoint determines whether the historical deletion is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Deletes a BRC purchase by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_delete_purchase` changed (24% word delta).","severity":"safe","descriptionDelta":0.23943661971830987},{"kind":"description_changed","tool":"brc_delete_quote","after":"Deletes a BRC quote by id using timestamp confirmation. Loads the quote once to obtain its timestamp and to preview id, reference, customer, total, open or closed state, any linked sales invoice, and timestamp before asking for confirmation. A successful delete is the result; if a later lookup by quote id returns an unexpected error, treat that check as inconclusive rather than as a failed delete. Confirm remaining quotes from the quote list by quote id — quote references are not necessarily unique. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Deletes a BRC quote by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_delete_quote` changed (43% word delta).","severity":"risky","descriptionDelta":0.43157894736842106},{"kind":"description_changed","tool":"brc_generate_sales_invoice_from_quote","after":"Generates a sales invoice from a BRC quote. Preview-before-posting shows the exact POST /v1/quotes/generateSaleInvoice body (quoteId and optional entryDate/procDate only). Nothing is written until you confirm. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Generates a sales invoice from a BRC quote. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_generate_sales_invoice_from_quote` changed (24% word delta).","severity":"safe","descriptionDelta":0.23529411764705888},{"kind":"description_changed","tool":"brc_get_quote","after":"Gets one BRC quote by id. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures.","before":"Gets one BRC quote by id.","detail":"Description of `brc_get_quote` changed (80% word delta).","severity":"risky","descriptionDelta":0.8},{"kind":"description_changed","tool":"brc_list_audit_log","after":"Show a record of data changes (create, update, delete, batch, quote close/reopen, emails, etc.) made through this Red MCP server session. Read-only API calls are not logged. Use this as the source of truth for \"what did I do today in Red?\" style questions. Show only this simple activity summary in chat. After showing it, also prepare a downloadable support diagnostic with brc_generate_support_report — do not paste technical diagnostic fields into the chat summary. When the user asks what they did \"in Red\" (or in Big Red Cloud), answer only from Red/BRC activity for the current Red session and for companies currently connected in this session: the Red/BRC audit log, BRC session actions, and connector-visible BRC activity. Never include activity from other MCP sessions, other users, other connections, or companies that are not currently connected (including ones that were disconnected or cleared). For \"what did I do today/yesterday/last week in Red\", only summarise current-session audit entries for currently connected companies; if older entries exist outside this scope, ignore them completely rather than reporting them. Do not include unrelated Claude chat history such as MCP debugging, Mistral debugging, coding work, or other non-BRC conversations unless the user explicitly asks for broader chat history.","before":"Show a record of data changes (create, update, delete, batch, quote close/reopen, emails, etc.) made through this Red MCP server session. Read-only API calls are not logged. Use this as the source of truth for \"what did I do today in Red?\" style questions. When the user asks what they did \"in Red\" (or in Big Red Cloud), answer only from Red/BRC activity for the current Red session and for companies currently connected in this session: the Red/BRC audit log, BRC session actions, and connector-visible BRC activity. Never include activity from other MCP sessions, other users, other connections, or companies that are not currently connected (including ones that were disconnected or cleared). For \"what did I do today/yesterday/last week in Red\", only summarise current-session audit entries for currently connected companies; if older entries exist outside this scope, ignore them completely rather than reporting them. Do not include unrelated Claude chat history such as MCP debugging, Mistral debugging, coding work, or other non-BRC conversations unless the user explicitly asks for broader chat history.","detail":"Description of `brc_list_audit_log` changed (13% word delta).","severity":"safe","descriptionDelta":0.1311475409836066},{"kind":"description_changed","tool":"brc_list_company_contexts","after":"Show connected companies and check existing Red company connections. This tool is brc_list_company_contexts. Use this when the user asks which companies are connected, show connected companies, check existing Red company connections, list connected companies, or whether a company is already connected to Red. Lists company contexts currently connected in this MCP server session. Also use when the user asks how long the connection lasts, how much time is left, when companies disconnect, when the session expires, or what timezone the expiry is in. Present the result to the user with the customerMessage text, company names, and expiryMessage when connected. Answer duration and time-left questions using connectionDurationText, timeRemainingText, expiryTimeWithTimezoneText, expiryTimezoneName, expiryTimezoneAbbreviation, expiryUtcOffset, and expiryMessage from the response — do not say you do not know the current time or that you lack a live clock when timeRemainingText is present. Do not ask the user to check their device clock. Do not say local time on its own. Customer duration answers should explain how long the connection lasts, that a fresh secure link is needed after expiry, and that the one-time connection link itself cannot be reused. Do not mention authentication classifications, empty-result logic, connectionRef, rehydration, HTTP status codes, session bindings, or other internal diagnostics in customer answers. Do not show connectionRef, activeConnectionRef, redconn_ values, session IDs, or diagnostic metadata to normal users. Do not show raw ISO expiresAt or credentialType to normal users unless they specifically ask or dev mode is enabled. Connection credentials are never returned. If you have connectionRef from brc_confirm_company_connection, pass it silently on this call when the MCP client rotates session ids. An empty list with a working connectionRef means no companies are bound yet — not a reason to start a new connection if other tools already succeeded with the same connectionRef.","before":"Lists company contexts currently connected in this MCP server session. Use this when the user asks which companies are connected, how long the connection lasts, how much time is left, when companies disconnect, when the session expires, or what timezone the expiry is in. Present the result to the user with the customerMessage text, company names, and expiryMessage when connected. Answer duration and time-left questions using connectionDurationText, timeRemainingText, expiryTimeWithTimezoneText, expiryTimezoneName, expiryTimezoneAbbreviation, expiryUtcOffset, and expiryMessage from the response — do not say you do not know the current time or that you lack a live clock when timeRemainingText is present. Do not ask the user to check their device clock. Do not say local time on its own. Customer duration answers should explain how long the connection lasts, that a fresh secure link is needed after expiry, and that the one-time connection link itself cannot be reused. Do not mention authentication classifications, empty-result logic, connectionRef, rehydration, HTTP status codes, session bindings, or other internal diagnostics in customer answers. Do not show connectionRef, activeConnectionRef, redconn_ values, session IDs, or diagnostic metadata to normal users. Do not show raw ISO expiresAt or credentialType to normal users unless they specifically ask or dev mode is enabled. Connection credentials are never returned. If you have connectionRef from brc_confirm_company_connection, pass it silently on this call when the MCP client rotates session ids. An empty list with a working connectionRef means no companies are bound yet — not a reason to start a new connection if other tools already succeeded with the same connectionRef.","detail":"Description of `brc_list_company_contexts` changed (5% word delta).","severity":"safe","descriptionDelta":0.046052631578947345},{"kind":"description_changed","tool":"brc_list_customer_account_trans","after":"Gets a customer's account transactions, including historical transactions. Returned transactions can contain bookTranId and bookTranTypeId. When acting on a returned transaction, do not choose a CRUD endpoint from bookTypeDesc alone. Resolve bookTranTypeId against the company's /v1/bookTranTypes result first, then use the matching Red transaction tool. Do not assume bookTranId is valid for a different document endpoint.","before":"Gets a customer's account transactions.","detail":"Description of `brc_list_customer_account_trans` changed (87% word delta).","severity":"risky","descriptionDelta":0.8666666666666667},{"kind":"description_changed","tool":"brc_list_quotes","after":"Lists BRC quotes. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures. Quote references are not necessarily unique — identify a quote by id.","before":"Lists BRC quotes.","detail":"Description of `brc_list_quotes` changed (92% word delta).","severity":"risky","descriptionDelta":0.9166666666666666},{"kind":"description_changed","tool":"brc_list_supplier_account_trans","after":"Gets a supplier's account transactions, including historical transactions. Returned transactions can contain bookTranId and bookTranTypeId. When acting on a returned transaction, do not choose a CRUD endpoint from the display description alone. Resolve bookTranTypeId against the company's /v1/bookTranTypes result first, then use the matching Red transaction tool. Do not assume bookTranId is valid for another document endpoint.","before":"Gets a supplier's account transactions.","detail":"Description of `brc_list_supplier_account_trans` changed (87% word delta).","severity":"risky","descriptionDelta":0.8695652173913043},{"kind":"description_changed","tool":"brc_red_help","after":"MANDATORY FOR RED-HELP COMMANDS: When the user's message starts with red-help or /red-help, call this tool before searching for or calling any accounting action tool. Red Help — Manual Instructions and Resources. This tool is brc_red_help. Also use it for Big Red Cloud help and how-to questions: how do I, how can I, show me how, tell me how, where do I, what are the steps, tutorial, help article, and manual instructions in Big Red Cloud. This tool gives manual Big Red Cloud instructions and searches Freshdesk, YouTube, BRC Edu, webinars, screenshots and other available help resources. red-help means the user does not want Red to perform the accounting action — never replace a red-help request with create, update, delete or post tools. Pass the text after red-help as the query. Examples: User: \"red-help how do I add a sales invoice\" Call: brc_red_help({ query: \"how do I add a sales invoice\" }) User: \"/red-help add a customer manually\" Call: brc_red_help({ query: \"add a customer manually\" }) Searchable for common accounting-help topics: manual instructions, how to, help article, tutorial, screenshots, sales invoice, purchase invoice, customer, supplier, bank reconciliation, credit note, payment, receipt, VAT, reports and company setup. Read-only. Does not require a connected company, companyName, connectionRef, or accounting record details. After results, call brc_get_help_resource_details for the best Freshdesk match with includeImages=true and imagePresentation=links. Recommended entry point for reserved red-help / /red-help commands. brc_find_help_resources remains available for backward compatibility.","before":"MANDATORY FOR RED-HELP COMMANDS: When the user's message starts with red-help or /red-help, call this tool before searching for or calling any accounting action tool. Red Help — Manual Instructions and Resources. This tool gives manual Big Red Cloud instructions and searches Freshdesk, YouTube, BRC Edu, webinars, screenshots and other available help resources. red-help means the user does not want Red to perform the accounting action — never replace a red-help request with create, update, delete or post tools. Pass the text after red-help as the query. Examples: User: \"red-help how do I add a sales invoice\" Call: brc_red_help({ query: \"how do I add a sales invoice\" }) User: \"/red-help add a customer manually\" Call: brc_red_help({ query: \"add a customer manually\" }) Searchable for common accounting-help topics: manual instructions, how to, help article, tutorial, screenshots, sales invoice, purchase invoice, customer, supplier, bank reconciliation, credit note, payment, receipt, VAT, reports and company setup. Read-only. Does not require a connected company, companyName, connectionRef, or accounting record details. After results, call brc_get_help_resource_details for the best Freshdesk match with includeImages=true and imagePresentation=links. Recommended entry point for reserved red-help / /red-help commands. brc_find_help_resources remains available for backward compatibility.","detail":"Description of `brc_red_help` changed (11% word delta).","severity":"safe","descriptionDelta":0.11382113821138207},{"kind":"description_changed","tool":"brc_route_request","after":"MANDATORY FIRST STEP for broad Red requests involving read, create, update, delete, correct, undo, reverse, email, or batch actions. This tool is brc_route_request. Classify and route a user request between Red's two main behaviours: action (perform the accounting workflow) and help (manual Big Red Cloud instructions). Also returns connection, read, correction, unsupported_action, or unknown when those specialised modes apply. Pass the user's complete original message — never only a confirmation word such as yes or delete it when starting a new action. Action mode always returns a non-empty preferredTools list, allowedTools, and an opaque short-lived routeToken — pass that routeToken on every subsequent transactional tool call for the permitted workflow, including after lookup and preview. unsupported_action means Red cannot map the request to an enabled workflow — explain that to the user; do not invent a routeToken. Help mode runs the unified help search, returns manual resources, sets blockTransactionalTools true, and never issues a transactional routeToken. How-to wording (how do I, how can I, show me how, tell me how, where do I, what are the steps, manual steps for, red-help, /red-help) → mode help. Explicit action wording (add a customer, create a sales invoice, delete customer ABC, can you add a customer for me) → mode action with routeToken. Correction / undo / reverse / put it back / change it back / restore wording → mode correction: plan first, do not write immediately, and do not issue a transactional routeToken. This first request is not write confirmation. A routeToken does not replace preview-before-posting or user confirmation (confirmWrite). Help mode does not persist — each brc_route_request call is classified independently unless returning confirmation continuation for a pending preview. Read-only classification and help search. Does not require a connected company. When a company is already connected, pass connectionRef silently so the routeToken can bind to that connection and survive MCP session rotation.","before":"MANDATORY FIRST STEP for Red requests that may create, update, delete, post, email, or batch-write company data. Classify and route a user request between Red's two main behaviours: action (perform the accounting workflow) and help (manual Big Red Cloud instructions). Also returns connection, read, unsupported_action, or unknown when those specialised modes apply. Pass the user's complete original message — never only a confirmation word such as yes or delete it when starting a new action. Action mode always returns a non-empty preferredTools list, allowedTools, and an opaque short-lived routeToken — pass that routeToken on every subsequent transactional tool call for the permitted workflow, including after lookup and preview. unsupported_action means Red cannot map the request to an enabled workflow — explain that to the user; do not invent a routeToken. Help mode runs the unified help search, returns manual resources, sets blockTransactionalTools true, and never issues a transactional routeToken. How-to wording (how do I, how can I, show me how, tell me how, where do I, what are the steps, manual steps for, red-help, /red-help) → mode help. Explicit action wording (add a customer, create a sales invoice, delete customer ABC, can you add a customer for me) → mode action with routeToken. A routeToken does not replace preview-before-posting or user confirmation (confirmWrite). Help mode does not persist — each brc_route_request call is classified independently unless returning confirmation continuation for a pending preview. Read-only classification and help search. Does not require a connected company. When a company is already connected, pass connectionRef silently so the routeToken can bind to that connection and survive MCP session rotation.","detail":"Description of `brc_route_request` changed (11% word delta).","severity":"safe","descriptionDelta":0.10909090909090913},{"kind":"description_changed","tool":"brc_start_company_connection","after":"MANDATORY FIRST TOOL for company connection requests. This tool is brc_start_company_connection. Use this FIRST when the user says connect my company, connect my companies, connect my companies to Red, connect Big Red Cloud, link a company, add another company, set up Red, authenticate a company, reconnect a company, or onboard one or multiple companies. Call it immediately: it works before any company is connected and does not require companyName or connectionRef. Do not tell the user to go manually to the Big Red Cloud website when this tool is available — start the secure Red / Big Red Cloud connection flow here instead. Starts the secure Red / Big Red Cloud connection flow and generates a fresh one-time secure Red connection link and confirmation code. Supports one or multiple companies in the same visit. Use only when there is no active company connection, no valid connectionRef, the user explicitly asks to connect or reconnect, try again after a failed connection, expired session credentials, or when an old, used, or stale secure connection link no longer works. Do not call this tool when a valid connectionRef from brc_confirm_company_connection is already available and recent tool calls succeeded with it. Do not call this tool because a lookup returned no rows, partial data, or an empty list — that means no matching records, not an expired connection. Do not call this tool after successful company data retrieval unless the user explicitly asks to connect, reconnect, or add more companies. Always call this tool again to generate a new link — never reuse a previous connection link. Returns a one-time connection page URL (no time expiry, but each link works only once). On that page the user can enter a single company or upload a CSV for multiple companies — never in chat. After completing the secure page, the user should return to this chat and provide (copy/paste) the confirmation code shown on the success page. Do not paste an API key into chat.","before":"Starts the secure Red company connection flow and generates a fresh one-time secure Red connection link and confirmation code. Use only when there is no active company connection, no valid connectionRef, the user explicitly asks to connect or reconnect, try again after a failed connection, expired session credentials, or when an old, used, or stale secure connection link no longer works. Do not call this tool when a valid connectionRef from brc_confirm_company_connection is already available and recent tool calls succeeded with it. Do not call this tool because a lookup returned no rows, partial data, or an empty list — that means no matching records, not an expired connection. Do not call this tool after successful company data retrieval unless the user explicitly asks to connect, reconnect, or add more companies. Always call this tool again to generate a new link — never reuse a previous connection link. Returns a one-time connection page URL (no time expiry, but each link works only once). On that page the user can enter a single company or upload a CSV for multiple companies — never in chat. After completing the secure page, the user should return to this chat and provide (copy/paste) the confirmation code shown on the success page. Do not paste an API key into chat.","detail":"Description of `brc_start_company_connection` changed (21% word delta).","severity":"safe","descriptionDelta":0.21276595744680848},{"kind":"description_changed","tool":"brc_update_cash_payment","after":"Updates an existing Cash Payment by merging supplied fields onto the current record. Fields that can be merged include total, entryDate, procDate, supplierId, acCode, note, ledger, discount, bankAccountId, bankAccountCode, lodgement, analysisCategoryId, accountCode, and description. This update flow is a verified action on the existing record. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC cash payment using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_cash_payment` changed (38% word delta).","severity":"risky","descriptionDelta":0.38095238095238093},{"kind":"description_changed","tool":"brc_update_purchase","after":"Updates a BRC purchase using structured MCP fields. Historical transaction dates are not automatically blocked. Existing historical purchases may support text, monetary, date and delete operations; the BRC endpoint is the source of truth. When changing monetary values, preserve the existing unpaid/unallocated state and allow BRC to recalculate allocation fields where required. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC purchase using structured MCP fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_purchase` changed (36% word delta).","severity":"risky","descriptionDelta":0.3647058823529412},{"kind":"description_changed","tool":"brc_update_quote","after":"Updates a BRC quote's manual reference only. Quote.note is not persisted by this update and is not accepted here. Loads the current quote, preserves all other fields (including timestamp, product lines, analysis entries, totals, customer, sales rep, dates, comments, and closed state), applies the new reference, then PUTs the full record. Manual quote references must be 6 characters or fewer because Big Red Cloud truncates longer references. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC quote using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_quote` changed (50% word delta).","severity":"risky","descriptionDelta":0.49514563106796117},{"kind":"input_property_removed","path":"inputSchema.properties.note","tool":"brc_update_quote","before":{"type":"string"},"detail":"Field `note` was removed from `brc_update_quote` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"description_changed","tool":"brc_update_sales_credit_note","after":"Updates an existing BRC sales credit note. Supports text/reference fields, transaction dates, customer/sales-rep fields, and complete product/monetary updates. Historical credit notes are not automatically blocked because they belong to an earlier financial year. The BRC API is the source of truth for whether the requested historical change is permitted. For monetary changes, provide productTrans, totalNet, totalVAT and total together. Do not manually change unpaid; Red preserves the existing BRC value. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC sales credit note using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_credit_note` changed (44% word delta).","severity":"risky","descriptionDelta":0.4387755102040817},{"kind":"input_property_added","path":"inputSchema.properties.customerId","tool":"brc_update_sales_credit_note","after":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Optional field `customerId` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.details","tool":"brc_update_sales_credit_note","after":{"type":"string"},"detail":"Optional field `details` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_credit_note","after":{"type":"string","description":"Entry date. Historical dates may be attempted; BRC determines whether the update is permitted."},"detail":"Optional field `entryDate` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.ourReference","tool":"brc_update_sales_credit_note","after":{"type":"string"},"detail":"Optional field `ourReference` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.procDate","tool":"brc_update_sales_credit_note","after":{"type":"string","description":"Processing date. Historical dates may be attempted; BRC determines whether the update is permitted."},"detail":"Optional field `procDate` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.productTrans","tool":"brc_update_sales_credit_note","after":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note."},"detail":"Optional field `productTrans` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.saleRepId","tool":"brc_update_sales_credit_note","after":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Optional field `saleRepId` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.total","tool":"brc_update_sales_credit_note","after":{"type":"number"},"detail":"Optional field `total` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_credit_note","after":{"type":"number"},"detail":"Optional field `totalNet` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_credit_note","after":{"type":"number"},"detail":"Optional field `totalVAT` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_credit_note","after":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Optional field `vatTypeId` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.yourReference","tool":"brc_update_sales_credit_note","after":{"type":"string"},"detail":"Optional field `yourReference` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"brc_update_sales_entry","after":"Updates an existing BRC Sales Entry. Supports text/reference changes, transaction dates, customer/account fields, and complete monetary/accounting update attempts. Historical Sales Entries are not automatically blocked because they belong to an earlier financial year. The BRC API is the source of truth for whether a requested historical change is permitted. A note/reference-only update may be performed without supplying monetary fields. For monetary changes, provide totalNet, totalVAT, total, acEntries and vatEntries together so Red can validate the accounting values before sending the update. Do not manually change unpaid; Red preserves the existing BRC value. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC sales entry using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_entry` changed (52% word delta).","severity":"risky","descriptionDelta":0.5178571428571428},{"kind":"input_property_added","path":"inputSchema.properties.acCode","tool":"brc_update_sales_entry","after":{"type":"string","description":"Customer account code."},"detail":"Optional field `acCode` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.acEntries","tool":"brc_update_sales_entry","after":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet."},"detail":"Optional field `acEntries` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.bookTranTypeId","tool":"brc_update_sales_entry","after":{"type":"integer","maximum":9007199254740991,"description":"Book transaction type id. Sales Entries normally use the existing record's transaction type.","exclusiveMinimum":0},"detail":"Optional field `bookTranTypeId` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.customerId","tool":"brc_update_sales_entry","after":{"type":"integer","maximum":9007199254740991,"description":"Customer id.","exclusiveMinimum":0},"detail":"Optional field `customerId` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.details","tool":"brc_update_sales_entry","after":{"type":"string","description":"Sales Entry details/description field."},"detail":"Optional field `details` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_entry","after":{"type":"string","description":"Entry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted."},"detail":"Optional field `entryDate` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.procDate","tool":"brc_update_sales_entry","after":{"type":"string","description":"Processing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted."},"detail":"Optional field `procDate` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.total","tool":"brc_update_sales_entry","after":{"type":"number","description":"New gross total. For monetary edits this must equal totalNet + totalVAT."},"detail":"Optional field `total` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_entry","after":{"type":"number","description":"New total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries."},"detail":"Optional field `totalNet` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_entry","after":{"type":"number","description":"New total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries."},"detail":"Optional field `totalVAT` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.vatEntries","tool":"brc_update_sales_entry","after":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT."},"detail":"Optional field `vatEntries` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_entry","after":{"type":"integer","maximum":9007199254740991,"description":"VAT type id.","exclusiveMinimum":0},"detail":"Optional field `vatTypeId` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"brc_update_sales_invoice","after":"Updates an existing BRC sales invoice. Can update text/reference fields, transaction dates, customer/sales-rep fields, and the full productTrans line collection. Historical invoices are not automatically blocked because they fall outside the current financial year. The BRC API is the source of truth for whether a historical invoice can be changed. When changing monetary values, provide a complete internally consistent productTrans collection and matching totalNet, totalVAT and total. Do not guess monetary fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC sales invoice using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_invoice` changed (46% word delta).","severity":"risky","descriptionDelta":0.45999999999999996},{"kind":"input_property_added","path":"inputSchema.properties.bookTranTypeId","tool":"brc_update_sales_invoice","after":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Optional field `bookTranTypeId` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.customerId","tool":"brc_update_sales_invoice","after":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Optional field `customerId` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.details","tool":"brc_update_sales_invoice","after":{"type":"string"},"detail":"Optional field `details` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_invoice","after":{"type":"string","description":"Entry date. Historical dates are permitted as an attempted update; BRC may accept or reject them."},"detail":"Optional field `entryDate` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.ourReference","tool":"brc_update_sales_invoice","after":{"type":"string"},"detail":"Optional field `ourReference` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.procDate","tool":"brc_update_sales_invoice","after":{"type":"string","description":"Processing date. Historical dates are permitted as an attempted update; BRC may accept or reject them."},"detail":"Optional field `procDate` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.productTrans","tool":"brc_update_sales_invoice","after":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts."},"detail":"Optional field `productTrans` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.saleRepId","tool":"brc_update_sales_invoice","after":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Optional field `saleRepId` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.total","tool":"brc_update_sales_invoice","after":{"type":"number"},"detail":"Optional field `total` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_invoice","after":{"type":"number"},"detail":"Optional field `totalNet` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_invoice","after":{"type":"number"},"detail":"Optional field `totalVAT` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_invoice","after":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Optional field `vatTypeId` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.yourReference","tool":"brc_update_sales_invoice","after":{"type":"string"},"detail":"Optional field `yourReference` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"}],"published_at":"2026-08-18T09:47:39.169Z"},{"slug":"ZV-2026-0130","server_name":"red.bigredcloud.com","severity":"breaking","title":"red.bigredcloud.com: Tool brc_generate_support_report was removed.","summary":"[breaking] Tool brc_generate_support_report was removed. [breaking] Tool brc_resolve_book_transaction_type was removed. [safe] Description of brc_create_purchase changed (19% word delta). [safe] Description of brc_create_purchase_gen_ref changed (20% word delta). [safe] Field companyId on brc_create_quote is no longer required. [safe] Field companyId on brc_create_quote_gen_ref is no longer required. [safe] Description of brc_delete_purchase changed (24% word delta). [risky] Description of brc_delete_quote changed (43% word delta). [safe] Description of brc_generate_sales_invoice_from_quote changed (24% word delta). [risky] Description of brc_get_quote changed (80% word delta). [safe] Description of brc_list_audit_log changed (13% word delta). [risky] Description of brc_list_customer_account_trans changed (87% word delta). [risky] Description of brc_list_quotes changed (92% word delta). [risky] Description of brc_list_supplier_account_trans changed (87% word delta). [safe] Description of brc_route_request changed (7% word delta). [risky] Description of brc_update_cash_payment changed (38% word delta). [risky] Description of brc_update_purchase changed (36% word delta). [risky] Description of brc_update_quote changed (50% word delta). [risky] Optional field note was added to brc_update_quote; may shift model behaviour. [risky] Description of brc_update_sales_credit_note changed (44% word delta). [breaking] Field total was removed from brc_update_sales_credit_note input; consumers still sending it may be rejected or silently ignored. [breaking] Field details was removed from brc_update_sales_credit_note input; consumers still sending it may be rejected or silently ignored. [breaking] Field procDate was removed from brc_update_sales_credit_note input; consumers still sending it may be rejected or silently ignored. [breaking] Field totalNet was removed from brc_update_sales_credit_note input; consumers still sending it may be rejected or silently ignored. [breaking] Fie","changes":[{"kind":"tool_removed","tool":"brc_generate_support_report","detail":"Tool `brc_generate_support_report` was removed.","severity":"breaking"},{"kind":"tool_removed","tool":"brc_resolve_book_transaction_type","detail":"Tool `brc_resolve_book_transaction_type` was removed.","severity":"breaking"},{"kind":"description_changed","tool":"brc_create_purchase","after":"Creates a BRC purchase using structured MCP fields. Requires a reference when the company is configured for manual purchase references; otherwise prefer brc_create_purchase_gen_ref. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","before":"Creates a BRC purchase using structured MCP fields. Requires a reference when the company is configured for manual purchase references; otherwise prefer brc_create_purchase_gen_ref. A transaction date outside the current financial year is not automatically refused by Red. After the user confirms the requested date, attempt the create request and let the BRC endpoint determine whether that historical date is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","detail":"Description of `brc_create_purchase` changed (19% word delta).","severity":"safe","descriptionDelta":0.1923076923076923},{"kind":"description_changed","tool":"brc_create_purchase_gen_ref","after":"Creates a Purchases Book purchase with a generated reference using structured fields. Use when the company is configured for auto-generated purchase references. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","before":"Creates a Purchases Book purchase with a generated reference using structured fields. Use when the company is configured for auto-generated purchase references. A transaction date outside the current financial year is not automatically refused by Red. After the user confirms the requested date, attempt the create request and let the BRC endpoint determine whether that historical date is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","detail":"Description of `brc_create_purchase_gen_ref` changed (20% word delta).","severity":"safe","descriptionDelta":0.20192307692307687},{"kind":"input_required_removed","path":"inputSchema.required.companyId","tool":"brc_create_quote","detail":"Field `companyId` on `brc_create_quote` is no longer required.","severity":"safe"},{"kind":"input_required_removed","path":"inputSchema.required.companyId","tool":"brc_create_quote_gen_ref","detail":"Field `companyId` on `brc_create_quote_gen_ref` is no longer required.","severity":"safe"},{"kind":"description_changed","tool":"brc_delete_purchase","after":"Deletes a BRC purchase by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Deletes a BRC purchase by id using timestamp confirmation. Historical purchases are not automatically blocked because they belong to an earlier financial year. The BRC endpoint determines whether the historical deletion is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_delete_purchase` changed (24% word delta).","severity":"safe","descriptionDelta":0.23943661971830987},{"kind":"description_changed","tool":"brc_delete_quote","after":"Deletes a BRC quote by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Deletes a BRC quote by id using timestamp confirmation. Loads the quote once to obtain its timestamp and to preview id, reference, customer, total, open or closed state, any linked sales invoice, and timestamp before asking for confirmation. A successful delete is the result; if a later lookup by quote id returns an unexpected error, treat that check as inconclusive rather than as a failed delete. Confirm remaining quotes from the quote list by quote id — quote references are not necessarily unique. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_delete_quote` changed (43% word delta).","severity":"risky","descriptionDelta":0.43157894736842106},{"kind":"description_changed","tool":"brc_generate_sales_invoice_from_quote","after":"Generates a sales invoice from a BRC quote. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Generates a sales invoice from a BRC quote. Preview-before-posting shows the exact POST /v1/quotes/generateSaleInvoice body (quoteId and optional entryDate/procDate only). Nothing is written until you confirm. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_generate_sales_invoice_from_quote` changed (24% word delta).","severity":"safe","descriptionDelta":0.23529411764705888},{"kind":"description_changed","tool":"brc_get_quote","after":"Gets one BRC quote by id.","before":"Gets one BRC quote by id. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures.","detail":"Description of `brc_get_quote` changed (80% word delta).","severity":"risky","descriptionDelta":0.8},{"kind":"description_changed","tool":"brc_list_audit_log","after":"Show a record of data changes (create, update, delete, batch, quote close/reopen, emails, etc.) made through this Red MCP server session. Read-only API calls are not logged. Use this as the source of truth for \"what did I do today in Red?\" style questions. When the user asks what they did \"in Red\" (or in Big Red Cloud), answer only from Red/BRC activity for the current Red session and for companies currently connected in this session: the Red/BRC audit log, BRC session actions, and connector-visible BRC activity. Never include activity from other MCP sessions, other users, other connections, or companies that are not currently connected (including ones that were disconnected or cleared). For \"what did I do today/yesterday/last week in Red\", only summarise current-session audit entries for currently connected companies; if older entries exist outside this scope, ignore them completely rather than reporting them. Do not include unrelated Claude chat history such as MCP debugging, Mistral debugging, coding work, or other non-BRC conversations unless the user explicitly asks for broader chat history.","before":"Show a record of data changes (create, update, delete, batch, quote close/reopen, emails, etc.) made through this Red MCP server session. Read-only API calls are not logged. Use this as the source of truth for \"what did I do today in Red?\" style questions. Show only this simple activity summary in chat. After showing it, also prepare a downloadable support diagnostic with brc_generate_support_report — do not paste technical diagnostic fields into the chat summary. When the user asks what they did \"in Red\" (or in Big Red Cloud), answer only from Red/BRC activity for the current Red session and for companies currently connected in this session: the Red/BRC audit log, BRC session actions, and connector-visible BRC activity. Never include activity from other MCP sessions, other users, other connections, or companies that are not currently connected (including ones that were disconnected or cleared). For \"what did I do today/yesterday/last week in Red\", only summarise current-session audit entries for currently connected companies; if older entries exist outside this scope, ignore them completely rather than reporting them. Do not include unrelated Claude chat history such as MCP debugging, Mistral debugging, coding work, or other non-BRC conversations unless the user explicitly asks for broader chat history.","detail":"Description of `brc_list_audit_log` changed (13% word delta).","severity":"safe","descriptionDelta":0.1311475409836066},{"kind":"description_changed","tool":"brc_list_customer_account_trans","after":"Gets a customer's account transactions.","before":"Gets a customer's account transactions, including historical transactions. Returned transactions can contain bookTranId and bookTranTypeId. When acting on a returned transaction, do not choose a CRUD endpoint from bookTypeDesc alone. Resolve bookTranTypeId against the company's /v1/bookTranTypes result first, then use the matching Red transaction tool. Do not assume bookTranId is valid for a different document endpoint.","detail":"Description of `brc_list_customer_account_trans` changed (87% word delta).","severity":"risky","descriptionDelta":0.8666666666666667},{"kind":"description_changed","tool":"brc_list_quotes","after":"Lists BRC quotes.","before":"Lists BRC quotes. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures. Quote references are not necessarily unique — identify a quote by id.","detail":"Description of `brc_list_quotes` changed (92% word delta).","severity":"risky","descriptionDelta":0.9166666666666666},{"kind":"description_changed","tool":"brc_list_supplier_account_trans","after":"Gets a supplier's account transactions.","before":"Gets a supplier's account transactions, including historical transactions. Returned transactions can contain bookTranId and bookTranTypeId. When acting on a returned transaction, do not choose a CRUD endpoint from the display description alone. Resolve bookTranTypeId against the company's /v1/bookTranTypes result first, then use the matching Red transaction tool. Do not assume bookTranId is valid for another document endpoint.","detail":"Description of `brc_list_supplier_account_trans` changed (87% word delta).","severity":"risky","descriptionDelta":0.8695652173913043},{"kind":"description_changed","tool":"brc_route_request","after":"MANDATORY FIRST STEP for Red requests that may create, update, delete, post, email, or batch-write company data. Classify and route a user request between Red's two main behaviours: action (perform the accounting workflow) and help (manual Big Red Cloud instructions). Also returns connection, read, unsupported_action, or unknown when those specialised modes apply. Pass the user's complete original message — never only a confirmation word such as yes or delete it when starting a new action. Action mode always returns a non-empty preferredTools list, allowedTools, and an opaque short-lived routeToken — pass that routeToken on every subsequent transactional tool call for the permitted workflow, including after lookup and preview. unsupported_action means Red cannot map the request to an enabled workflow — explain that to the user; do not invent a routeToken. Help mode runs the unified help search, returns manual resources, sets blockTransactionalTools true, and never issues a transactional routeToken. How-to wording (how do I, how can I, show me how, tell me how, where do I, what are the steps, manual steps for, red-help, /red-help) → mode help. Explicit action wording (add a customer, create a sales invoice, delete customer ABC, can you add a customer for me) → mode action with routeToken. A routeToken does not replace preview-before-posting or user confirmation (confirmWrite). Help mode does not persist — each brc_route_request call is classified independently unless returning confirmation continuation for a pending preview. Read-only classification and help search. Does not require a connected company. When a company is already connected, pass connectionRef silently so the routeToken can bind to that connection and survive MCP session rotation.","before":"MANDATORY FIRST STEP for Red requests that may create, update, delete, post, email, or batch-write company data. Classify and route a user request between Red's two main behaviours: action (perform the accounting workflow) and help (manual Big Red Cloud instructions). Also returns connection, read, correction, unsupported_action, or unknown when those specialised modes apply. Pass the user's complete original message — never only a confirmation word such as yes or delete it when starting a new action. Action mode always returns a non-empty preferredTools list, allowedTools, and an opaque short-lived routeToken — pass that routeToken on every subsequent transactional tool call for the permitted workflow, including after lookup and preview. unsupported_action means Red cannot map the request to an enabled workflow — explain that to the user; do not invent a routeToken. Help mode runs the unified help search, returns manual resources, sets blockTransactionalTools true, and never issues a transactional routeToken. How-to wording (how do I, how can I, show me how, tell me how, where do I, what are the steps, manual steps for, red-help, /red-help) → mode help. Explicit action wording (add a customer, create a sales invoice, delete customer ABC, can you add a customer for me) → mode action with routeToken. Correction / undo / reverse / put it back / change it back / restore wording → mode correction: plan first, do not write immediately, and do not issue a transactional routeToken. This first request is not write confirmation. A routeToken does not replace preview-before-posting or user confirmation (confirmWrite). Help mode does not persist — each brc_route_request call is classified independently unless returning confirmation continuation for a pending preview. Read-only classification and help search. Does not require a connected company. When a company is already connected, pass connectionRef silently so the routeToken can bind to that connection and survive MCP session rotation.","detail":"Description of `brc_route_request` changed (7% word delta).","severity":"safe","descriptionDelta":0.06832298136645965},{"kind":"description_changed","tool":"brc_update_cash_payment","after":"Updates a BRC cash payment using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates an existing Cash Payment by merging supplied fields onto the current record. Fields that can be merged include total, entryDate, procDate, supplierId, acCode, note, ledger, discount, bankAccountId, bankAccountCode, lodgement, analysisCategoryId, accountCode, and description. This update flow is a verified action on the existing record. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_cash_payment` changed (38% word delta).","severity":"risky","descriptionDelta":0.38095238095238093},{"kind":"description_changed","tool":"brc_update_purchase","after":"Updates a BRC purchase using structured MCP fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC purchase using structured MCP fields. Historical transaction dates are not automatically blocked. Existing historical purchases may support text, monetary, date and delete operations; the BRC endpoint is the source of truth. When changing monetary values, preserve the existing unpaid/unallocated state and allow BRC to recalculate allocation fields where required. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_purchase` changed (36% word delta).","severity":"risky","descriptionDelta":0.3647058823529412},{"kind":"description_changed","tool":"brc_update_quote","after":"Updates a BRC quote using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC quote's manual reference only. Quote.note is not persisted by this update and is not accepted here. Loads the current quote, preserves all other fields (including timestamp, product lines, analysis entries, totals, customer, sales rep, dates, comments, and closed state), applies the new reference, then PUTs the full record. Manual quote references must be 6 characters or fewer because Big Red Cloud truncates longer references. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_quote` changed (50% word delta).","severity":"risky","descriptionDelta":0.49514563106796117},{"kind":"input_property_added","path":"inputSchema.properties.note","tool":"brc_update_quote","after":{"type":"string"},"detail":"Optional field `note` was added to `brc_update_quote`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"brc_update_sales_credit_note","after":"Updates a BRC sales credit note using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates an existing BRC sales credit note. Supports text/reference fields, transaction dates, customer/sales-rep fields, and complete product/monetary updates. Historical credit notes are not automatically blocked because they belong to an earlier financial year. The BRC API is the source of truth for whether the requested historical change is permitted. For monetary changes, provide productTrans, totalNet, totalVAT and total together. Do not manually change unpaid; Red preserves the existing BRC value. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_credit_note` changed (44% word delta).","severity":"risky","descriptionDelta":0.4387755102040817},{"kind":"input_property_removed","path":"inputSchema.properties.total","tool":"brc_update_sales_credit_note","before":{"type":"number"},"detail":"Field `total` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.details","tool":"brc_update_sales_credit_note","before":{"type":"string"},"detail":"Field `details` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.procDate","tool":"brc_update_sales_credit_note","before":{"type":"string","description":"Processing date. Historical dates may be attempted; BRC determines whether the update is permitted."},"detail":"Field `procDate` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_credit_note","before":{"type":"number"},"detail":"Field `totalNet` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_credit_note","before":{"type":"number"},"detail":"Field `totalVAT` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_credit_note","before":{"type":"string","description":"Entry date. Historical dates may be attempted; BRC determines whether the update is permitted."},"detail":"Field `entryDate` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.saleRepId","tool":"brc_update_sales_credit_note","before":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Field `saleRepId` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_credit_note","before":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Field `vatTypeId` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.customerId","tool":"brc_update_sales_credit_note","before":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Field `customerId` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.ourReference","tool":"brc_update_sales_credit_note","before":{"type":"string"},"detail":"Field `ourReference` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.productTrans","tool":"brc_update_sales_credit_note","before":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note."},"detail":"Field `productTrans` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.yourReference","tool":"brc_update_sales_credit_note","before":{"type":"string"},"detail":"Field `yourReference` was removed from `brc_update_sales_credit_note` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"description_changed","tool":"brc_update_sales_entry","after":"Updates a BRC sales entry using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates an existing BRC Sales Entry. Supports text/reference changes, transaction dates, customer/account fields, and complete monetary/accounting update attempts. Historical Sales Entries are not automatically blocked because they belong to an earlier financial year. The BRC API is the source of truth for whether a requested historical change is permitted. A note/reference-only update may be performed without supplying monetary fields. For monetary changes, provide totalNet, totalVAT, total, acEntries and vatEntries together so Red can validate the accounting values before sending the update. Do not manually change unpaid; Red preserves the existing BRC value. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_entry` changed (52% word delta).","severity":"risky","descriptionDelta":0.5178571428571428},{"kind":"input_property_removed","path":"inputSchema.properties.total","tool":"brc_update_sales_entry","before":{"type":"number","description":"New gross total. For monetary edits this must equal totalNet + totalVAT."},"detail":"Field `total` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.acCode","tool":"brc_update_sales_entry","before":{"type":"string","description":"Customer account code."},"detail":"Field `acCode` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.details","tool":"brc_update_sales_entry","before":{"type":"string","description":"Sales Entry details/description field."},"detail":"Field `details` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.procDate","tool":"brc_update_sales_entry","before":{"type":"string","description":"Processing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted."},"detail":"Field `procDate` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_entry","before":{"type":"number","description":"New total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries."},"detail":"Field `totalNet` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_entry","before":{"type":"number","description":"New total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries."},"detail":"Field `totalVAT` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.acEntries","tool":"brc_update_sales_entry","before":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet."},"detail":"Field `acEntries` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_entry","before":{"type":"string","description":"Entry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted."},"detail":"Field `entryDate` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_entry","before":{"type":"integer","maximum":9007199254740991,"description":"VAT type id.","exclusiveMinimum":0},"detail":"Field `vatTypeId` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.customerId","tool":"brc_update_sales_entry","before":{"type":"integer","maximum":9007199254740991,"description":"Customer id.","exclusiveMinimum":0},"detail":"Field `customerId` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.vatEntries","tool":"brc_update_sales_entry","before":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT."},"detail":"Field `vatEntries` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.bookTranTypeId","tool":"brc_update_sales_entry","before":{"type":"integer","maximum":9007199254740991,"description":"Book transaction type id. Sales Entries normally use the existing record's transaction type.","exclusiveMinimum":0},"detail":"Field `bookTranTypeId` was removed from `brc_update_sales_entry` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"description_changed","tool":"brc_update_sales_invoice","after":"Updates a BRC sales invoice using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates an existing BRC sales invoice. Can update text/reference fields, transaction dates, customer/sales-rep fields, and the full productTrans line collection. Historical invoices are not automatically blocked because they fall outside the current financial year. The BRC API is the source of truth for whether a historical invoice can be changed. When changing monetary values, provide a complete internally consistent productTrans collection and matching totalNet, totalVAT and total. Do not guess monetary fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_invoice` changed (46% word delta).","severity":"risky","descriptionDelta":0.45999999999999996},{"kind":"input_property_removed","path":"inputSchema.properties.total","tool":"brc_update_sales_invoice","before":{"type":"number"},"detail":"Field `total` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.details","tool":"brc_update_sales_invoice","before":{"type":"string"},"detail":"Field `details` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.procDate","tool":"brc_update_sales_invoice","before":{"type":"string","description":"Processing date. Historical dates are permitted as an attempted update; BRC may accept or reject them."},"detail":"Field `procDate` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_invoice","before":{"type":"number"},"detail":"Field `totalNet` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_invoice","before":{"type":"number"},"detail":"Field `totalVAT` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_invoice","before":{"type":"string","description":"Entry date. Historical dates are permitted as an attempted update; BRC may accept or reject them."},"detail":"Field `entryDate` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.saleRepId","tool":"brc_update_sales_invoice","before":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Field `saleRepId` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_invoice","before":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Field `vatTypeId` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.customerId","tool":"brc_update_sales_invoice","before":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Field `customerId` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.ourReference","tool":"brc_update_sales_invoice","before":{"type":"string"},"detail":"Field `ourReference` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.productTrans","tool":"brc_update_sales_invoice","before":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts."},"detail":"Field `productTrans` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.yourReference","tool":"brc_update_sales_invoice","before":{"type":"string"},"detail":"Field `yourReference` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.bookTranTypeId","tool":"brc_update_sales_invoice","before":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Field `bookTranTypeId` was removed from `brc_update_sales_invoice` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"}],"published_at":"2026-08-17T23:36:38.157Z"},{"slug":"ZV-2026-0124","server_name":"red.bigredcloud.com","severity":"breaking","title":"red.bigredcloud.com: Field companyId on brc_create_quote is now required.","summary":"[safe] Tool brc_generate_support_report was added. [safe] Tool brc_resolve_book_transaction_type was added. [safe] Description of brc_create_purchase changed (19% word delta). [safe] Description of brc_create_purchase_gen_ref changed (20% word delta). [breaking] Field companyId on brc_create_quote is now required. [breaking] Field companyId on brc_create_quote_gen_ref is now required. [safe] Description of brc_delete_purchase changed (24% word delta). [risky] Description of brc_delete_quote changed (43% word delta). [safe] Description of brc_generate_sales_invoice_from_quote changed (24% word delta). [risky] Description of brc_get_quote changed (80% word delta). [safe] Description of brc_list_audit_log changed (13% word delta). [risky] Description of brc_list_customer_account_trans changed (87% word delta). [risky] Description of brc_list_quotes changed (92% word delta). [risky] Description of brc_list_supplier_account_trans changed (87% word delta). [safe] Description of brc_route_request changed (7% word delta). [risky] Description of brc_update_cash_payment changed (38% word delta). [risky] Description of brc_update_purchase changed (36% word delta). [risky] Description of brc_update_quote changed (50% word delta). [breaking] Field note was removed from brc_update_quote input; consumers still sending it may be rejected or silently ignored. [risky] Description of brc_update_sales_credit_note changed (44% word delta). [risky] Optional field customerId was added to brc_update_sales_credit_note; may shift model behaviour. [risky] Optional field details was added to brc_update_sales_credit_note; may shift model behaviour. [risky] Optional field entryDate was added to brc_update_sales_credit_note; may shift model behaviour. [risky] Optional field ourReference was added to brc_update_sales_credit_note; may shift model behaviour. [risky] Optional field procDate was added to brc_update_sales_credit_note; may shift model behaviour. [risky] Optional field productTrans was a","changes":[{"kind":"tool_added","tool":"brc_generate_support_report","detail":"Tool `brc_generate_support_report` was added.","severity":"safe"},{"kind":"tool_added","tool":"brc_resolve_book_transaction_type","detail":"Tool `brc_resolve_book_transaction_type` was added.","severity":"safe"},{"kind":"description_changed","tool":"brc_create_purchase","after":"Creates a BRC purchase using structured MCP fields. Requires a reference when the company is configured for manual purchase references; otherwise prefer brc_create_purchase_gen_ref. A transaction date outside the current financial year is not automatically refused by Red. After the user confirms the requested date, attempt the create request and let the BRC endpoint determine whether that historical date is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","before":"Creates a BRC purchase using structured MCP fields. Requires a reference when the company is configured for manual purchase references; otherwise prefer brc_create_purchase_gen_ref. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","detail":"Description of `brc_create_purchase` changed (19% word delta).","severity":"safe","descriptionDelta":0.1923076923076923},{"kind":"description_changed","tool":"brc_create_purchase_gen_ref","after":"Creates a Purchases Book purchase with a generated reference using structured fields. Use when the company is configured for auto-generated purchase references. A transaction date outside the current financial year is not automatically refused by Red. After the user confirms the requested date, attempt the create request and let the BRC endpoint determine whether that historical date is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","before":"Creates a Purchases Book purchase with a generated reference using structured fields. Use when the company is configured for auto-generated purchase references. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.","detail":"Description of `brc_create_purchase_gen_ref` changed (20% word delta).","severity":"safe","descriptionDelta":0.20192307692307687},{"kind":"input_required_added","path":"inputSchema.required.companyId","tool":"brc_create_quote","detail":"Field `companyId` on `brc_create_quote` is now required.","severity":"breaking"},{"kind":"input_required_added","path":"inputSchema.required.companyId","tool":"brc_create_quote_gen_ref","detail":"Field `companyId` on `brc_create_quote_gen_ref` is now required.","severity":"breaking"},{"kind":"description_changed","tool":"brc_delete_purchase","after":"Deletes a BRC purchase by id using timestamp confirmation. Historical purchases are not automatically blocked because they belong to an earlier financial year. The BRC endpoint determines whether the historical deletion is supported. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Deletes a BRC purchase by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_delete_purchase` changed (24% word delta).","severity":"safe","descriptionDelta":0.23943661971830987},{"kind":"description_changed","tool":"brc_delete_quote","after":"Deletes a BRC quote by id using timestamp confirmation. Loads the quote once to obtain its timestamp and to preview id, reference, customer, total, open or closed state, any linked sales invoice, and timestamp before asking for confirmation. A successful delete is the result; if a later lookup by quote id returns an unexpected error, treat that check as inconclusive rather than as a failed delete. Confirm remaining quotes from the quote list by quote id — quote references are not necessarily unique. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Deletes a BRC quote by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_delete_quote` changed (43% word delta).","severity":"risky","descriptionDelta":0.43157894736842106},{"kind":"description_changed","tool":"brc_generate_sales_invoice_from_quote","after":"Generates a sales invoice from a BRC quote. Preview-before-posting shows the exact POST /v1/quotes/generateSaleInvoice body (quoteId and optional entryDate/procDate only). Nothing is written until you confirm. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Generates a sales invoice from a BRC quote. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_generate_sales_invoice_from_quote` changed (24% word delta).","severity":"safe","descriptionDelta":0.23529411764705888},{"kind":"description_changed","tool":"brc_get_quote","after":"Gets one BRC quote by id. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures.","before":"Gets one BRC quote by id.","detail":"Description of `brc_get_quote` changed (80% word delta).","severity":"risky","descriptionDelta":0.8},{"kind":"description_changed","tool":"brc_list_audit_log","after":"Show a record of data changes (create, update, delete, batch, quote close/reopen, emails, etc.) made through this Red MCP server session. Read-only API calls are not logged. Use this as the source of truth for \"what did I do today in Red?\" style questions. Show only this simple activity summary in chat. After showing it, also prepare a downloadable support diagnostic with brc_generate_support_report — do not paste technical diagnostic fields into the chat summary. When the user asks what they did \"in Red\" (or in Big Red Cloud), answer only from Red/BRC activity for the current Red session and for companies currently connected in this session: the Red/BRC audit log, BRC session actions, and connector-visible BRC activity. Never include activity from other MCP sessions, other users, other connections, or companies that are not currently connected (including ones that were disconnected or cleared). For \"what did I do today/yesterday/last week in Red\", only summarise current-session audit entries for currently connected companies; if older entries exist outside this scope, ignore them completely rather than reporting them. Do not include unrelated Claude chat history such as MCP debugging, Mistral debugging, coding work, or other non-BRC conversations unless the user explicitly asks for broader chat history.","before":"Show a record of data changes (create, update, delete, batch, quote close/reopen, emails, etc.) made through this Red MCP server session. Read-only API calls are not logged. Use this as the source of truth for \"what did I do today in Red?\" style questions. When the user asks what they did \"in Red\" (or in Big Red Cloud), answer only from Red/BRC activity for the current Red session and for companies currently connected in this session: the Red/BRC audit log, BRC session actions, and connector-visible BRC activity. Never include activity from other MCP sessions, other users, other connections, or companies that are not currently connected (including ones that were disconnected or cleared). For \"what did I do today/yesterday/last week in Red\", only summarise current-session audit entries for currently connected companies; if older entries exist outside this scope, ignore them completely rather than reporting them. Do not include unrelated Claude chat history such as MCP debugging, Mistral debugging, coding work, or other non-BRC conversations unless the user explicitly asks for broader chat history.","detail":"Description of `brc_list_audit_log` changed (13% word delta).","severity":"safe","descriptionDelta":0.1311475409836066},{"kind":"description_changed","tool":"brc_list_customer_account_trans","after":"Gets a customer's account transactions, including historical transactions. Returned transactions can contain bookTranId and bookTranTypeId. When acting on a returned transaction, do not choose a CRUD endpoint from bookTypeDesc alone. Resolve bookTranTypeId against the company's /v1/bookTranTypes result first, then use the matching Red transaction tool. Do not assume bookTranId is valid for a different document endpoint.","before":"Gets a customer's account transactions.","detail":"Description of `brc_list_customer_account_trans` changed (87% word delta).","severity":"risky","descriptionDelta":0.8666666666666667},{"kind":"description_changed","tool":"brc_list_quotes","after":"Lists BRC quotes. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures. Quote references are not necessarily unique — identify a quote by id.","before":"Lists BRC quotes.","detail":"Description of `brc_list_quotes` changed (92% word delta).","severity":"risky","descriptionDelta":0.9166666666666666},{"kind":"description_changed","tool":"brc_list_supplier_account_trans","after":"Gets a supplier's account transactions, including historical transactions. Returned transactions can contain bookTranId and bookTranTypeId. When acting on a returned transaction, do not choose a CRUD endpoint from the display description alone. Resolve bookTranTypeId against the company's /v1/bookTranTypes result first, then use the matching Red transaction tool. Do not assume bookTranId is valid for another document endpoint.","before":"Gets a supplier's account transactions.","detail":"Description of `brc_list_supplier_account_trans` changed (87% word delta).","severity":"risky","descriptionDelta":0.8695652173913043},{"kind":"description_changed","tool":"brc_route_request","after":"MANDATORY FIRST STEP for Red requests that may create, update, delete, post, email, or batch-write company data. Classify and route a user request between Red's two main behaviours: action (perform the accounting workflow) and help (manual Big Red Cloud instructions). Also returns connection, read, correction, unsupported_action, or unknown when those specialised modes apply. Pass the user's complete original message — never only a confirmation word such as yes or delete it when starting a new action. Action mode always returns a non-empty preferredTools list, allowedTools, and an opaque short-lived routeToken — pass that routeToken on every subsequent transactional tool call for the permitted workflow, including after lookup and preview. unsupported_action means Red cannot map the request to an enabled workflow — explain that to the user; do not invent a routeToken. Help mode runs the unified help search, returns manual resources, sets blockTransactionalTools true, and never issues a transactional routeToken. How-to wording (how do I, how can I, show me how, tell me how, where do I, what are the steps, manual steps for, red-help, /red-help) → mode help. Explicit action wording (add a customer, create a sales invoice, delete customer ABC, can you add a customer for me) → mode action with routeToken. Correction / undo / reverse / put it back / change it back / restore wording → mode correction: plan first, do not write immediately, and do not issue a transactional routeToken. This first request is not write confirmation. A routeToken does not replace preview-before-posting or user confirmation (confirmWrite). Help mode does not persist — each brc_route_request call is classified independently unless returning confirmation continuation for a pending preview. Read-only classification and help search. Does not require a connected company. When a company is already connected, pass connectionRef silently so the routeToken can bind to that connection and survive MCP session rotation.","before":"MANDATORY FIRST STEP for Red requests that may create, update, delete, post, email, or batch-write company data. Classify and route a user request between Red's two main behaviours: action (perform the accounting workflow) and help (manual Big Red Cloud instructions). Also returns connection, read, unsupported_action, or unknown when those specialised modes apply. Pass the user's complete original message — never only a confirmation word such as yes or delete it when starting a new action. Action mode always returns a non-empty preferredTools list, allowedTools, and an opaque short-lived routeToken — pass that routeToken on every subsequent transactional tool call for the permitted workflow, including after lookup and preview. unsupported_action means Red cannot map the request to an enabled workflow — explain that to the user; do not invent a routeToken. Help mode runs the unified help search, returns manual resources, sets blockTransactionalTools true, and never issues a transactional routeToken. How-to wording (how do I, how can I, show me how, tell me how, where do I, what are the steps, manual steps for, red-help, /red-help) → mode help. Explicit action wording (add a customer, create a sales invoice, delete customer ABC, can you add a customer for me) → mode action with routeToken. A routeToken does not replace preview-before-posting or user confirmation (confirmWrite). Help mode does not persist — each brc_route_request call is classified independently unless returning confirmation continuation for a pending preview. Read-only classification and help search. Does not require a connected company. When a company is already connected, pass connectionRef silently so the routeToken can bind to that connection and survive MCP session rotation.","detail":"Description of `brc_route_request` changed (7% word delta).","severity":"safe","descriptionDelta":0.06832298136645965},{"kind":"description_changed","tool":"brc_update_cash_payment","after":"Updates an existing Cash Payment by merging supplied fields onto the current record. Fields that can be merged include total, entryDate, procDate, supplierId, acCode, note, ledger, discount, bankAccountId, bankAccountCode, lodgement, analysisCategoryId, accountCode, and description. This update flow is a verified action on the existing record. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC cash payment using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_cash_payment` changed (38% word delta).","severity":"risky","descriptionDelta":0.38095238095238093},{"kind":"description_changed","tool":"brc_update_purchase","after":"Updates a BRC purchase using structured MCP fields. Historical transaction dates are not automatically blocked. Existing historical purchases may support text, monetary, date and delete operations; the BRC endpoint is the source of truth. When changing monetary values, preserve the existing unpaid/unallocated state and allow BRC to recalculate allocation fields where required. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC purchase using structured MCP fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_purchase` changed (36% word delta).","severity":"risky","descriptionDelta":0.3647058823529412},{"kind":"description_changed","tool":"brc_update_quote","after":"Updates a BRC quote's manual reference only. Quote.note is not persisted by this update and is not accepted here. Loads the current quote, preserves all other fields (including timestamp, product lines, analysis entries, totals, customer, sales rep, dates, comments, and closed state), applies the new reference, then PUTs the full record. Manual quote references must be 6 characters or fewer because Big Red Cloud truncates longer references. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC quote using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_quote` changed (50% word delta).","severity":"risky","descriptionDelta":0.49514563106796117},{"kind":"input_property_removed","path":"inputSchema.properties.note","tool":"brc_update_quote","before":{"type":"string"},"detail":"Field `note` was removed from `brc_update_quote` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"description_changed","tool":"brc_update_sales_credit_note","after":"Updates an existing BRC sales credit note. Supports text/reference fields, transaction dates, customer/sales-rep fields, and complete product/monetary updates. Historical credit notes are not automatically blocked because they belong to an earlier financial year. The BRC API is the source of truth for whether the requested historical change is permitted. For monetary changes, provide productTrans, totalNet, totalVAT and total together. Do not manually change unpaid; Red preserves the existing BRC value. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC sales credit note using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_credit_note` changed (44% word delta).","severity":"risky","descriptionDelta":0.4387755102040817},{"kind":"input_property_added","path":"inputSchema.properties.customerId","tool":"brc_update_sales_credit_note","after":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Optional field `customerId` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.details","tool":"brc_update_sales_credit_note","after":{"type":"string"},"detail":"Optional field `details` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_credit_note","after":{"type":"string","description":"Entry date. Historical dates may be attempted; BRC determines whether the update is permitted."},"detail":"Optional field `entryDate` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.ourReference","tool":"brc_update_sales_credit_note","after":{"type":"string"},"detail":"Optional field `ourReference` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.procDate","tool":"brc_update_sales_credit_note","after":{"type":"string","description":"Processing date. Historical dates may be attempted; BRC determines whether the update is permitted."},"detail":"Optional field `procDate` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.productTrans","tool":"brc_update_sales_credit_note","after":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note."},"detail":"Optional field `productTrans` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.saleRepId","tool":"brc_update_sales_credit_note","after":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Optional field `saleRepId` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.total","tool":"brc_update_sales_credit_note","after":{"type":"number"},"detail":"Optional field `total` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_credit_note","after":{"type":"number"},"detail":"Optional field `totalNet` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_credit_note","after":{"type":"number"},"detail":"Optional field `totalVAT` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_credit_note","after":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Optional field `vatTypeId` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.yourReference","tool":"brc_update_sales_credit_note","after":{"type":"string"},"detail":"Optional field `yourReference` was added to `brc_update_sales_credit_note`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"brc_update_sales_entry","after":"Updates an existing BRC Sales Entry. Supports text/reference changes, transaction dates, customer/account fields, and complete monetary/accounting update attempts. Historical Sales Entries are not automatically blocked because they belong to an earlier financial year. The BRC API is the source of truth for whether a requested historical change is permitted. A note/reference-only update may be performed without supplying monetary fields. For monetary changes, provide totalNet, totalVAT, total, acEntries and vatEntries together so Red can validate the accounting values before sending the update. Do not manually change unpaid; Red preserves the existing BRC value. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC sales entry using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_entry` changed (52% word delta).","severity":"risky","descriptionDelta":0.5178571428571428},{"kind":"input_property_added","path":"inputSchema.properties.acCode","tool":"brc_update_sales_entry","after":{"type":"string","description":"Customer account code."},"detail":"Optional field `acCode` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.acEntries","tool":"brc_update_sales_entry","after":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet."},"detail":"Optional field `acEntries` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.bookTranTypeId","tool":"brc_update_sales_entry","after":{"type":"integer","maximum":9007199254740991,"description":"Book transaction type id. Sales Entries normally use the existing record's transaction type.","exclusiveMinimum":0},"detail":"Optional field `bookTranTypeId` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.customerId","tool":"brc_update_sales_entry","after":{"type":"integer","maximum":9007199254740991,"description":"Customer id.","exclusiveMinimum":0},"detail":"Optional field `customerId` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.details","tool":"brc_update_sales_entry","after":{"type":"string","description":"Sales Entry details/description field."},"detail":"Optional field `details` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_entry","after":{"type":"string","description":"Entry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted."},"detail":"Optional field `entryDate` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.procDate","tool":"brc_update_sales_entry","after":{"type":"string","description":"Processing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted."},"detail":"Optional field `procDate` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.total","tool":"brc_update_sales_entry","after":{"type":"number","description":"New gross total. For monetary edits this must equal totalNet + totalVAT."},"detail":"Optional field `total` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_entry","after":{"type":"number","description":"New total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries."},"detail":"Optional field `totalNet` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_entry","after":{"type":"number","description":"New total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries."},"detail":"Optional field `totalVAT` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.vatEntries","tool":"brc_update_sales_entry","after":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT."},"detail":"Optional field `vatEntries` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_entry","after":{"type":"integer","maximum":9007199254740991,"description":"VAT type id.","exclusiveMinimum":0},"detail":"Optional field `vatTypeId` was added to `brc_update_sales_entry`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"brc_update_sales_invoice","after":"Updates an existing BRC sales invoice. Can update text/reference fields, transaction dates, customer/sales-rep fields, and the full productTrans line collection. Historical invoices are not automatically blocked because they fall outside the current financial year. The BRC API is the source of truth for whether a historical invoice can be changed. When changing monetary values, provide a complete internally consistent productTrans collection and matching totalNet, totalVAT and total. Do not guess monetary fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","before":"Updates a BRC sales invoice using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply.","detail":"Description of `brc_update_sales_invoice` changed (46% word delta).","severity":"risky","descriptionDelta":0.45999999999999996},{"kind":"input_property_added","path":"inputSchema.properties.bookTranTypeId","tool":"brc_update_sales_invoice","after":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Optional field `bookTranTypeId` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.customerId","tool":"brc_update_sales_invoice","after":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Optional field `customerId` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.details","tool":"brc_update_sales_invoice","after":{"type":"string"},"detail":"Optional field `details` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.entryDate","tool":"brc_update_sales_invoice","after":{"type":"string","description":"Entry date. Historical dates are permitted as an attempted update; BRC may accept or reject them."},"detail":"Optional field `entryDate` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.ourReference","tool":"brc_update_sales_invoice","after":{"type":"string"},"detail":"Optional field `ourReference` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.procDate","tool":"brc_update_sales_invoice","after":{"type":"string","description":"Processing date. Historical dates are permitted as an attempted update; BRC may accept or reject them."},"detail":"Optional field `procDate` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.productTrans","tool":"brc_update_sales_invoice","after":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Complete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts."},"detail":"Optional field `productTrans` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.saleRepId","tool":"brc_update_sales_invoice","after":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Optional field `saleRepId` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.total","tool":"brc_update_sales_invoice","after":{"type":"number"},"detail":"Optional field `total` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalNet","tool":"brc_update_sales_invoice","after":{"type":"number"},"detail":"Optional field `totalNet` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.totalVAT","tool":"brc_update_sales_invoice","after":{"type":"number"},"detail":"Optional field `totalVAT` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.vatTypeId","tool":"brc_update_sales_invoice","after":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"detail":"Optional field `vatTypeId` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.yourReference","tool":"brc_update_sales_invoice","after":{"type":"string"},"detail":"Optional field `yourReference` was added to `brc_update_sales_invoice`; may shift model behaviour.","severity":"risky"}],"published_at":"2026-08-17T22:34:43.819Z"}]