Subscription cards linked to supplier
Lists virtual subscription-type cards and identifies the associated supplier for each. Complements SaaS subscription analysis for card-based rather than invoice-based payments.
82/100Β·π MonthlyΒ·IntermediateCFOProcurementFinance Analyst
CardsSupplierslist_cardsget_card
π― Skill purpose
Lists virtual subscription-type cards and identifies the associated supplier for each. Complements SaaS subscription analysis for card-based rather than invoice-based payments.
π What it produces
Subscription cards with resolved supplier name, authorized amount, and card status.
β‘ Benefit
Before
Card-supplier linkage impossible to establish from the card list without this technique.
After
Complete subscription card β supplier mapping, ideal for SaaS audits.
# Subscription cards and supplier link
## Context
`list_cards(type="subscription")` returns the basic card fields: id, status, ownerId, availableBalance, expiryDate.
`get_card(cardId)` returns additional fields not exposed in `list_cards`:
- `supplierId`: ID of the supplier linked to the card (can be null)
- `costCentreId`: ID of the card's cost center (can be null)
To know the supplier of a subscription card, you must always call `get_card` β the information is not in `list_cards`.
## 3-step workflow
### Step 1 β List active subscription cards
```json
{
"tool": "list_cards",
"params": {
"companyId": "<companyId>",
"type": "subscription",
"status": "ACT",
"pageSize": 50
}
}
```
Result: list of cards with `id`, `ownerId`, `availableBalance`, `expiryDate`.
**Format note:** `availableBalance.amount` is a **direct decimal** (91.38 EUR) β do NOT divide by 10^precision, unlike all other MCP tools.
### Step 2 β Get the detail of each card (supplierId)
For each cardId of interest:
```json
{
"tool": "get_card",
"params": {
"companyId": "<companyId>",
"cardId": "<cardId>"
}
}
```
Additional fields exposed by `get_card` (absent from `list_cards`):
- `supplierId`: string | null
- `costCentreId`: string | null
### Step 3 β Resolve the supplier name (if supplierId is not null)
```json
{
"tool": "get_supplier_by_id",
"params": {
"companyId": "<companyId>",
"supplierId": "<supplierId>"
}
}
```
## Case supplierId = null
On this test account, the 2 active subscription cards have `supplierId: null` and `costCentreId: null`. This case is common: subscription cards can be created without a supplier explicitly linked in Spendesk.
Behavior to anticipate:
- `supplierId: null` β the card has no associated Spendesk supplier (may be a SaaS paid directly without a supplier record)
- `costCentreId: null` β the card is not attached to a specific cost center
## Differences list_cards vs get_card
| Field | list_cards | get_card |
|-------|-----------|---------|
| `id` | β
| β
|
| `type` | β
| β
|
| `status` | β
| β
|
| `ownerId` | β
| β
|
| `availableBalance` | β
| β
|
| `spendingLimit` | β
| β
|
| `lastFourDigits` | β
| β
|
| `expiryDate` | β
| β
|
| `supplierId` | β | β
|
| `costCentreId` | β | β
|
## Important reminders
- `list_cards.status` = plain string ("ACT") β one call per status (no array)
- `spendingLimit: null` is normal on subscription cards β no fixed cap
- `availableBalance.amount` is a direct decimal β anomaly confirmed in S03 and S29
- To audit all active cards including "reactivated" ones: two separate calls with `status="ACT"` and `status="REA"`
## Example user prompts
- "Which subscription cards are active and what supplier are they linked to?"
- "Show me all SaaS virtual cards with their available balance and associated supplier"
- "Are there any subscription cards without a linked supplier in Spendesk?"
How to install this skill
/
- 1Download the file
s31-cartes-subscription-fournisseur.mdusing the button above. - 2Place the file in the
.claude/directory of your project (or~/.claude/for a global install).cp s31-cartes-subscription-fournisseur.md .claude/s31-cartes-subscription-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 list_cards, get_card.Similar skills
β
Top