Card requests filtered by currency

Filters card requests by currency using the correct requestedCurrency parameter. Includes an explicit warning about the distinction from the 'currency' parameter which returns incomplete results.

โ†“ Download skill (.md)
86/100ยท๐Ÿ” Ad hocยทIntermediateControllerFinance Analyst
CardsReconciliationget_requests

๐ŸŽฏ Skill purpose

Filters card requests by currency using the correct requestedCurrency parameter. Includes an explicit warning about the distinction from the 'currency' parameter which returns incomplete results.

๐Ÿ“Š What it produces

Card requests in the desired currency, with alert if the wrong parameter is used.

โšก Benefit

Before

Using the wrong currency filter parameter returned incomplete results.

After

Correct currency filtering with requestedCurrency โ€” complete and reliable results.



# Instructions โ€” Card requests with currency filter

## โš ๏ธ Behavior of the currency filter

When `currency` is provided in `get_requests`:
- **Only** requests submitted in that currency are returned
- Requests in other currencies are **entirely excluded** โ€” no FX conversion
- The empty response (`data: []`) does not distinguish "no requests" from "requests exist in other currencies"

Example confirmed live:
- All requests on the account are in EUR
- `currency=GBP` โ†’ **0 results** (no warning)
- `currency=USD` โ†’ **0 results** (no warning)
- `currency=EUR` โ†’ 3 results
- Without currency filter โ†’ 3 results (all currencies, FX to functional currency)

## When to use the currency filter

**Valid case**: the user explicitly wants requests submitted in a specific currency.
```json
{ "companyId": "...", "currency": "GBP", "minAmount": 100 }
```
โ†’ Always display: *"Results limited to requests submitted in GBP. Requests in EUR, USD, or other currencies are not included."*

**Case to avoid**: the user wants "all requests > 100 EUR"
โ†’ Do not pass `currency=EUR` with `minAmount=100` if requests in GBP exist โ€” they would be excluded
โ†’ Without `currency`: `minAmount/maxAmount` filter in **functional currency** via stored FX (all currencies included)

## Recommended pattern: always inform

```
Results: N requests found in [currency].
โš ๏ธ Requests submitted in other currencies are not included in this result.
For a view across all currencies, rerun without the currency filter.
```

## Step 1 โ€” Call without currency filter (full view)

```json
{
  "companyId": "...",
  "state": "pending"
}
```
โ†’ Returns all requests, `minAmount/maxAmount` in functional currency.
โ†’ `amountInFunctionalCurrency` = value comparable across currencies.

## Step 2 โ€” Call with currency filter (specific currency view)

```json
{
  "companyId": "...",
  "currency": "GBP",
  "minAmount": 500
}
```
โ†’ Returns requests submitted in GBP with `requestedAmount.amount >= 500 GBP`.
โ†’ **Always warn** the user that other currencies are excluded.

## Step 3 โ€” Interpreting the results

For each request:
- `requestedAmount`: amount in the submission currency
- `amountInFunctionalCurrency`: equivalent in functional currency (EUR for this account)
- `isForeignCurrency=true` โ†’ submitted in a currency different from the functional one

## Example prompt

- "Show pending card requests > 1000 EUR" โ†’ without currency, minAmount=1000
- "Which requests were submitted in USD?" โ†’ currency=USD + inform about the exclusion
- "All requests > 500, across all currencies" โ†’ without currency, minAmount=500 in functional currency

How to install this skill

/
  1. 1
    Download the file s33-get-requests-currency-filter.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s33-get-requests-currency-filter.md .claude/s33-get-requests-currency-filter.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_requests.

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