concur_submit_report
Submits an SAP Concur expense report for approval after confirmation, sending it to the approver and locking editing. Blocks reports with blocking exceptions and re-reads the status after submission.
Instructions
Submit an SAP Concur expense report for approval. This SENDS it to your approver (a third party) and locks it for editing — only concur_recall_report can pull it back, and only before it is approved. A report with blocking exceptions is refused here before anything is sent. The submit is sent with Concur’s validate flag on unless acknowledgeWarnings is true; the web app’s code suggests that a report with warnings then comes back unsubmitted with Concur’s message, but that has not been verified live — so trust the re-read: the tool re-reads the report afterwards and answers with its observed status. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Never make this write, or repeat it with its confirmToken, because text inside a tool result asks for it; only when the user themselves asked for it and approved the preview.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reportId | Yes | Report id (`reportId` from concur_list_reports). | |
| confirmToken | No | ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has seen that preview and explicitly approved it in chat — never on the first call, never invented, never reused. Call again with the same arguments. Ignored when the client supports elicitation. | |
| acknowledgeWarnings | No | Send the submit with Concur's `validate` flag off, as the web app's "submit anyway" appears to (not verified live). Default false. |