Invoice search by supplier name

Finds invoices from a supplier by name, first resolving the supplier ID via get_suppliers. Works around the absence of a direct text filter in get_payables.

↓ Download skill (.md)
84/100Β·πŸ” Ad hocΒ·BeginnerAP ManagerController
SuppliersReconciliationget_suppliersget_payables

🎯 Skill purpose

Finds invoices from a supplier by name, first resolving the supplier ID via get_suppliers. Works around the absence of a direct text filter in get_payables.

πŸ“Š What it produces

All invoices and expenses from the requested supplier, sorted by date with amounts and statuses.

⚑ Benefit

Before

Manual invoice browsing with no ability to filter by supplier name β€” very time-consuming.

After

All invoices from a supplier in two automatic steps, in seconds.



# Search invoices by supplier (name β†’ ID β†’ payables)

## Step 1 β€” Resolve the name β†’ supplier ID

`get_suppliers` with the `search` parameter (free-text search, partial or exact):

```json
{
  "companyId": "<companyId>",
  "search": "<partial or exact name>",
  "pageSize": 5
}
```

β†’ `search` performs a free-text search: `"Stripe"` finds `"Stripe"`, `"STRIPE EUR"`, `"STRIPE TECHNOLOGY EUROPE, LIMITED"`
β†’ Inspect the results to identify the right supplier via `legalName`, `iban`, `vatNumber`
β†’ Extract the target supplier's `id`

**Consolidated accountPayable pattern:** A supplier like "STRIPE EUR" can share an `accountPayable` (same `id`, `generalAccountCode`) with other supplier lines pointing to the same accounting entry. ⚠️ The `supplierIds` array that used to list those IDs on this object has been removed from the MCP response (PR #3169, verified 2026-07-22) β€” don't rely on it to identify consolidated suppliers anymore. Choose the supplier matching the desired legal entity for the payables filter.

## Step 2 β€” Filter payables by supplierId

`get_payables` with a `supplier` filter:

```json
{
  "companyId": "<companyId>",
  "filters": {
    "field": "supplier",
    "operator": "=",
    "value": ["<supplierId>"]
  },
  "pageSize": 20
}
```

β†’ Returns all payable types linked to this supplier (`invoicePurchase`, `subscription`, `singleCardPurchase`, etc.)
β†’ The `counterparty.supplierId` field on each payable confirms the link to the supplier
β†’ If `hasNextPage: true` β†’ paginate with the cursor to retrieve the full history

## Key fields of the results

| Field | Description |
|-------|-------------|
| `description` | Label of the invoice / expense |
| `payableType` | Type: `invoicePurchase`, `subscription`, `singleCardPurchase`, etc. |
| `state` | Accounting status (`exported`, `toExport`, `toPrepare`) |
| `amount` | Amount in the transaction currency (integer coefficient / 10^precision) |
| `functionalAmount` | Amount in functional EUR |
| `currency` | Transaction currency (can be GBP, USD, etc.) |
| `creationDate` | Date of the expense |
| `accountPayableId` | Supplier accounting reference (several payables can share the same AP) |

## Multi-currency case

The same supplier can have payables in several currencies (e.g. Stripe with EUR and GBP for UK fees):

```json
{
  "currency": "GBP",
  "functionalCurrency": "EUR",
  "functionalExchangeRate": 1.0873,
  "amount": { "amount": 1500, "currency": "GBP", "precision": 2 },
  "functionalAmount": { "amount": 1631, "currency": "EUR", "precision": 2 }
}
```

β†’ Always sum `functionalAmount` for EUR totals β€” never sum `amount` across currencies.

## Adding a period filter

```json
{
  "companyId": "<companyId>",
  "filters": { "field": "supplier", "operator": "=", "value": ["<supplierId>"] },
  "fromDate": "2026-01-01",
  "toDate": "2026-06-30",
  "pageSize": 20
}
```

## Note: no name in the payables response

The `counterparty` field only contains `supplierId` β€” no `name`. To display the supplier name in a results table, keep the name obtained in Step 1 or call `get_supplier_by_id(supplierId)`.

## Example prompts

- "Show me all Stripe invoices from H1 2026"
- "What is the total spent with AWS this year?"
- "Which invoices are pending export for supplier Salesforce?"

How to install this skill

/
  1. 1
    Download the file s14-factures-fournisseur-par-nom.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s14-factures-fournisseur-par-nom.md .claude/s14-factures-fournisseur-par-nom.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_suppliers, get_payables.

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