Overdue invoices >60 days by supplier
Identifies invoices overdue by more than 60 days for targeted suppliers via spendesk_get_due_invoices and the supplierIds filter. Prioritizes critical follow-ups.
87/100Β·π
WeeklyΒ·BeginnerAP ManagerController
SuppliersReconciliationspendesk_get_due_invoicesget_suppliers
π― Skill purpose
Identifies invoices overdue by more than 60 days for targeted suppliers via spendesk_get_due_invoices and the supplierIds filter. Prioritizes critical follow-ups.
π What it produces
List of critically overdue invoices with supplier, amount, due date, and days overdue.
β‘ Benefit
Before
Manual review of supplier invoices to identify critical overdue items β slow and imprecise.
After
Immediate list of critical invoices to prioritize, ready for collections follow-up.
# Instructions
## Use case
Identify all overdue invoices for a given supplier, broken down by aging bucket (1-30, 31-60, 61-90, 90+ days).
## Step 1 β Find the supplier ID
`spendesk_get_due_invoices` returns invoices with `supplier: "Supplier name"` (a name, not an ID). To filter by supplier, you must first resolve the name to an ID:
```json
// get_suppliers
{
"companyId": "<COMPANY_ID>",
"search": "Vaultspeed"
}
```
β Retrieve `data[0].id` β e.g. `"t0tiu752i9bms9"`
## Step 2 β Aging filtered by supplier
```json
// spendesk_get_due_invoices
{
"companyId": "<COMPANY_ID>",
"filters": {
"supplierIds": ["t0tiu752i9bms9"]
},
"includeUpcoming": true,
"limit": 20
}
```
### Parameters available in filters
| Parameter | Type | Description |
|-----------|------|-------------|
| `supplierIds` | `string[]` | Filter by one or more suppliers |
| `costCenterIds` | `string[]` | Filter by cost center |
| `currencies` | `string[]` | Filter by currency (e.g. `["EUR", "GBP"]`) |
| `minAmount` | `number` | Minimum amount in EUR (decimal) |
### Options
- `includeUpcoming: true` β adds a "Not yet due" bucket (invoices not yet due)
- `limit` β maximum number of invoices per bucket (default 10, max 50)
- `asOfDate` β reference date (default = today, format `YYYY-MM-DD`)
## Result structure
```json
{
"summary": {
"asOfDate": "2026-07-06",
"totalOverdueAmount": { "amount": 81986, "currency": "EUR", "precision": 2 },
"totalOverdueCount": 2,
"oldestInvoiceDaysOverdue": 301
},
"data": {
"upcoming": { "label": "Not yet due", "count": 0, "invoices": [] },
"buckets": [
{ "label": "1-30 days", "count": 0, "invoices": [] },
{ "label": "31-60 days", "count": 0, "invoices": [] },
{ "label": "61-90 days", "count": 0, "invoices": [] },
{ "label": "90+ days", "count": 2, "invoices": [
{
"id": "a7f1c327-...",
"supplier": "Vaultspeed",
"amount": { "amount": 13548, "currency": "GBP", "precision": 2 },
"currency": "GBP",
"invoiceNumber": "CB-CN-202509-1142",
"invoiceDueDate": "2025-09-08",
"costCenter": "Revenue",
"daysOverdue": 301
}
]}
]
}
}
```
## Pitfall 1 β The summary is in EUR, invoices in native currency
`summary.totalOverdueAmount` is converted to EUR (functional currency), but each `invoice.amount` is in the invoice's original currency. In this example:
- Vaultspeed: 135.48 GBP (invoice in pounds)
- eau de paris: 663.79 EUR (invoice in euros)
β Do not sum `invoice.amount` across invoices in different currencies. Use `summary.totalOverdueAmount` for the converted total.
## Pitfall 2 β Reverse name β ID lookup is mandatory
`spendesk_get_due_invoices` does not return supplier IDs in the response β only the name (`supplier: "Vaultspeed"`). To use the `supplierIds` filter, you **must necessarily** go through `get_suppliers(search=name)` first.
## Pitfall 3 β Only invoicePurchase toPay
`spendesk_get_due_invoices` only covers **supplier invoices** (`invoicePurchase`) with `paymentStatus = toPay`. Excluded:
- Expense reports
- Card purchases
- Invoices already paid or being paid
## Advanced use cases
**Several suppliers at once:**
```json
{ "filters": { "supplierIds": ["t0tiu752i9bms9", "b3E3B8t2s5"] } }
```
**Overdue + upcoming invoices for a supplier:**
```json
{ "filters": { "supplierIds": ["t0tiu752i9bms9"] }, "includeUpcoming": true }
```
**Aging at a past date (e.g. month-end close):**
```json
{ "asOfDate": "2026-06-30" }
```
## Example user prompts
- "Which invoices from Vaultspeed are overdue?"
- "Show me unpaid invoices older than 60 days for our Marketing suppliers"
- "Are there any invoices overdue by more than 90 days for eau de paris?"
How to install this skill
/
- 1Download the file
s26-aging-factures-fournisseur.mdusing the button above. - 2Place the file in the
.claude/directory of your project (or~/.claude/for a global install).cp s26-aging-factures-fournisseur.md .claude/s26-aging-factures-fournisseur.md - 3Use 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, get_suppliers.Similar skills
β
Top