apideck-mcp-month-end-close
Skill4 starsChanged 3 months agoApache-2.0View on GitHub
Task playbook for fetching a month-end financial snapshot via the Apideck MCP server's `apideck-month-end-close-check` workflow tool. Use when the user asks for a P&L, balance sheet, aged creditors, or aged debtors view at a point in time. Read-only, idempotent, returns partial snapshots when some reports aren't supported by the connector.
In this repository182 other files it gives its agents.
- AGENTS.mdAGENTS.md
- llms.txtllms.txt
- access-financialsSkill
- acertaSkill
- activecampaignSkill
- actSkill
- acumaticaSkill
- adp-ihcmSkill
- adp-runSkill
- adp-workforce-nowSkill
- afasSkill
- alexishrSkill
- amazon-seller-centralSkill
- apideck-best-practicesSkill
- apideck-codegenSkill
- apideck-connector-coverageSkill
- apideck-dotnetSkill
- apideck-goSkill
- apideck-javaSkill
- apideck-mcp-onboard-employeeSkill
- apideck-mcp-pay-billSkill
- apideck-mcp-receive-paymentSkill
- apideck-mcpSkill
- apideck-migrationSkill
- apideck-nodeSkill
- apideck-phpSkill
- apideck-portmanSkill
- apideck-pythonSkill
- apideck-restSkill
- apideck-unified-apiSkill
- asanaSkill
- attioSkill
- azure-active-directorySkill
- azure-devopsSkill
- bamboohrSkill
- banqupSkill
- basecampSkill
- bigcommerceSkill
- blackbaudSkill
- bol-comSkill
- boxSkill
- breathehrSkill
- bullhorn-atsSkill
- campfireSkill
- cascade-hrSkill
- catalystoneSkill
- cegid-talentsoftSkill
- ceridian-dayforceSkill
- cezannehrSkill
- charliehrSkill
- ciphrSkill
- clearbooks-ukSkill
- clickupSkill
- closeSkill
- copperSkill
- deelSkill
- digitsSkill
- dropboxSkill
- dualentrySkill
- ebaySkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
When the user wants a one-shot financial snapshot, prefer apideck-month-end-close-check over fetching the four reports individually.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Month-end close snapshot (Apideck MCP)
When the user wants a one-shot financial snapshot, prefer apideck-month-end-close-check over fetching the four reports individually. The workflow fans out aged creditors, aged debtors, balance sheet, and profit-and-loss in parallel against the connected accounting service and returns one aggregated object.
When this is the right tool
| User intent | Tool |
| "Run the month-end close", "P&L plus balance sheet for last month", "Aged AP/AR snapshot as of March 31" | apideck-month-end-close-check ✓ |
| "Just the P&L" | accounting-profit-and-loss-get directly |
| "Just aged creditors" | accounting-aged-creditors-get directly |
| "Reconcile bank statements" | Out of scope — use the connector's native reconciliation |
IMPORTANT RULES
- READ-ONLY, idempotent. Safe to call repeatedly — no confirmation needed. The tool fetches data; it doesn't post anything.
- OMIT
report_as_of_dateto use today. Most users running a month-end ask for "last month", in which case pass an explicitYYYY-MM-DDlike"2026-03-31". - EXPECT partial results. Connector coverage varies — Odoo doesn't implement aged-creditors, Moneybird doesn't implement balance-sheet, etc. The workflow returns
{ unsupported: true, reason }for steps the connector can't fulfill, plus a top-levelwarnings[]array. Surface these to the user instead of treating them as failures. isError: trueonly fires when every report failed — typically a missing connection or expired credentials. Partial snapshots come back asisError: falseso the agent can still extract value.
Argument map
| Arg | Required | Default | Notes |
report_as_of_date | no | today (YYYY-MM-DD) | Cutoff date for aged reports + balance sheet. |
x-apideck-service-id | no | first accounting connection | E.g. "xero", "quickbooks". |
Result shape
Full success
{
"report_as_of_date": "2026-03-31",
"service_id": "xero",
"aged_creditors": { "summary": [...] },
"aged_debtors": { "summary": [...] },
"balance_sheet": { "assets": 100000, ... },
"profit_and_loss":{ "revenue": 250000, ... }
}Partial — some reports unsupported
{
"report_as_of_date": "2026-03-31",
"service_id": "odoo",
"aged_creditors": { "unsupported": true, "reason": "Aged-creditors not implemented for Odoo" },
"aged_debtors": { "unsupported": true, "reason": "..." },
"balance_sheet": { "assets": 100000, ... },
"profit_and_loss":{ "revenue": 250000, ... },
"warnings": [
"aged_creditors: unsupported on odoo (...)",
"aged_debtors: unsupported on odoo (...)"
]
}isError: false — two reports came back, that's still useful.
Total failure
{
"report_as_of_date": "2026-03-31",
"service_id": null,
"aged_creditors": { "error": "..." },
"aged_debtors": { "error": "..." },
"balance_sheet": { "error": "..." },
"profit_and_loss":{ "error": "..." },
"warnings": [...]
}With isError: true. Usually a missing connection — surface the elicitation URL.
Worked example
User: "Give me a month-end snapshot for March 2026 from QuickBooks."
{
"name": "apideck-month-end-close-check",
"arguments": {
"report_as_of_date": "2026-03-31",
"x-apideck-service-id": "quickbooks"
}
}Then summarize for the user, calling out any unsupported rows distinctly:
On 2026-03-31 in QuickBooks: revenue $250K, total assets $100K. Aged creditors / aged debtors aren't supported by this connector — pull those from the Bills-list and Invoices-list reports if you need them.
Common failure modes
| Symptom | Cause | Fix |
All four reports unsupported | Connector doesn't implement these (e.g. Odoo without the Reports module) | Surface the limitation; suggest aggregating from accounting-bills-list + accounting-invoices-list instead |
UnsupportedFiltersError on a report | Connector rejects filter[report_as_of_date] or filter[end_date] | Connector quirk — currently surfaces as unsupported with the upstream message |
UrlElicitationRequiredError | Connection expired/missing | Surface consent URL, retry |
Related
apideck-mcp— front-door skill- Workflow source: src/gen/workflows/monthEndClose.ts
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

