# Automate Stripe work with your agents

Maplith maps how Stripe’s payments, customers, invoices and subscriptions join your accounting, web shop, CRM and recurring orders, so your agent knows where each thing is and how far to trust each join.

Maplith’s Stripe integration is built and switched on workspace by workspace: ask Maplith at support@maplith.com to switch it on for yours. Until then, connect Stripe to your own agent today; Maplith maps it from there.

| Way | Status | What it means |
|---|---|---|
| Your own agent | Available | Stripe connector in Claude or Stripe plugin in ChatGPT, read-only. |
| Export files | Available | CSV exports: the last three months. |
| Maplith reads Stripe itself | Rolling out | Switched on workspace by workspace. Ask Maplith at support@maplith.com to switch it on for yours. |

## Example flows

What starts the work, what your agent does with Maplith, and how it ends. Each flow uses the Stripe data and joins described below.

### A payout lands short in the bank

**Trigger:** A Stripe payout in the bank is lower than the payments behind it.

1. **Route**: `route` from the bank line to the payout, by amount, date and trace id, then to its balance transactions by payout id.
2. **Ask**: `ask`: “which balance transactions make up a payout, and where do fees, refunds and disputes show?” The answer comes from the map, with citations.
3. **The map**: `get_object` on the payout says its balance transactions join it by the automatic payout id; the agent reads them in Stripe with its own read key.
4. **Record and value**: `record_action` records what the agent found, and how the check ended.

**Result:** The gap is explained from Stripe’s own balance, by reporting category.

### Paid in Stripe, open in the accounts

**Trigger:** A Stripe invoice is paid, and the same invoice still shows as open in your accounting system.

1. **Findings**: Where a scan found Stripe and your accounts disagreeing, a finding with its evidence and a recommendation.
2. **Route**: `route` from the Stripe invoice to the sales invoice in your accounting system, by invoice number.
3. **The action gate**: `request_action` for an operation you declared, such as a task for the bookkeeper, decided by the key’s policy.
4. **Record and value**: `record_action` records that the task went to the bookkeeper.

**Result:** The bookkeeper gets the invoice, the payment and the reason in one task.

### A customer says they were charged twice

**Trigger:** A customer writes to support: two charges for one order.

1. **Task context**: Your agent passes the case to `get_task_context`, and gets the playbook for payment questions, if you put one in use, and what its key may do.
2. **Route**: `route` from the helpdesk conversation to the Stripe customer by email, then to their payments by customer id.
3. **The map**: `get_object` on the payment says the order id sits in its metadata; the agent checks both payments against the shop order with its own read key.
4. **The action gate**: A refund waits for a person’s approval when you set it to. Maplith never issues it: your agent does, only with write access you give it in Stripe separately, once approved.
5. **Record and value**: `record_action` records how the case ended, and the action log shows who approved the refund.

**Result:** The customer gets an answer and, where one is due, a refund that someone approved.

Steps that use `request_action` or `record_action` need an agent key that may act; a read-only key reads the map.

## How it connects

Read-only, through access you already have. Until Maplith’s Stripe integration reaches your workspace, Maplith holds no Stripe credential.

1. Connect your assistant to Maplith over MCP, by signing in or with an agent key.
2. Your agent reads Stripe with the Stripe connector in Claude or the Stripe plugin in ChatGPT, read-only.
3. With your approval it sends what it read; Maplith builds the map and deletes the files again.

### When Maplith’s Stripe integration reaches your workspace

1. In the Stripe Dashboard, open the API keys page and click Create restricted key.
2. When Stripe asks what the key is for, choose Authorizing agent access to your account.
3. Enter a name in the Key name field.
4. Set Read on Charges, Customers, Invoices, Subscriptions, Balance and Payouts, and leave everything else at None.
5. Click Create key, complete the two-factor verification, and click the key value to copy it. Stripe shows it only once.

**What Maplith’s Stripe integration never reads or does:**

- **Anything that creates, changes, schedules or deletes:** only the reads Maplith needs for the map are called, whatever else Stripe's server offers.
- **Another Stripe account:** Maplith never reads a connected account.
- **The key itself after it is stored:** it is sealed and never shown again.

**The permissions it asks for, and why:**

| Permission | Why |
|---|---|
| Charges: Read | Payments: one row per charge, with its status and any refund. |
| Customers: Read | Customers: who paid, by customer id. |
| Invoices: Read | Invoices: Stripe Billing invoices, by number. |
| Subscriptions: Read | Subscriptions: each subscription and its status. |
| Balance: Read | Balance transactions: every movement in the Stripe balance, for payout reconciliation. |
| Payouts: Read | Payouts: each transfer from Stripe to the bank. |

### What Maplith never reads or does

- **Stripe itself:** until Maplith’s Stripe integration reaches your workspace, Maplith holds no Stripe credential and never signs in to it.
- **Anything that changes Stripe:** Maplith never writes there. When your agent acts, it uses access you gave it.
- **What you leave out:** you decide what your agent shares or an export contains.

### Datasets that make a good map

- **Payments**: One row per payment (a charge), including its status and any refund. Key columns: charge id, payment intent id, customer id, customer email (Maplith tries to mask it), amount, currency, status, order id in the metadata.
- **Customers**: One row per Stripe customer. Key columns: customer id, customer email (Maplith tries to mask it), created date, metadata keys.
- **Invoices**: One row per Stripe Billing invoice. Key columns: invoice id, invoice number, customer id, subscription id, payment intent id, status, amount due, amount paid.
- **Subscriptions**: One row per subscription, with its price and current status. The price id and product id are columns in Stripe's export; a connected scan finds them nested in the subscription's items. Key columns: subscription id, customer id, price id, product id, status, current period start, current period end.
- **Balance transactions**: One row per movement in the Stripe balance: payment, refund, dispute, fee, or payout. The automatic payout id, invoice number and order id are columns in Stripe's export only; a connected scan has the source id instead. Key columns: balance transaction id, source id, charge id, payment intent id, automatic payout id, invoice number, order id, reporting category, gross, fee, net.
- **Payouts**: One row per transfer from Stripe to the company's bank account. Key columns: payout id, arrival date, amount, currency, status, trace id.

### The narrowest access Stripe offers for reading

- `Charges: Read`
- `Customers: Read`
- `Payment Intents: Read`
- `Invoices: Read`
- `Subscriptions: Read`
- `Balance: Read`
- `Payouts: Read`
- `Disputes: Read`

The account owner or an Administrator in Stripe; in small companies often the founder or the finance person.

Checked against Stripe’s documentation on 28 October 2026. Sources and export steps: [Read Stripe into Maplith](https://maplith.com/docs/md/systems/stripe).

## FAQ

### Does Maplith copy my Stripe data?

No. Maplith keeps metadata about your data: which datasets Stripe holds, their fields, and how they join your other systems. It does not keep copies of the records. What your agent shares is read for a build and then deleted. The map may quote example values and evidence.

### Which Stripe access does Maplith need?

Through your own agent, none: Maplith holds no Stripe credential for it. If it connects to Stripe’s MCP server directly instead, create a restricted key with Read on the resources the map needs and None on everything else, and keep it in the client your agent connects with, never in a chat. When Maplith’s Stripe integration reads Stripe, it asks only for: `Charges: Read`, `Customers: Read`, `Invoices: Read`, `Subscriptions: Read`, `Balance: Read` and `Payouts: Read`. Maplith keeps that access sealed, never shown again and never sent to a model.

### Which AI assistants work with Maplith and Stripe?

Any assistant that speaks MCP, such as Claude, ChatGPT or one you build, connects to Maplith by signing in or with an agent key. To read Stripe, it uses the Stripe connector in Claude or the Stripe plugin in ChatGPT, read-only. It reads the map, then does the work in Stripe with its own access. [Connect your own agent](https://maplith.com/docs/own-agent)

### Where is my Stripe data processed?

In the EU, except model inference. Hosting, database and file storage are in the EU. Model inference runs in the United States under standard contractual clauses: to build the map, samples of the files and, in the findings step, whole files are sent to Maplith’s model provider, which deletes them within 30 days. [Security](https://maplith.com/security) states the details.

### Does Maplith change anything in Stripe?

No. Maplith’s Stripe integration never does anything that creates, changes, schedules or deletes in Stripe: only the reads Maplith needs for the map are called, whatever else Stripe's server offers. Stripe’s MCP server also offers write tools, so the key your agent maps with should have Read permissions only. When your agent acts in Stripe, it uses access you gave it. If its key may act, it can ask Maplith first whether the action may go ahead under your key’s policy, and Maplith keeps the log.

### What about customer emails and other personal data in Stripe?

Stripe’s payments and customers hold customer emails. Maplith tries to mask email local parts, payment card numbers when they are well-formed, and the names in an export’s own name columns (on by default; an admin can switch it off). It is a best-effort safeguard, not a guarantee. You decide what your agent shares or an export contains.

### How does Maplith read Stripe itself?

Payments, invoices, subscriptions, balance transactions and payouts from the last 90 days, and every customer, from the one Stripe account the key belongs to, at each scan. Each dataset lands as a CSV table, in the shape Stripe's API returns, and Maplith tries to mask personal details such as email addresses in it, as in any upload. Maplith reads only the datasets the map needs. To read less, remove the connection and upload Stripe's exports on the Scans tab instead. It is switched on workspace by workspace: ask Maplith at support@maplith.com to switch it on for yours. Until then, connect Stripe to your own agent today; Maplith maps it from there.

### Which Stripe data makes a good map?

Payments, customers, invoices, subscriptions, balance transactions and payouts. For a first map, the exports cover the last three months.

## Related integrations

- [e-conomic](https://maplith.com/integrations/md/e-conomic): From e-conomic · Booked invoices and lines. Payment providers and bank lines by invoice number.
- [Dinero](https://maplith.com/docs/md/systems/dinero): From Dinero · Sales invoices. Payment providers and bank lines by invoice number.
- [Billy](https://maplith.com/docs/md/systems/billy): From Billy · Invoices. Payment providers, webshop orders and bank lines by invoice number.
- [Shopify](https://maplith.com/integrations/md/shopify): From Shopify · Transactions. Shopify Payments payouts and other payment providers (Stripe, PayPal) by order and amount.
- [WooCommerce](https://maplith.com/integrations/md/woocommerce): From WooCommerce · Orders. Stripe or PayPal payments by transaction id.
- [HubSpot](https://maplith.com/docs/md/systems/hubspot): From HubSpot · Deals. Invoices in the accounting system or Stripe by a deal or order reference, if the company records one.
- [Recharge](https://maplith.com/integrations/md/recharge): From Recharge · Charges. Stripe, Braintree or other payment provider charges by transaction id.
- [Pipedrive](https://maplith.com/docs/md/systems/pipedrive): From Stripe · Customers. CRM contacts and shop customers by customer email.

Map Stripe with the rest of your business: https://maplith.com/integrations
