Prepare the monthly management report

Assembles the CFO's monthly summary in four blocks: cash position, committed spend, cash out, overdue invoices.

CFO๐Ÿ“† MonthlyIntermediateRead-only

Ask it like this

Prepare my management report for September.

When to use it

Every month, before the management review or committee, for a one-page summary of the month just ended.

What it produces

One page: available cash, the month's spend with comparison, net cash out by type, overdues by bucket, and three points to watch with figures.

How it works

  1. 1Reads the cash available on the wallet
  2. 2Totals the month's committed spend, by cost center
  3. 3Measures the cash that actually went out over the period
  4. 4Sums up overdue supplier invoices, by age
  5. 5Puts it all on one page, with three points to watch

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 detail85/100 ยท 4 tools
ReportsSpend analysisget_wallet_summaryspendesk_analyze_spendspendesk_analyze_settlementsspendesk_get_due_invoices

# Monthly management report

## Principle

Four blocks, four tools, **four different bases**. The value of the report lies in not mixing them: every figure is shown with its basis.

| Block | Tool | Basis |
|-------|------|-------|
| Available cash | `get_wallet_summary` | Wallet balance right now (short cache) |
| Committed spend | `spendesk_analyze_spend` | Payables, on document date, including VAT |
| Cash actually out | `spendesk_analyze_settlements` | Settlements, on clearing date |
| Overdue invoices | `spendesk_get_due_invoices` | Unpaid invoices, as of today |

Before any call, state the exact dates used (e.g. "from 2026-09-01 to 2026-09-30").

## Block 1 โ€” Cash position

```json
{ "tool": "get_wallet_summary", "params": {} }
```

Three figures never to confuse: `totalAmount` (wallet balance), `totalAllocatedAmount` (already committed to cards and scheduled transfers), `totalAvailableAmount` (what is left to spend). For "can we cover X", use `totalAvailableAmount`, and always name the figure you quote.

## Block 2 โ€” Committed spend for the month

```json
{
  "tool": "spendesk_analyze_spend",
  "params": {
    "fromDate": "2026-09-01", "toDate": "2026-09-30",
    "groupBy": ["costCenter"], "compareWithPreviousPeriod": true, "limit": 10
  }
}
```

โš ๏ธ Trap verified live: the "previous period" is the window **of equal length just before**, not the previous calendar month. For September (30 days), the comparison covered **2 to 31 August**, and 1 August was left out. Read `summary.previousPeriod.period` and show it as returned. For a true calendar month against calendar month comparison, make a second call on the previous month.

Other points:
- `amountChange` is `null` when the previous period is zero: write "no basis for comparison", not "+0%".
- `summary.totalOutstandingAmount` gives what is still owed on that spend.
- Repeat the call with `groupBy: ["supplier"]` for the top suppliers.
- Credit notes are included and netted off; exclude `creditNote` in `filters.payableTypes` for gross spend.

## Block 3 โ€” Cash actually out

```json
{
  "tool": "spendesk_analyze_settlements",
  "params": { "fromDate": "2026-09-01", "toDate": "2026-09-30", "groupBy": ["type"] }
}
```

The total is **net and signed**: payments, reimbursements and advances are positive; refunds received and chargebacks are negative. Group by `type` to separate directions.

This figure does not reconcile with block 2: a September invoice can be paid in October. Show the two side by side, without subtracting one from the other.

## Block 4 โ€” Overdue invoices

```json
{ "tool": "spendesk_get_due_invoices", "params": { "includeLineItems": false } }
```

Returns the 1-30, 31-60, 61-90 and 90+ day buckets, with `summary.totalOverdueAmount` and `oldestInvoiceDaysOverdue`. It only covers unpaid supplier invoices (not expense claims or cards).

- Do not pass a past date as `asOfDate` for "the month-end aging": it is not a historical aging.
- If `scheduledTransfersAmount.scheduledInvoicesAmount` in block 1 is 0, no invoice has been deducted from the available amount: compare the overdue total against it in full.

## Recommended output format

```
Management report โ€” <month> (<exact dates>)

1. Cash           Available: X EUR (balance Y, committed Z)
2. Spend          Committed: X EUR โ€” vs <exact previous period>: ยฑN%
                  Top cost centers / top suppliers
3. Cash out       Net: X EUR (payments A, refunds B)
4. Overdue        X EUR across N invoices, oldest at D days

Points to watch: 3 lines at most, each with a figure.
```

## Limits to state in the report

- No budget: the MCP does not read budgets. For a variance against budget, the user supplies the figures.
- One company at a time: on a multi-entity connection, repeat the four blocks per entity and never add different currencies together.
- Recent card spend can be missing from block 2 until it becomes a payable.

## Observed result (demo account, September 2026)

Available EUR 97,300.29 (balance EUR 98,900.00, committed EUR 1,599.71). Committed spend EUR 25,834.90 across 2 payables, a single cost center, no basis for comparison (previous period at zero). Net cash out EUR 10,613.50 in 2 payments. Overdue EUR 19,095.67 across 11 invoices, all more than 90 days late.

## Example user prompts

- "Prepare my management report for September"
- "Give me the month's summary: cash, spend, cash out and supplier overdues"
- "Same report for the German entity"

How to install this skill

/
  1. 1
    Download the file s73-reporting-mensuel-direction.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s73-reporting-mensuel-direction.md .claude/s73-reporting-mensuel-direction.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 get_wallet_summary, spendesk_analyze_spend, spendesk_analyze_settlements, spendesk_get_due_invoices.

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ยท๐Ÿ” 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
โ˜… Top
89/100ยท๐Ÿ” Ad hocยทIntermediate

Build a custom skill

Turns a precise business need into a brand-new tailored Claude skill, ready to use on the Spendesk MCP.

CFOControllerAP Manager

Interested in AI Agent services or Custom Integrations?