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.
90/100ยท๐
WeeklyยทBeginnerControllerFinance Analyst
CardsComplianceget_requests
๐ฏ Skill purpose
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.
๐ What it produces
Card requests filtered by status with explanation of why reimbursements are absent.
โก Benefit
Before
Confusion between card requests and expense reimbursements in get_requests โ wrong results.
After
Correct use of get_requests for cards, without noisy results.
# Instructions โ Card requests via get_requests
## โ ๏ธ Strict scope
`get_requests` returns **only** card requests:
- `single_purchase` โ single purchase
- `subscription` โ subscription
- `multi_use_card` โ multi-use card
- `multi_use_card_top_up` โ card top-up
- `multi_use_card_end_date_change` โ card extension
- `card_load` โ physical card loading
**NOT included** (different scope in Spendesk):
- Expense reimbursements (expense claims) โ visible in `get_payables` with `payableType=expenseClaim`
- Supplier invoice requests โ visible in `get_invoices` with `approvalStatus=["pending"]` (detail and approval chain via `get_invoice_by_id`)
## Step 1 โ Identify the company
Call `list_companies`.
## Step 2 โ Retrieve requests
### Requests awaiting approval
```json
{ "companyId": "...", "state": "pending" }
```
### All requests (all states)
```json
{ "companyId": "..." }
```
Available states: `pending` | `approved` | `refused` | `expired` | `cancelled` | `incomplete` | `draft` | `rejected_by_controller` | `supplier_disputed`
## Step 3 โ Interpreting amounts
Each request returns:
- `requestedAmount`: amount in the request's original currency
- `amountInFunctionalCurrency`: amount in the company's functional currency โ use for comparisons
โ ๏ธ `isForeignCurrency=false` means **either** that the currency is the same as the functional currency **or** that the request has no amount (e.g. date extension). It is also `false` on a foreign-currency request whose conversion is unavailable. Read `false` as "same currency" only when `requestedAmount` AND `amountInFunctionalCurrency` are both non-null.
## Step 4 โ Filtering by currency
If the user wants "requests in EUR under 100 EUR":
- Pass `currency="EUR"` + `maxAmount=100`
- **Always inform**: requests submitted in other currencies are **silently excluded** from the result
## Step 5 โ Presenting results
For each request:
- Request type + state
- Requested amount (with currency)
- Requester (requesterId โ resolve via `get_users` if needed)
- Description (free-text from the requester, can be null)
- Cost center (costCentreId, can be null)
## Guidance if the question is about reimbursements
If the user is looking for pending expense reimbursements:
โ "No tool lists reimbursement requests awaiting approval. Expense claims already created can be read in payables of type `expenseClaim`; `bookkeepingStatus=toPrepare` means "not yet prepared for accounting export", not "awaiting approval"."
Call `get_payables` with, in the `filters` parameter:
```json
{
"operator": "and",
"subfilters": [
{ "field": "payableType", "operator": "=", "value": ["expenseClaim"] },
{ "field": "bookkeepingStatus", "operator": "=", "value": ["toPrepare"] }
]
}
```
## Example prompt
- "Which card requests are awaiting approval?" โ state=pending
- "Show subscription requests approved this month" โ type=subscription, state=approved
- "Which reimbursement requests are pending?" โ guide toward get_payables
How to install this skill
/
- 1Download the file
s32-get-requests-cartes-uniquement.mdusing the button above. - 2Place the file in the
.claude/directory of your project (or~/.claude/for a global install).cp s32-get-requests-cartes-uniquement.md .claude/s32-get-requests-cartes-uniquement.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 get_requests.Similar skills
โ
Top