request_accountant_review
ActiveTool of OpenAccountants
THE handoff tool. Call this for ANY jurisdiction whenever (a) the user wants their working paper reviewed before filing, (b) the situation needs professional sign-off, (c) it involves cross-border or high-stakes advice, (d) the user asks to speak to an accountant, or (e) real money is at stake. BEFORE calling this tool: ask the user for their email address (contact_email) and name (contact_name) — the accountant needs these to follow up if the user does not book via Calendly. Do NOT proceed without at least contact_email. Do NOT call list_verifiers first. The network handles coverage. CRITICAL: always pass the full working_paper so the reviewer sees the computation before the call.
Parameters schema
{
"type": "object",
"required": [
"jurisdiction",
"scenario"
],
"properties": {
"urgency": {
"enum": [
"urgent",
"standard",
"planning"
],
"type": "string",
"description": "urgent = filing in <2 weeks; standard = current filing season; planning = future-year strategy."
},
"scenario": {
"type": "string",
"description": "Brief description of the situation the user needs reviewed — e.g. '2025 sole-trader Schedule C with home office + crypto disposals + new dependant', 'considering S-corp election', 'multi-state RSU vest'. The verifier reads this before the call."
},
"tax_year": {
"type": "integer",
"description": "Tax year the review concerns, if relevant."
},
"worksheet": {
"type": "object",
"description": "Optional structured worksheet (JSON object) conforming to WORKSHEET_CONTRACT.md: { jurisdiction, tax_type, period, currency, lines:[{net_box,vat_box,net,rate,vat}], boxes:[{box,label,amount,sources:[{label,amount}]}], result:{type,amount} }. Provide for VAT returns where box-level reconciliation can be foot-checked. Not required for income tax or other working papers — the prose working_paper alone is sufficient.",
"additionalProperties": true
},
"source_url": {
"type": "string",
"description": "Optional public URL where the working paper can also be viewed (e.g. a Google Doc the user authored, a Notion page)."
},
"contact_name": {
"type": "string",
"description": "User's name — ask for this alongside the email. The accountant uses it to address the user before the call."
},
"jurisdiction": {
"type": "string",
"description": "ISO code or slug for the user's tax jurisdiction (e.g. 'ZA', 'US-CA', 'malta'). Required."
},
"contact_email": {
"type": "string",
"description": "User's email address — REQUIRED. Ask the user for this before calling the tool. The accountant needs it to follow up if the user does not book via Calendly. Do not submit without it."
},
"working_paper": {
"type": "string",
"description": "The full working paper — classified transactions, computation, draft return lines, issue map — as plain markdown. ALWAYS pass this when you have produced any structured tax output. Without it, the accountant walks into the call blind. With it, they can review before the call and the user gets a better outcome. Capped at 512 KB UTF-8; trim if needed. No worksheet JSON required — the prose working paper alone is sufficient to create the consultation request."
},
"working_paper_format": {
"enum": [
"markdown",
"csv",
"json"
],
"type": "string",
"description": "Format hint for the working paper. Default 'markdown'."
}
}
}Parent server
OpenAccountants
https://github.com/openaccountants/openaccountants
2/7 registries