get_mtd_deadlines
MTD deadlines
Returns the four MTD for Income Tax quarterly update periods for a tax year (standard and calendar period ends), each deadline, the final declaration date, and days until the next deadline. Works without signing in.
Use this when: someone asks when the next quarterly update is due or what a Quarter covers.
Not for: whether a particular Client has sent records (whos_outstanding).
Parameterstax_year
get_started
Where am I up to
Returns the practice's setup and current position: plan and active Clients vs limit, Clients, open Chases per Quarter, settings still unset, and the next few things the practitioner can say.
Use this when: the practitioner asks where they're up to or what to do next.
Takes no parameters.
update_practice
Update practice settings
Changes what Clients see and how MTD Chase behaves for this practice: name shown to Clients, reply-to email, sign-off, phone shown on the Client's page, how many days before the HMRC deadline Clients are asked to send by (0–30, default 10; applies to Chases started afterwards), how many days after a deadline files are kept (30–365), daily summary email on/off, and the default checklist new Chases ask Clients for (1–8 items; running Chases keep theirs). Returns before → after.
Use this when: the practitioner changes their details, the date clients are asked to send by, their default checklist, or retention.
Parametersnamephonesign_offask_by_daysdaily_summaryreply_to_emailretention_daysidempotency_keydefault_checklist
export_practice_data
Export practice data
Exports everything the practice holds in MTD Chase (Clients, Chases with history, Nudges sent, Records list, requests) as one JSON file; returns a download link for the signed-in practitioner.
Use this when: they want a copy of their data or are leaving.
Takes no parameters.
request_feature
Request a feature
Files a request with MTD Chase when the user asks for something none of the other tools can do, or adds a vote to a matching open request; returns its ID, status and any workaround with existing tools. No date is promised.
Use this when: the practitioner wants a capability MTD Chase doesn't have.
Not for: reporting a single Client's problem.
Parametersurgencyrequiredidempotency_keywhat_the_user_wantedrequiredclosest_existing_toolwhat_they_were_trying_to_achieverequired
list_my_requests
List my feature requests
Lists the practice's feature requests with status (open, planned, live, declined), how many times each was asked for, the workaround meanwhile, and for declined ones the reason.
Use this when: asked what happened to something they asked for.
Not for: asking for something new (request_feature) or what's recently live for everyone (whats_new).
Takes no parameters.
Lists changes that went live recently in MTD Chase, and which of this practice's requests are now live, with the date each went live and what to say to try it.
Use this when: the practitioner asks what's new, or whether something they asked for is live yet.
Takes no parameters.
Adds Clients (people the practice does MTD quarterly updates for) from a pasted list; matches existing Clients by email, else exact name. confirm:false (default) shows what would be added, skipped as duplicates, or rejected, and the plan-limit effect; confirm:true saves. Max 500.
Use this when: setting up or adding MTD clients from a spreadsheet or accounting-software export, or a typed list.
Not for: changing one Client (update_client).
Parametersclientsrequiredconfirmidempotency_key
update_client
Update a Client
Changes one Client's name, email, mobile, period type (standard/calendar), tags or reference. Returns before → after.
Use this when: a Client's details change.
Not for: stopping chasing someone (archive_client) or pausing nudges (pause_nudges).
Parametersrefnametagsemailclientrequiredmobileperiod_typeidempotency_key
archive_client
Archive or unarchive a Client
Archives a Client who has left: their open Chases become skipped and their links stop working; they stop counting towards the plan limit. confirm:false (default) shows what would change. unarchive:true brings them back.
Use this when: a Client leaves the practice or comes back.
Parametersclientrequiredconfirmunarchiveidempotency_key
Lists Clients with contact details, period type, tags and the status of their Chase for the current Quarter.
Use this when: looking up who the practice has, finding a Client's details, or seeing a tagged group (e.g. landlords) with this Quarter's status.
Parameterstagtextperiod_typeinclude_archived
start_chase
Chase a Quarter
Starts chasing Clients for their records for a Quarter: each gets a personal link (no login, works on a phone) and a first email; then Nudges go out on the practice's plan until they send their records. confirm:false (default) shows who would be chased, who has no email, the checklist and the dates (the date Clients are asked to send by, and the HMRC deadline); confirm:true starts it. Safe to repeat: Clients already being chased are left alone.
Use this when: asking Clients to send their records for a Quarter — everyone, a group by tag, or one Client — including particular items such as bank statements or receipts (checklist).
Not for: reminding Clients already being chased (send_nudges_now); documents unrelated to the quarterly update.
Parametersclientsrequiredconfirmquarterchecklistidempotency_key
get_chase_links
Get Chase links
Returns each Client's personal records link for a Quarter and a ready-to-paste message for a messaging app or text.
Use this when: the practitioner wants to send a link themselves (no email on file, or they prefer a messaging app or text).
Parametersclientsquarter
mark_chase
Set a Chase status
Sets one Client's Chase for a Quarter to ready, partial, nothing_to_report, skipped or back to waiting, with an optional note; Nudges stop for ready/nothing_to_report/skipped and resume for waiting/partial. The change is recorded in the Client's history.
Use this when: records arrived another way (office, post, email) or a Client should be skipped this Quarter.
Parametersnoteclientrequiredstatusrequiredquarterrecountidempotency_key
Lists the files (name, size, received) a Client sent through their link for a Quarter — or for every Client in a Quarter — with download links valid 24 hours for the signed-in practitioner, and the Client's note marked as written by the Client.
Use this when: asked what a Client sent or to download it.
Parametersclientquarter
set_nudge_plan
Set the nudge plan
Sets when Nudges (reminder emails) go out for every Chase, including ones already running, counted from the date Clients are asked to send by (the ask-by date): days before it, on the day, and days after it, sent at 09:00 UK time on weekdays. A value left out keeps its current setting. Returns the plan in words and this Quarter's remaining nudge dates.
Use this when: the practitioner wants reminders on different days.
Not for: one extra reminder now (send_nudges_now), one Client (pause_nudges), or the ask-by date itself (update_practice).
Parametersdays_afteron_the_daydays_beforeidempotency_key
Sends a Nudge email now to Clients who haven't finished sending records for a Quarter (waiting or partial), at most one per Client per day. confirm:false (default) lists who would get one and who is excluded (no email, nudged today, paused); confirm:true sends.
Use this when: chasing up everyone outstanding, or named Clients, now — an extra reminder outside the plan.
Parametersclientsconfirmquarteronly_statusidempotency_key
pause_nudges
Pause or resume Nudges
Stops all Nudges to one Client until a date (YYYY-MM-DD) or until resumed; resume:true restarts them. The result warns if the pause runs past a deadline.
Use this when: a Client is ill, away or has asked for no reminders for now.
Not for: a Client who has left (archive_client) or has sent their records (mark_chase).
Parametersuntilclientrequiredresumeidempotency_key
whos_outstanding
Who's outstanding
Returns the Clients who haven't finished sending records for a Quarter (waiting or partial), with days to/after the date they were asked to send by, last Nudge, whether they opened their link, and counts per status.
Use this when: asked who's still outstanding, who's sent what, or how the Quarter is going.
Not for: one tagged group (list_clients with tag).
Parametersquarterlate_last_quarter
get_client_history
Client history
Returns a Client's Chases across Quarters — when they finished and how many days early or late against the date they were asked to send by (and whether before or after the HMRC deadline) — with a one-line summary. Without a client, returns every active Client ranked by how late they usually are.
Use this when: asked whether a Client is usually late, how they did last time, or who's always late.
Not for: who hasn't sent records this Quarter (whos_outstanding).
Parametersclient