# Expenses and cards

> Connect Ramp or Brex so Mello answers “can I expense this?” and “what’s my card limit?” from your real programs and each person’s own cards.

Audience: Workspace owners and administrators

Kind: How-to guide

Canonical: https://shuffl.ai/docs/expenses-and-cards

<a id="what"></a>
## What it does

People ask HR whether a purchase is covered and what their limit is. Connect your spend platform once and Mello answers in Chat and Slack from the programs as they stand, citing your policy page, and tells each person their own limit.

Shuffl reads when someone asks and stores none of it. A person only ever sees their own cards; Mello never reads or repeats anyone else’s limit, and it never approves a purchase.

### What Mello reads

- Spend programs: names, limits, per-purchase caps, allowed and blocked categories, and whether they reimburse.
- The asking person’s own cards and limits, found by their work email, with what is left this period.

<a id="ramp"></a>
## Connect Ramp

1. In Ramp, open Company → Developer and create an app. Turn on the client credentials grant.

2. Give it the read scopes for business, spend programs, users and funds. Copy the client ID and secret.

3. In Shuffl, open Settings → Expenses and cards, choose Connect Ramp and paste them. Pick Sandbox for a Ramp demo account.

Ramp connects through a developer app you create in your own Ramp account, with the client credentials grant. It needs no marketplace listing. Shuffl asks only for read scopes.

- [Open Expenses and cards](https://shuffl.ai/app/settings/spend)

<a id="brex"></a>
## Connect Brex

1. In Brex, sign in as an account admin, open Developer and create a token.

2. Give it read access to company, users, cards and budgets. Copy it; Brex shows it once.

3. In Shuffl, open Settings → Expenses and cards, choose Connect Brex and paste the token.

Brex connects with a user token from your own Brex account. Budget programs supply the policy; each person’s cards supply their limits. A token without budget access still answers limits.

- [Open Expenses and cards](https://shuffl.ai/app/settings/spend)

<a id="policy"></a>
## Draft the policy page

1. Under the connection, choose Draft the policy page.

2. Open the draft in Knowledge, add what the platform cannot say, such as receipts and who approves, then publish.

3. When programs change, choose Redraft the policy page. Shuffl updates the same page as a new draft.

Mello answers best when your expense policy is a page in Knowledge. Draft the policy page writes one from your programs. It stays a draft until someone who manages Knowledge reviews it and publishes it to everyone.

- [Open Expenses and cards](https://shuffl.ai/app/settings/spend)

<a id="developers"></a>
## Developers and Mello

The SDK, CLI, MCP and REST API carry the same reads and actions. `spend.current` and `spend.programs` need `integrations:read`; `spend.draftPolicy` and `spend.disconnect` need `integrations:write`.

`spend.mine` with `self:read` returns the signed-in person’s own cards. Connecting stays in Settings.

## Related guides

- [Ask Mello](https://shuffl.ai/docs/ask-mello)

- [Write Knowledge that Mello answers well](https://shuffl.ai/docs/write-knowledge)

- [Compliance evidence](https://shuffl.ai/docs/compliance-evidence)

- [REST API reference](https://shuffl.ai/docs/api-reference)

Agent documentation index: https://shuffl.ai/llms.txt

