Compare spend per person across teams

Compares teams on spend per person, from headcount you supply or from the number of people who spent.

Finance AnalystCFO๐Ÿ“† MonthlyIntermediateRead-only

Ask it like this

Here is our headcount by team: what is the spend per person this quarter?

When to use it

When you want to compare teams on their spend per person.

What it produces

A table per cost center with spend, number of people, spend per person and gap to the average.

How it works

  1. 1Asks you for headcount by team, which it does not know
  2. 2Totals spend per cost center
  3. 3Works out each team's spend per person
  4. 4Compares each team with the average
  5. 5Details the suppliers that explain a gap

What protects you

  • This skill only reads: it changes nothing in Spendesk
  • It acts with your permissions and your role, never beyond
  • The assistant cannot approve or pay
โ–ธTechnical detail78/100 ยท 2 tools
Spend analysisReportsspendesk_analyze_spendget_users

# Spend per employee

## Purpose

Compare teams on their spend per person, and spot those that stand well away from the average.

## The limit that shapes this skill

**The MCP does not know headcount per team.** `get_users` returns each user's name and email, but not their cost center, team or role. So it is impossible to count the people in a cost center.

Two ways to proceed, to state to the user:

- **A. With your headcount** โ€” the user supplies the number of people per cost center. It is the only way to get a true spend per head.
- **B. Per person who spent** โ€” without headcount, spend is divided by the number of employees with at least one expense. That is not a headcount: a team of 30 where 4 people spend will be divided by 4.

Ask for headcount before choosing B.

## Step 1 โ€” Spend by cost center and by employee

State the exact period.

```json
{
  "tool": "spendesk_analyze_spend",
  "params": { "fromDate": "YYYY-MM-DD", "toDate": "YYYY-MM-DD", "groupBy": ["costCenter", "employee"], "limit": 50 }
}
```

- Each cost center row gives its amount; its `breakdown` lists the employees who spent there.
- `limit: 50`: by default only 10 rows come back per level, the rest goes into "Others". If an "Others" row remains at employee level, the number of people who spent is understated: say so.
- The `employee` dimension ties an expense to the person who incurred it. Supplier invoices do not always have an employee: they can appear with no name.
- Credit notes included, netted off.

## Step 2 โ€” Calculate

- Method A: the center's spend รท supplied headcount.
- Method B: the center's spend รท number of rows in the `breakdown` (excluding "Others").

Then the overall average and, for each center, its ratio to that average:

- ๐Ÿ”ด more than twice the average
- ๐ŸŸก 1.5 to 2 times
- ๐ŸŸข 0.5 to 1.5 times
- โšช less than 0.5 times

## Step 3 โ€” Explain a gap

For a center that stands out, break down by supplier:

```json
{
  "tool": "spendesk_analyze_spend",
  "params": {
    "fromDate": "YYYY-MM-DD", "toDate": "YYYY-MM-DD",
    "groupBy": ["costCenter", "supplier"], "limit": 50,
    "filters": { "costCenterIds": ["<center id>"] }
  }
}
```

With this filter, keep `costCenter` first and read the `breakdown` of the center's row: `summary.totalAmount` counts the matching expenses in full, including their lines on other centers.

## Report

```
Spend per employee โ€” from <date> to <date>
Method: supplied headcount / people who spent

| Cost center | Spend | People | Per person | vs average |

Gaps to look at: center, main supplier, amount
```

## Limits to state

- With method B, the denominator is not a headcount: do not present the result as "spend per employee on payroll".
- Some teams spend more by nature (field sales, events).
- Amounts in functional currency, including VAT, on the document date.

## Observed result (demo account, 5 October 2026)

`get_users` returned each user's ID, name and email, with no cost center or team: the per-team headcount that the previous version of this skill computed is not possible.

## Example prompts
- "Here is our headcount by team: what is the spend per person this quarter?"
- "Which teams spend the most per person who spent?"
- "What explains the Marketing team's level of spend?"

How to install this skill

/
  1. 1
    Download the file s56-spend-per-employee.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s56-spend-per-employee.md .claude/s56-spend-per-employee.md
  3. 3
    Use in Claude Code โ€” the skill is automatically discovered. Describe your need in natural language and Claude will apply the skill instructions.
๐Ÿ’ก Make sure the Spendesk MCP is configured in your .claude/settings.json with the tools spendesk_analyze_spend, get_users.

Similar skills

โ˜… Top
95/100ยท๐Ÿ” Ad hocยทExpert

Audit what the MCP covers

Probes all available MCP tools, re-evaluates coverage of 50 persona use cases, detects new fields or tools, and regenerates the gap analysis report.

CFOControllerAP Manager
90/100ยท๐Ÿ“… WeeklyยทBeginner

Card requests via get_requests

Explains how to use get_requests for card requests and why expense reimbursements don't appear there. Avoids a frequent source of confusion between two distinct workflows.

ControllerFinance Analyst
90/100ยท๐Ÿ” Ad hocยทIntermediate

Active vs archived cost centers

Distinguishes active cost centers from archived ones with correct use of get_cost_centers. Avoids the counter-intuitive isArchived vs isActive naming convention pitfall.

ControllerFinance Analyst

Interested in AI Agent services or Custom Integrations?