AP Aging: overdue invoices by aging bucket

Displays overdue supplier invoices grouped by aging buckets. Handles multi-currency and provides a clear view of outstanding liabilities for management.

โ†“ Download skill (.md)
86/100ยท๐Ÿ“… WeeklyยทIntermediateCFOAP ManagerController
SuppliersReconciliationspendesk_get_due_invoices

๐ŸŽฏ Skill purpose

Displays overdue supplier invoices grouped by aging buckets. Handles multi-currency and provides a clear view of outstanding liabilities for management.

๐Ÿ“Š What it produces

AP aging table: 0-30d, 30-60d, 60-90d, 90+d buckets with amounts and invoice counts.

โšก Benefit

Before

Manual aging table construction in Excel, bucket calculation by IF formulas.

After

Complete AP aging table in seconds, ready for management and the board.



# Instructions โ€” AP Aging: overdue invoices by bucket

## โš ๏ธ Critical rule on currencies

`spendesk_get_due_invoices` returns each invoice's amount in **its own spending currency** (e.g. GBP for a GBP invoice). **Do not sum these amounts together.**

The `totalAmount` field per bucket is in **functional currency** (EUR for a EUR company) โ€” this is the one to use for totals.

Example observed on a real account:
- 1-30 day bucket: 500,000 GBP + 7,373,000 EUR โ†’ **INVALID** to sum
- Bucket `totalAmount`: 79,525.29 EUR โ†’ correct value

## Step 1 โ€” Identify the company

Call `list_companies`. Note the functional currency (visible in the MCP responses, `currency` field).

## Step 2 โ€” Retrieve the aging

Call `spendesk_get_due_invoices` with:
```json
{
  "companyId": "...",
  "asOfDate": "YYYY-MM-DD",
  "includeLineItems": true
}
```

Optional: add `"includeUpcoming": true` to also see invoices with a future due date.

## Step 3 โ€” Present the results

**Use `totalAmount` per bucket** for totals, not the sum of individual amounts.

```
๐Ÿ“Š Supplier outstanding balance as of <asOfDate>
Total overdue: summary.totalOverdueAmount EUR

Bucket          | Total (functional EUR) | Nb invoices | Max aging
1-30 days       | X EUR              | N           | 30d
31-60 days      | X EUR              | N           | 60d
61-90 days      | X EUR              | N           | 90d
90+ days        | X EUR              | N           | summary.oldestInvoiceDaysOverdue
```

For each invoice listed:
- Display the amount IN ITS OWN CURRENCY (do not convert manually) + indicate the currency
- Indicate: supplier, invoice number, due date, days overdue, cost center
- Flag invoices 90+ days as priority

## Note on scope

Only `invoicePurchase` with `paymentStatus=toPay` are included. Expense reports, card purchases, and credit notes are excluded. For a full view of all payables with a past dueDate, use `get_payables` with a `dueDate before today` filter.

## Example prompt

- "Which supplier invoices are overdue?"
- "Show the AP aging as of July 6, 2026"

How to install this skill

/
  1. 1
    Download the file s25-ap-aging-factures-retard.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s25-ap-aging-factures-retard.md .claude/s25-ap-aging-factures-retard.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_get_due_invoices.

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