FP&AAnalysisCategoriesAnalytical fields

Where the money goes: spend by category and by analytical axis, without a pivot table

Asked for spend "by analytical code", the assistant gets one list that mixes expense categories, regions and every other axis. Here is how to isolate one axis, check that the total reconciles, and find the share of spend that is not coded.

The Spendesk MCP team·5 October 2026·6 min read
Where the money goes: spend by category and by analytical axis, without a pivot table

The problem

"Where does the money go?" is the first question an FP&A analyst gets, and the answer usually starts with an export and a pivot table by category.

The Spendesk MCP can give that breakdown directly. There is one thing to know first: spend has no "category" dimension of its own. Categories come out in the same list as every other analytical axis — regions, projects, whatever your company has set up. Read that list as is and the figures add up to more than you spent.

The exchanges below are reconstructed from tests run on a Spendesk demo account on 5 October 2026. The wording is rewritten for readability; the figures and outcomes are the ones the tools returned.

Spend by category, with a check that it reconciles

Claude Code — MCP Spendesk
Vous
Where does the money go by expense category over the last 12 months?
⚙get_expense_categories⚙spendesk_analyze_spend
C

Using 2025-10-01 to 2026-09-30. Total spend: EUR 113720.26 across 25 expenses.

CategoryAmountShare of totalExpensesHighest month
IT & Technical feesEUR 87235.3676.7%19July 2026
Announcements & AdsEUR 25984.9022.8%3September 2026
Travel & ExpenseEUR 500.000.4%3June 2026
✅The three categories add up to EUR 113720.26, exactly the total: every expense has a category.
⚠️IT & Technical fees is not a steady run rate: EUR 82425.37 of it, about 94%, falls in July alone. Treat it as a one-off, not a trend.

Would you like the month-by-month series for one category?

Two things happened behind this answer. The assistant first fetched the list of categories, then kept only the rows that matched them. And it recomputed each share on the real total, rather than reusing the percentages returned with the rows.

Why the list cannot be read as is

Claude Code — MCP Spendesk
Vous
Show me spend by analytical code, all of them, same period.
⚙spendesk_analyze_spend
C

Here is the raw list — to be read with care:

CodeAmount
FranceEUR 87783.36
IT & Technical feesEUR 87235.36
GM BudgetEUR 66516.00
Announcements & AdsEUR 25984.90
Finance BudgetEUR 18219.36
……
⚠️These rows add up to far more than the EUR 113720.26 actually spent. They belong to different axes: "IT & Technical fees" is one of the expense categories fetched just before, while "France" and "GM Budget" are not categories and come from other fields — the list itself does not say which. One expense carries one value per axis, so it is counted once per axis.
→Never add these rows together, and never compare a region with a category
→Tell me which axis you want, and I will keep only its values

The list does not say which axis each row belongs to. The only reliable way to isolate one is to fetch that axis's values first and filter on them.

Spend by region, and what is not allocated

Claude Code — MCP Spendesk
Vous
Spend by region over the same period, and how much is not tied to any region?
⚙get_analytical_fields⚙get_analytical_field_values⚙spendesk_analyze_spend
C

Axis used: Region (7 values: Austria, Belgium, France, Germany, Luxembourg, Monaco, Spain).

RegionAmountShare of totalExpenses
FranceEUR 87783.3677.2%21
Other regionsEUR 0.00—0
Not allocated to a regionEUR 25936.9022.8%—
→Only France carries spend on this axis
→EUR 25936.90 has no region at all: that is the figure to chase if regional reporting matters

The unallocated share is often the most useful line. It is the total minus what the axis explains, and no tool returns it directly. Treat it as an estimate: rows add up expense lines while the total counts each expense once, so the two can differ slightly even when everything is allocated.

What to know

  • Role required. The Spendesk MCP can only be used by a Controller or an Account Owner of the company concerned. With any other role, these requests do not work.
  • Amounts include VAT and follow the document date, not the accounting date.
  • Credit notes are netted off, so a category can be lower than its gross invoices.
  • 366 days at most per request. For a longer history, the assistant runs several periods and combines them only when all have succeeded.
  • Ask for enough rows. By default only the ten largest rows come back and the rest is grouped as "Others"; with several axes mixed in one list, the category you want can be in there.
  • No budget. For a variance against budget by category, give the assistant the budget figures.
  • Categories are employee-facing labels, not accounting accounts.

Key takeaways

  • There is no "category" dimension: categories and every custom analytical field come back in one mixed list (cost centers have their own grouping)
  • Isolate an axis by fetching its values first, then keeping only those rows
  • Check the total: for categories on this account, the rows matched the total to the cent
  • The share not allocated to an axis is the total minus what the axis explains
  • Two skills do this in order: See where the money goes by category and Analyse spend by project or region

Related skills

Interested in AI Agent services or Custom Integrations?