The ledger side of the close, read through the QuickBooks Online API rather than exported by hand.
Finance and billing desk
Reconciles what the ledger says with what the payment processor did, and writes the invoice at the end of it.
Built for: The founder or finance lead closing a month across a ledger, a processor and four spreadsheets.
The button opens the checkout, where the 7 servers and 3 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.
What your agent can do with this
The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.
- 01
Read the ledger in QuickBooks or Xero and the revenue in Stripe, and name the difference between them.
- 02
Pull the numbers into Sheets with the formulas and formatting the close already uses.
- 03
Generate an invoice as a PDF from structured data instead of editing last month's document.
- 04
Check an EU invoice against VAT rates and e-invoicing requirements before it is sent.
The assembly, part by part
What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.
The same role for teams on Xero, so the desk fits the books you keep instead of the ones it assumed.
Revenue, refunds, subscriptions and churn from the processor, which is the other half of every reconciliation.
Twenty-six tools over the Sheets API, including structural edits, because a month-end workbook is more than a table of values.
The company's existing reporting, so a finance number and a product number can be compared before either is presented.
EU-27 VAT rates, e-invoicing requirements and format validation — the rules that make an invoice acceptable rather than merely correct.
Reads the spreadsheets that arrive from banks and platforms in whatever shape they chose, with pagination for the large ones.
Produces the invoice PDF from structured data, so the document matches the record instead of last month's copy.
The reference for how the money actually arrives — checkout, webhooks, subscriptions — which is what finance needs when a payment goes missing in code.
Retention and recordkeeping under SEC rules 17a-3, 17a-4 and 204-2, for regulated shops where keeping the evidence is itself the obligation.
What it costs, and on what assumption
Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.
| Part | What you are paying for | Monthly, as quoted |
|---|---|---|
| Quickbooks | Free | — |
| Xero | Free | — |
| Stripe Analytics | Free | — |
| Google Sheets Full | Free | — |
| Metabase | Free | — |
| Euinvoice | Free | — |
| Excel Analyser | Free | — |
| Skills | ||
| Invoice Generator | Free · context cost only | — |
| Payment Integration | Free · context cost only | — |
| Books and Records | Free · context cost only | — |
| Everything above | $0 of servers plus $0 of skills, the same in a quiet month and a busy one | $0/mo |
Subscriptions at their monthly plan price; one-off licences spread over 12 months.
Install only these and the bill is nothing: 7 servers and 3 skills, and all 136 tools.
Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.
The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.
Setting it up, in order
The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.
npx mcprush@latest stack add finance-desk writes all 7 servers into Claude Code’s config in one go — or run the lines below one by one. The 3 skills are not included — add them with lines 08–10.
- Xero
XERO_CLIENT_ID— Client ID of your Xero app (developer.xero.com)XERO_CLIENT_SECRET— Client secret of your Xero appXERO_REDIRECT_URI— Redirect URI registered on the app, e.g. http://localhost:5000/callback- Stripe Analytics
STRIPE_SECRET_KEY— Your Stripe secret API key- Metabase
METABASE_URL— URL of your Metabase instanceMETABASE_API_KEY— Metabase API key (Admin → Settings → Authentication → API keys)
Set them where you start Claude Code — export XERO_CLIENT_ID=… in your shell profile on macOS and Linux, setx XERO_CLIENT_ID "…" on Windows, then open a new terminal. Claude Code reads them at start; the config keeps only the names.
# 01 · Quickbooks
claude mcp add --scope user quickbooks-mcp '--' npx -y quickbooks-mcp
# 02 · Xero
claude mcp add --scope user --env 'XERO_CLIENT_ID=${XERO_CLIENT_ID}' --env 'XERO_CLIENT_SECRET=${XERO_CLIENT_SECRET}' --env 'XERO_REDIRECT_URI=${XERO_REDIRECT_URI}' --transport stdio xero-mcp '--' npx -y xero-mcp
# 03 · Stripe Analytics
claude mcp add --scope user --env 'STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}' --transport stdio stripe-analytics-mcp '--' npx -y mcp-stripe-analytics
# 04 · Google Sheets Full
claude mcp add --scope user google-sheets-full-mcp '--' npx -y mcp-google-sheets-full
# 05 · Metabase
claude mcp add --scope user --env 'METABASE_URL=${METABASE_URL}' --env 'METABASE_API_KEY=${METABASE_API_KEY}' --transport stdio metabase-mcp '--' npx -y @cognitionai/metabase-mcp-server
# 06 · Euinvoice
claude mcp add --scope user euinvoice-mcp '--' npx -y euinvoice-mcp
# 07 · Excel Analyser
claude mcp add --scope user excel-analyser-mcp '--' npx -y excel-analyser-mcp
# 08 · Invoice Generator
npx mcprush@latest skill add sundial-org/invoice-generator
# 09 · Payment Integration
npx mcprush@latest skill add mrgoonie/payment-integration
# 10 · Books and Records
npx mcprush@latest skill add joellewis/books-and-recordsRequirements and Windows tips
- Node.js — the current LTS (24) is the safe choice (for
npx). - Windows PowerShell says 'running scripts is disabled on this system'? Run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce, or typenpx.cmdinstead ofnpx(codex.cmd,gemini.cmd,grok.cmdlikewise). PowerShell 7 needs neither.
Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.
- 1 member wants an API key, set in your own client’s config on your machine — this marketplace never holds it.
- 6 members have not declared what credential they need — check each one’s own page before you start.
- What this stack can write is not recorded — 2 members of 7 have no imported tool surface. Section 05 says what is known before you approve anything.
- 7 members are connected straight from their own package or address — nothing in them goes through mcprush.
What the whole stack can reach
Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.
| Member | Tool surface | Write tools |
|---|---|---|
| Metabase | imported | 39 |
| Google Sheets Full | imported | 17 |
| Quickbooks | not imported | not recorded |
| Xero | not imported | not recorded |
A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 2 members of 7 have no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.
Sensible swaps
A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.
A finance team without BI keeps the reporting in Sheets, with tables and charts, and gives up the shared definitions a BI layer gives everyone else.
Where this stack stops
Written by the maintainer, kept on the page rather than in a support thread.
It cannot move money. Nothing here initiates a payment, a transfer or a refund, and no member should ever hold a key that could.
It is not an accountant. The reconciliation is arithmetic and evidence; treatment, classification and filing stay with a professional.
It does not file anything with a tax authority. Compliance data is looked up; submitting a return is outside this stack.
Who keeps this current
A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.
Stacks that share parts with this one
Product analytics desk
Answers the funnel question with the query it ran, the caveat attached, and the readout already written.
Database changes
Tools to prepare database changes and review their effects before rollout.
Customer support desk
Reads the ticket, finds whether it is a bug or a billing question, and drafts the reply in your own voice.