Spending by accounting status

Breaks down spending by accounting status to identify items pending export. Essential for tracking monthly or quarterly accounting close.

โ†“ Download skill (.md)
80/100ยท๐Ÿ“† MonthlyยทBeginnerController
ERP exportReconciliationspendesk_analyze_spend

๐ŸŽฏ Skill purpose

Breaks down spending by accounting status to identify items pending export. Essential for tracking monthly or quarterly accounting close.

๐Ÿ“Š What it produces

Amounts and counts by accounting status (to export, exported, rejected, etc.).

โšก Benefit

Before

Manual review of invoices in Spendesk to identify items to process before close.

After

Instant view of the accounting status of all spending, ready for close review.



# Instructions โ€” Breakdown by bookkeeping status

## โš ๏ธ Missing rows = zero in the period, not universal non-existence

`spendesk_analyze_spend` only displays statuses with payables in the defined period.

Example: if all payables in January 2026 are `exported`, the response returns:
```json
[{ "key": "exported", "amount": ..., "share": 100 }]
```
โ†’ `toPrepare` and `toExport` are **missing** from the result.
โ†’ This means: **0 payables with a payableDate in Jan 2026** have these statuses โ€” not that the account is clean.

Payables with `toPrepare`/`toExport` may exist with a `payableDate` outside the period.

## โš ๏ธ spendesk_analyze_spend filters by payableDate

`spendesk_analyze_spend` always uses `payableDate` as the period. To find `toPrepare` payables without a date constraint, use `get_payables` with `bookkeepingStatus=toPrepare` and no date filter.

## The 3 bookkeeping statuses

| Status | Meaning | Action |
|--------|--------------|--------|
| `toPrepare` | Not yet reviewed โ€” awaiting accounting review | Review manually in Spendesk |
| `toExport` | Reviewed, ready to send to the ERP | **Export** (never omit `toExport` from an ERP export) |
| `exported` | Already sent to the ERP | **Exclude** from exports to avoid double-counting |

โ†’ For an ERP export: `bookkeepingStatus = ["toExport"]` only (see S10).

## Step 1 โ€” Breakdown over a period

```json
{
  "companyId": "...",
  "fromDate": "YYYY-MM-DD",
  "toDate": "YYYY-MM-DD",
  "groupBy": ["bookkeepingStatus"]
}
```

โ†’ Returns the statuses present in the period, with amount and count for each.

## Step 2 โ€” Interpreting the results

Each row:
- `key`: `"toPrepare"` | `"toExport"` | `"exported"`
- `amount`: total of payables with this status in the period
- `count`: number of payables
- `share`: % of the period total

If a row is absent โ†’ 0 payables with that status in the period (this is NOT a global guarantee).

## Step 3 โ€” Detecting pending payables outside the period

To make sure there is no backlog, always complement with:
```json
// get_payables โ€” no date filter
{
  "filters": { "field": "bookkeepingStatus", "operator": "=", "value": ["toPrepare", "toExport"] }
}
```
โ†’ Returns ALL payables not yet exported, regardless of their `payableDate`.

## Live example (H1 2026 and Jul-25โ†’Jun-26)

```
fromDate: 2026-01-01 / toDate: 2026-06-30
โ†’ exported : EUR 8,174,523.65 (3,937 payables, 100%)
โ†’ toPrepare : [absent โ€” 0 payables in this period]
โ†’ toExport  : [absent โ€” 0 payables in this period]
```

```
fromDate: 2025-07-01 / toDate: 2026-06-30
โ†’ exported : EUR 16,524,574.27 (7,199 payables, 100%)
โ†’ toPrepare : [absent โ€” 0 payables in this period]
โ†’ toExport  : [absent โ€” 0 payables in this period]
```

โ†’ **Correct interpretation**: On this account, all payables with a payableDate in these periods are already `exported`. Payables with `toExport` do exist (3 were found by S10), but their `payableDate` is after June 30, 2026.

## Useful combination: status ร— spend type

To analyze the accounting backlog by type:
```json
{
  "groupBy": ["bookkeepingStatus", "payableType"],
  "fromDate": "...",
  "toDate": "..."
}
```
โ†’ Lets you see whether the `toPrepare` backlog is mostly expense claims (`expenseClaim`), invoices (`invoicePurchase`), etc.

## Example prompts

- "How many invoices are still awaiting review?" โ†’ groupBy=["bookkeepingStatus"], filter toPrepare
- "What % of spend is already exported to accounting?" โ†’ groupBy=["bookkeepingStatus"], read the share of "exported"
- "Are there any invoices ready to export?" โ†’ groupBy=["bookkeepingStatus"] or get_payables with toExport
- "Accounting workflow breakdown for Q1 2026" โ†’ groupBy=["bookkeepingStatus", "payableType"]

How to install this skill

/
  1. 1
    Download the file s09-depenses-par-bookkeeping-status.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s09-depenses-par-bookkeeping-status.md .claude/s09-depenses-par-bookkeeping-status.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.

Similar skills

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

MCP coverage audit & gap analysis

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