---
title: "SAP Concur MCP server for AI agents - actionlake"
description: "Give Claude 291 SAP Concur actions through one MCP server: reports, list items, meetings. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/sap-concur
updated: 2026-10-23
---

Connectors · Accounting & finance

# SAP Concur MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to SAP Concur and the rest of your systems. It gives your agent 291 SAP Concur actions (155 reads, 107 writes and 29 that wait for a confirmation) and holds the SAP Concur credential itself, so the agent never does. It paces SAP Concur's limits and records every call. Connecting SAP Concur needs your own SAP Concur OAuth app and one admin sign-in.

[Connect SAP Concur free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "sap_concur.identity_users.list",
  intent: "check which SAP Concur account is connected"
}
# List users (Identity v4.1) · read · 1 upstream call
```

- 291 actions in one signed file
- 155 read look, never change
- 107 write create and update
- 29 wait for a yes destructive, confirmed first

Set up

## Connect SAP Concur in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect SAP Concur.
   OAuth 2.0, authorization code. You register your own OAuth app with SAP Concur, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
   Before the first sign-in, SAP Concur needs an OAuth app of your own, registered in its developer portal. actionlake has no SAP Concur app to lend you.
   - `access_token` Access token from one sign-in with your own OAuth app
   - `refresh_token` A company-level refresh token: exchange a Company Request Token (Company Request Token self-service tool) at [glz or…
   - `client_id` SAP Concur OAuth 2 application client ID (from SAP Concur partner enablement, or the OAuth 2.0 Application…
   - `client_secret` The same application's client secret
   - `tenant_host` Where your SAP Concur lives: your tenant host
   ```
   account { op: "connections.requirements", service: "sap_concur" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "sap_concur.identity_users.list" }
   # list users (identity v4.1) · read · 1 upstream call
   check { action: "sap_concur.identity_users.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

SAP Concur at a glance

**Sign-in**

OAuth 2.0, authorization code. You register your own OAuth app with SAP Concur, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.

**You provide**

`access_token` `refresh_token` `client_id` `client_secret`

**Setup fields**

`tenant_host`

**Limits we pace to**

300 calls a minute, per connection

**API covered**

SAP Concur (Expense, Invoice, Request, Budget, Cards, Travel, Identity and User Provisioning APIs) API SAP Concur REST APIs: Expense v3/v4, Expense Config v4, Invoice v3/v3.1/v4, Purchase Request v4, Request v4, Budget v4, Cards v4, Cash Advance v4.1, Attendees v4, List v4, Localities v5, Identity v4/v4.1, Legal Entity v4.1, User Provisioning v4, Spend User v4.1, Travel Allowance v4, Itinerary v4, Meetings v4, Receipts v4, Financial Integration v4, at your SAP Concur instance's API base URL, which you enter when connecting

**Built from**

SAP Concur's documentation, read 23 October 2026[developer.concur.com](https://developer.concur.com/api-reference/authentication/apidoc.html) [developer.concur.com](https://developer.concur.com/api-reference/authentication/company-auth.html) [developer.concur.com](https://developer.concur.com/api-reference/budget/v4.fiscal-year.html)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

151 of 155 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line SAP Concur up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in SAP Concur.

291 actions in 97 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **155** read look, never change
- **107** write create and update
- **29** destructive wait for a confirmation

1. ### Reports
   15
   5 read · 9 write · 1 destructive
   Submit an expense report · Approve an expense report (company token) · Send back an expense report (company token) · Get cost objects of a report for an approver
2. ### List items
   9
   3 read · 4 write · 2 destructive
   Create list items in bulk · List the children of a list item · List the children of a list item within a list · Create a list item
3. ### Meetings
   9
   6 read · 2 write · 1 destructive
   Create a meeting · Get a meeting's history · List meetings · Get a meeting's discounts
4. ### Travel requests
   9
   5 read · 3 write · 1 destructive
   List the cash advances of a travel request · List the comments of a travel request · Create a travel request · List the exceptions of a travel request
5. ### Expense comments
   8
   2 read · 4 write · 2 destructive
   Post an expense comment · Post an expense comment (company token) · List expense comments · List expense comments (company token)
6. ### Report comments
   8
   2 read · 4 write · 2 destructive
   Post a report header comment · Post a report header comment (company token) · List report header comments · List report header comments (company token)
7. ### Lists
   7
   4 read · 2 write · 1 destructive
   List the first-level items of a list · Create a list · List custom lists · List lists in a category
8. ### Meeting attendees
   7
   2 read · 4 write · 1 destructive
   Add attendees to a meeting in bulk · Add an attendee to a meeting · List a meeting's attendees · Generate an attendee login URL

**89 more areas · 219 actions**

- Expected expenses **6**
- Expenses **6**
- Identity users **6**
- Travel allowance itineraries **6**
- Attendees **5**
- Entries V3 **5**
- Entry attendee associations **5**
- Identity V4 users **5**
- Itemizations V3 **5**
- Legal entities **5**
- Receipts **5**
- Allocation exceptions **4**
- Budget categories **4**
- Budget items **4**
- Connection requests **4**
- Expense attendees **4**
- Expense exceptions **4**
- Financial transactions **4**
- Fiscal years **4**
- Purchase order receipts **4**
- Report exceptions **4**
- Reports V3 **4**
- Vendors **4**
- Allocations **3**
- Cash advances **3**
- Digital tax invoices **3**
- Payment confirmations **3**
- Payment requests **3**
- Provider payments **3**
- Provisioning users **3**
- Purchase orders **3**
- Receipt images **3**
- Report cash advances **3**
- Admin regions **2**
- Allocations V3 **2**
- Card transactions **2**
- Countries **2**
- Expense taxes **2**
- Group configs **2**
- Identity schemas **2**
- Identity V4 schemas **2**
- Image only receipts **2**
- Locations **2**
- Payment request digests **2**
- Provisioning resource types **2**
- Purchase requests **2**
- Sales tax validation requests **2**
- Spend document receipts **2**
- Spend users **2**
- Subdivisions **2**
- Tax documents **2**
- Travel allowance assignments **2**
- Travel allowance day properties **2**
- Travel request agency proposals **2**
- Travel request allocations **2**
- Travel request participants **2**
- Travel users **2**
- Trips **2**
- Vendor groups **2**
- Attendee types **1**
- Budget adjustments **1**
- Budget expense types **1**
- Budget tracking fields **1**
- Card accounts **1**
- Card bulk requests **1**
- Detokenizer credit cards **1**
- Detokenizer public key **1**
- Exchange rates **1**
- Expense attendee types **1**
- Expense policies **1**
- Expense types **1**
- Identity resource types **1**
- Identity service provider config **1**
- Identity V4 resource types **1**
- Identity V4 service provider config **1**
- Meeting form data **1**
- Payment types **1**
- Provisioning bulk **1**
- Provisioning schemas **1**
- Provisioning status **1**
- Quick expenses **1**
- Spend form fields **1**
- Travel agencies **1**
- Travel allowance calculation results **1**
- Travel allowance configurations **1**
- Travel request cash advances **1**
- Travel request policies **1**
- User group configs **1**
- Vendor banks **1**

Top actions

## The SAP Concur API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 31 of SAP Concur's 31 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `sap_concur.identity_users.list` List users (Identity v4.1) | List users (Identity v4.1). | read | `identity.user.list` 474 connectors |
| `sap_concur.entries_v3.list` List expense entries (v3) | List expense entries (v3). | read | `finance.expense.list` 40 connectors |
| `sap_concur.reports_v3.list` List expense reports (v3) | List expense reports (v3). | read | `finance.expense_report.list` 11 connectors |
| `sap_concur.identity_users.create` Create a user's identity profile (Identity v4.1) | Create a user's identity profile (Identity v4.1). | write | `identity.user.create` 262 connectors |
| `sap_concur.entries_v3.create` Create an expense entry (v3) | Create an expense entry (v3). | write | `finance.expense.create` 36 connectors |
| `sap_concur.reports_v3.create` Create an expense report (v3) | Create an expense report (v3). | write | `finance.expense_report.create` 9 connectors |
| `sap_concur.entries_v3.delete` Delete an expense entry (v3) | Delete an expense entry (v3). | destructive | `finance.expense.delete` 29 connectors |
| `sap_concur.payment_request_digests.list` List invoice digests | List invoice digests. | read | `finance.invoice.list` 101 connectors |
| `sap_concur.payment_requests.create` Create an invoice (payment request) | Create an invoice (payment request). | write | `finance.invoice.create` 74 connectors |
| `sap_concur.purchase_orders.create` Create a purchase order | Create a purchase order. | write | `finance.purchase_order.create` 43 connectors |
| `sap_concur.purchase_orders.get` Get a purchase order | Get a purchase order. | read | `finance.purchase_order.get` 47 connectors |
| `sap_concur.budget_items.list` List budget items | List budget items. | read | `finance.budget.list` 15 connectors |

Try it

## Prompts to paste into Claude.

Each one names the SAP Concur actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Who has access in SAP Concur? List every user and their role.
   calls `sap_concur.identity_users.list`
2. Write write
   Create a user's identity profile (Identity v4.1) in SAP Concur. Show me exactly what you will send before you save it.
   calls `sap_concur.identity_users.create`

Governance for SAP Concur

## Destructive actions wait for a yes.

29 SAP Concur actions are destructive. These are all of them:

- Delete an expense entry (v3) `sap_concur.entries_v3.delete`
- Delete a budget item `sap_concur.budget_items.delete`
- Delete an expense report `sap_concur.reports.delete`
- Delete an expense `sap_concur.expenses.delete`
- Delete a travel request `sap_concur.travel_requests.delete`
- Remove a list `sap_concur.lists.delete`
- Delete an invoice vendor `sap_concur.vendors.delete`
- Delete a meeting `sap_concur.meetings.delete`
- Delete a list item `sap_concur.list_items.delete`
- Delete a fiscal year `sap_concur.fiscal_years.delete`
- Remove a vendor from a vendor group `sap_concur.vendor_groups.delete`
- Delete a receipt image `sap_concur.receipt_images.delete`
- Delete an expense itemization (v3) `sap_concur.itemizations_v3.delete`
- Delete report header comments `sap_concur.report_comments.delete`
- Delete expense comments `sap_concur.expense_comments.delete`
- Delete a budget category `sap_concur.budget_categories.delete`
- Delete an expected expense `sap_concur.expected_expenses.delete`
- Remove the attendee associations of an expense `sap_concur.expense_attendees.delete`
- Remove a meeting attendee `sap_concur.meeting_attendees.delete`
- Delete a report header exception `sap_concur.report_exceptions.delete`
- Delete an expense exception `sap_concur.expense_exceptions.delete`
- Delete a list item from a list `sap_concur.list_items.remove_from_list`
- Disassociate cash advances from a report `sap_concur.report_cash_advances.delete`
- Delete an allocation exception `sap_concur.allocation_exceptions.delete`
- Delete report header comments (company token) `sap_concur.report_comments.delete_system`
- Delete expense comments (company token) `sap_concur.expense_comments.delete_system`
- Delete a purchase order receipt `sap_concur.purchase_order_receipts.delete`
- Delete an entry-attendee association (v3) `sap_concur.entry_attendee_associations.delete`
- Delete a travel allowance itinerary `sap_concur.travel_allowance_itineraries.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do sap_concur.entries_v3.delete confirm_policy: **human**

Delete an expense entry (v3)?

**intent:** the user asked me to delete an expense entry (v3)

run suspended · waiting for a named person · key _sap-concur-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "sap-concur-agent",
  allowed_actions: ["sap_concur.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "sap_concur.entries_v3.delete", approver: "lead@example.com" },
    { match: "sap_concur.budget_items.delete", approver: "lead@example.com" },
    { match: "sap_concur.reports.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to SAP Concur only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What SAP Concur costs on actionlake.

Every SAP Concur action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call SAP Concur refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 291 SAP Concur actions
- 291 actions page each page of a long list is one call
- 151 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every SAP Concur action.

291 actions by area: the id your agent calls, what it does, and its effect.

**Reports 15**

- `sap_concur.reports.approve` Approve an expense report (company token) write
- `sap_concur.reports.cost_objects_for_approver` Get cost objects of a report for an approver read
- `sap_concur.reports.send_back` Send back an expense report (company token) write
- `sap_concur.reports.submit` Submit an expense report write
- `sap_concur.reports.approve_as_user` Approve an expense report as a user write
- `sap_concur.reports.create` Create an expense report write
- and 9 more in this area

**List items 9**

- `sap_concur.list_items.bulk_create` Create list items in bulk write
- `sap_concur.list_items.children` List the children of a list item read
- `sap_concur.list_items.children_in_list` List the children of a list item within a list read
- `sap_concur.list_items.create` Create a list item write
- `sap_concur.list_items.bulk_update` Update list items in bulk write
- `sap_concur.list_items.delete` Delete a list item destructive
- and 3 more in this area

**Meetings 9**

- `sap_concur.meetings.create` Create a meeting write
- `sap_concur.meetings.discounts` Get a meeting's discounts read
- `sap_concur.meetings.history` Get a meeting's history read
- `sap_concur.meetings.list` List meetings read
- `sap_concur.meetings.delete` Delete a meeting destructive
- `sap_concur.meetings.get` Get a meeting read
- and 3 more in this area

**Travel requests 9**

- `sap_concur.travel_requests.cash_advances` List the cash advances of a travel request read
- `sap_concur.travel_requests.comments` List the comments of a travel request read
- `sap_concur.travel_requests.create` Create a travel request write
- `sap_concur.travel_requests.exceptions` List the exceptions of a travel request read
- `sap_concur.travel_requests.delete` Delete a travel request destructive
- `sap_concur.travel_requests.get` Get a travel request read
- and 3 more in this area

**Expense comments 8**

- `sap_concur.expense_comments.create` Post an expense comment write
- `sap_concur.expense_comments.create_system` Post an expense comment (company token) write
- `sap_concur.expense_comments.list` List expense comments read
- `sap_concur.expense_comments.list_system` List expense comments (company token) read
- `sap_concur.expense_comments.delete` Delete expense comments destructive
- `sap_concur.expense_comments.delete_system` Delete expense comments (company token) destructive
- and 2 more in this area

**Report comments 8**

- `sap_concur.report_comments.create` Post a report header comment write
- `sap_concur.report_comments.create_system` Post a report header comment (company token) write
- `sap_concur.report_comments.list` List report header comments read
- `sap_concur.report_comments.list_system` List report header comments (company token) read
- `sap_concur.report_comments.delete` Delete report header comments destructive
- `sap_concur.report_comments.delete_system` Delete report header comments (company token) destructive
- and 2 more in this area

**Lists 7**

- `sap_concur.lists.children` List the first-level items of a list read
- `sap_concur.lists.create` Create a list write
- `sap_concur.lists.list` List custom lists read
- `sap_concur.lists.list_by_category` List lists in a category read
- `sap_concur.lists.delete` Remove a list destructive
- `sap_concur.lists.get` Get a list read
- and 1 more in this area

**Meeting attendees 7**

- `sap_concur.meeting_attendees.bulk_create` Add attendees to a meeting in bulk write
- `sap_concur.meeting_attendees.create` Add an attendee to a meeting write
- `sap_concur.meeting_attendees.list` List a meeting's attendees read
- `sap_concur.meeting_attendees.login_url` Generate an attendee login URL write
- `sap_concur.meeting_attendees.delete` Remove a meeting attendee destructive
- `sap_concur.meeting_attendees.get` Get a meeting attendee read
- and 1 more in this area

**Expected expenses 6**

- `sap_concur.expected_expenses.comments` List the comments of an expected expense read
- `sap_concur.expected_expenses.create` Create an expected expense on a travel request write
- `sap_concur.expected_expenses.get` Get an expected expense read
- `sap_concur.expected_expenses.list` List the expected expenses of a travel request read
- `sap_concur.expected_expenses.delete` Delete an expected expense destructive
- `sap_concur.expected_expenses.update` Update an expected expense write

**Expenses 6**

- `sap_concur.expenses.form_fields` Get expense form fields read
- `sap_concur.expenses.get` Get an expense read
- `sap_concur.expenses.itemizations` List the itemizations of an expense read
- `sap_concur.expenses.list` List the expenses on a report read
- `sap_concur.expenses.delete` Delete an expense destructive
- `sap_concur.expenses.update_submitted` Update an expense in a submitted report write

**Identity users 6**

- `sap_concur.identity_users.create` Create a user's identity profile (Identity v4.1) write
- `sap_concur.identity_users.get` Get a user's identity profile (Identity v4.1) read
- `sap_concur.identity_users.list` List users (Identity v4.1) read
- `sap_concur.identity_users.update` Update a user's identity profile (Identity v4.1) write
- `sap_concur.identity_users.replace` Replace a user's identity profile (Identity v4.1) write
- `sap_concur.identity_users.search` Search users (Identity v4.1) read

**Travel allowance itineraries 6**

- `sap_concur.travel_allowance_itineraries.create` Create a travel allowance itinerary write
- `sap_concur.travel_allowance_itineraries.get` Get a travel allowance itinerary read
- `sap_concur.travel_allowance_itineraries.list` List travel allowance itineraries read
- `sap_concur.travel_allowance_itineraries.simulate` Simulate a travel allowance itinerary write
- `sap_concur.travel_allowance_itineraries.delete` Delete a travel allowance itinerary destructive
- `sap_concur.travel_allowance_itineraries.update` Update a travel allowance itinerary write

**Attendees 5**

- `sap_concur.attendees.create` Create an attendee write
- `sap_concur.attendees.get` Get an attendee read
- `sap_concur.attendees.get_many` Get attendees by IDs read
- `sap_concur.attendees.list` List attendees read
- `sap_concur.attendees.update` Update an attendee write

**Entries V3 5**

- `sap_concur.entries_v3.create` Create an expense entry (v3) write
- `sap_concur.entries_v3.get` Get an expense entry (v3) read
- `sap_concur.entries_v3.list` List expense entries (v3) read
- `sap_concur.entries_v3.update` Update an expense entry (v3) write
- `sap_concur.entries_v3.delete` Delete an expense entry (v3) destructive

**Entry attendee associations 5**

- `sap_concur.entry_attendee_associations.create` Create an entry-attendee association (v3) write
- `sap_concur.entry_attendee_associations.get` Get an entry-attendee association (v3) read
- `sap_concur.entry_attendee_associations.list` List entry-attendee associations (v3) read
- `sap_concur.entry_attendee_associations.update` Update an entry-attendee association (v3) write
- `sap_concur.entry_attendee_associations.delete` Delete an entry-attendee association (v3) destructive

**Identity V4 users 5**

- `sap_concur.identity_v4_users.create` Create a user's identity profile (Identity v4) write
- `sap_concur.identity_v4_users.get` Get a user's identity profile (Identity v4) read
- `sap_concur.identity_v4_users.list` List users (Identity v4) read
- `sap_concur.identity_v4_users.replace` Replace a user's identity profile (Identity v4) write
- `sap_concur.identity_v4_users.update` Update a user's identity profile (Identity v4) write

**Itemizations V3 5**

- `sap_concur.itemizations_v3.create` Create an expense itemization (v3) write
- `sap_concur.itemizations_v3.get` Get an expense itemization (v3) read
- `sap_concur.itemizations_v3.list` List expense itemizations (v3) read
- `sap_concur.itemizations_v3.update` Update an expense itemization (v3) write
- `sap_concur.itemizations_v3.delete` Delete an expense itemization (v3) destructive

**Legal entities 5**

- `sap_concur.legal_entities.create` Create a legal entity write
- `sap_concur.legal_entities.get` Get a legal entity read
- `sap_concur.legal_entities.replace` Replace a legal entity write
- `sap_concur.legal_entities.search` Search legal entities read
- `sap_concur.legal_entities.update` Update a legal entity (SCIM PATCH) write

**Receipts 5**

- `sap_concur.receipts.create` Post an e-receipt for a user write
- `sap_concur.receipts.get` Get an e-receipt read
- `sap_concur.receipts.list` List a user's e-receipts read
- `sap_concur.receipts.service_index` Get the receipts service index read
- `sap_concur.receipts.status` Get a receipt's processing status read

**Allocation exceptions 4**

- `sap_concur.allocation_exceptions.add` Add an allocation exception write
- `sap_concur.allocation_exceptions.delete` Delete an allocation exception destructive
- `sap_concur.allocation_exceptions.list` List allocation exceptions read
- `sap_concur.allocation_exceptions.list_system` List allocation exceptions (company token) read

**Budget categories 4**

- `sap_concur.budget_categories.create` Create or update a budget category write
- `sap_concur.budget_categories.delete` Delete a budget category destructive
- `sap_concur.budget_categories.get` Get a budget category read
- `sap_concur.budget_categories.list` List budget categories read

**Budget items 4**

- `sap_concur.budget_items.create` Create or update a budget item write
- `sap_concur.budget_items.delete` Delete a budget item destructive
- `sap_concur.budget_items.get` Get a budget item read
- `sap_concur.budget_items.list` List budget items read

**Connection requests 4**

- `sap_concur.connection_requests.create` Create a connection request for a user (certification only) write
- `sap_concur.connection_requests.get` Get a connection request read
- `sap_concur.connection_requests.list` List TripLink connection requests read
- `sap_concur.connection_requests.update` Update a connection request status write

**Expense attendees 4**

- `sap_concur.expense_attendees.create` Associate attendees with an expense write
- `sap_concur.expense_attendees.delete` Remove the attendee associations of an expense destructive
- `sap_concur.expense_attendees.list` List the attendees of an expense read
- `sap_concur.expense_attendees.list_system` List the attendees of an expense (company token) read

**Expense exceptions 4**

- `sap_concur.expense_exceptions.add` Add an expense exception write
- `sap_concur.expense_exceptions.delete` Delete an expense exception destructive
- `sap_concur.expense_exceptions.list` List expense exceptions read
- `sap_concur.expense_exceptions.list_system` List expense exceptions (company token) read

**Financial transactions 4**

- `sap_concur.financial_transactions.acknowledge` Acknowledge financial transactions write
- `sap_concur.financial_transactions.confirm_payment` Post financial payment confirmations write
- `sap_concur.financial_transactions.confirm_posting` Post financial posting confirmations write
- `sap_concur.financial_transactions.list` List financial transactions ready for posting read

**Fiscal years 4**

- `sap_concur.fiscal_years.create` Create or update fiscal years write
- `sap_concur.fiscal_years.delete` Delete a fiscal year destructive
- `sap_concur.fiscal_years.get` Get a fiscal year read
- `sap_concur.fiscal_years.list` List fiscal years read

**Purchase order receipts 4**

- `sap_concur.purchase_order_receipts.create` Create a purchase order receipt write
- `sap_concur.purchase_order_receipts.delete` Delete a purchase order receipt destructive
- `sap_concur.purchase_order_receipts.get` Get a purchase order receipt read
- `sap_concur.purchase_order_receipts.update` Update a purchase order line item with receipt information write

**Report exceptions 4**

- `sap_concur.report_exceptions.add` Add a report header exception write
- `sap_concur.report_exceptions.delete` Delete a report header exception destructive
- `sap_concur.report_exceptions.list` List report header exceptions read
- `sap_concur.report_exceptions.list_system` List report header exceptions (company token) read

**Reports V3 4**

- `sap_concur.reports_v3.create` Create an expense report (v3) write
- `sap_concur.reports_v3.get` Get an expense report (v3) read
- `sap_concur.reports_v3.list` List expense reports (v3) read
- `sap_concur.reports_v3.update` Update an expense report (v3) write

Vendors **4** Allocations **3** Cash advances **3** Digital tax invoices **3** Payment confirmations **3** Payment requests **3** Provider payments **3** Provisioning users **3** Purchase orders **3** Receipt images **3** Report cash advances **3** Admin regions **2** Allocations V3 **2** Card transactions **2** Countries **2** Expense taxes **2** Group configs **2** Identity schemas **2** Identity V4 schemas **2** Image only receipts **2** Locations **2** Payment request digests **2** Provisioning resource types **2** Purchase requests **2** Sales tax validation requests **2** Spend document receipts **2** Spend users **2** Subdivisions **2** Tax documents **2** Travel allowance assignments **2** Travel allowance day properties **2** Travel request agency proposals **2** Travel request allocations **2** Travel request participants **2** Travel users **2** Trips **2** Vendor groups **2** Attendee types **1** Budget adjustments **1** Budget expense types **1** Budget tracking fields **1** Card accounts **1** Card bulk requests **1** Detokenizer credit cards **1** Detokenizer public key **1** Exchange rates **1** Expense attendee types **1** Expense policies **1** Expense types **1** Identity resource types **1** Identity service provider config **1** Identity V4 resource types **1** Identity V4 service provider config **1** Meeting form data **1** Payment types **1** Provisioning bulk **1** Provisioning schemas **1** Provisioning status **1** Quick expenses **1** Spend form fields **1** Travel agencies **1** Travel allowance calculation results **1** Travel allowance configurations **1** Travel request cash advances **1** Travel request policies **1** User group configs **1** Vendor banks **1**

This index shows a sample of each area. All 291 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The SAP Concur MCP server, answered.

**Is there an SAP Concur MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 291 SAP Concur actions across reports, list items, meetings and travel requests, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by SAP Concur.

**What do I need to connect SAP Concur?**

Your own SAP Concur OAuth app, registered with SAP Concur (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no SAP Concur app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your tenant host. The free call account { op: "connections.requirements", service: "sap_concur" } lists exactly what to paste.

**Can an AI agent delete or change things in SAP Concur?**

Only if its key allows it, and only with an explicit confirmation. 29 SAP Concur actions are destructive, including delete an expense entry (v3), delete a budget item and delete an expense report. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my SAP Concur API limit?**

actionlake paces every call to the limits in the SAP Concur service file: 300 calls a minute per connection. Repeated reads are answered from cache (151 SAP Concur actions can be), which never reaches SAP Concur.

**What does an SAP Concur action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (291 SAP Concur actions page). Cache hits, searches, dry runs and calls SAP Concur refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which SAP Concur API does it cover?**

The SAP Concur (Expense, Invoice, Request, Budget, Cards, Travel, Identity and User Provisioning APIs) API SAP Concur REST APIs: Expense v3/v4, Expense Config v4, Invoice v3/v3.1/v4, Purchase Request v4, Request v4, Budget v4, Cards v4, Cash Advance v4.1, Attendees v4, List v4, Localities v5, Identity v4/v4.1, Legal Entity v4.1, User Provisioning v4, Spend User v4.1, Travel Allowance v4, Itinerary v4, Meetings v4, Receipts v4, Financial Integration v4 at your SAP Concur instance's API base URL, which you enter when connecting. It is built from SAP Concur's documentation as read on 23 October 2026. 291 actions in 97 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my SAP Concur data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your SAP Concur credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like SAP Concur

Shares the most action names with

- [Coupa 24](https://actionlake.com/connectors/coupa)
- [Zoho Expense 16](https://actionlake.com/connectors/zoho-expense)
- [BILL 16](https://actionlake.com/connectors/bill)
- [Oracle Fusion Cloud ERP (Financials) 13](https://actionlake.com/connectors/oracle-fusion-cloud-erp-financials)
- [ApprovalMax 11](https://actionlake.com/connectors/approvalmax)
- [Brex 9](https://actionlake.com/connectors/brex)

Joins with, on shared entities

- [Teamwork 2](https://actionlake.com/connectors/teamwork)
- [Kantata 2](https://actionlake.com/connectors/kantata)
- [Accelo 2](https://actionlake.com/connectors/accelo)
- [Guesty 2](https://actionlake.com/connectors/guesty)
- [Hostaway 2](https://actionlake.com/connectors/hostaway)
- [HaloPSA 1](https://actionlake.com/connectors/halopsa)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by SAP Concur; the name is the vendor's own. Counts are from the SAP Concur service file, version 1.0.0.

## Give your agent SAP Concur today.

[Connect SAP Concur free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/sap-concur
More: https://actionlake.com/llms.txt
