SAP Concur Expense website screenshot

SAP Concur Expense

SAP Concur Expense is a cloud-based travel and expense management solution that automates and streamlines expense reporting, approval workflows, and reimbursement processes for businesses. It integrates with corporate card programs, receipt capture, and ERP systems to provide end-to-end expense lifecycle management with audit controls and policy enforcement.

8 APIs 0 Features
Expense ManagementFinancial ManagementReceiptsReimbursementReportingSAPTravel

APIs

Expense Report v3 API

Allows developers to read and write expense report headers, manage the expense report lifecycle including submission and approval workflows, and retrieve expense report data for...

Expense Entry v3 API

Manage individual expense entries within expense reports including itemizations, attendees, custom fields, and form field values. Supports creating, reading, updating, and delet...

Quick Expense v3 API

Create and manage basic expenses quickly outside of a formal expense report. Quick expenses can be added to an expense report later. Useful for capturing expenses on-the-go befo...

Receipt Image v3 API

Upload, retrieve, and manage receipt images associated with expense entries. Supports attaching scanned receipts, e-receipts from travel providers, and credit card transaction i...

Digital Tax Invoice API

Retrieve digital tax invoice data associated with expense entries for compliance and auditing in jurisdictions that require electronic invoicing (e-invoicing). Provides access t...

Expense Group Configuration API

Retrieve expense group configurations including expense types, expense policies, payment types, and workflow settings. Used to dynamically configure expense capture UIs and enfo...

Expense Allocations API

Manage allocation of expenses across multiple cost centers, projects, departments, or GL accounts. Supports percentage-based and amount-based allocation splits for corporate exp...

Payment Batch v1 API

Retrieve and manage payment batches for processed expense reports ready for reimbursement. Provides visibility into batch payment status, amounts, and payee information for inte...

Collections

Arazzo Workflows

SAP Concur Attach Receipt to Entry

Create an expense entry, upload a receipt image, and confirm the stored image.

ARAZZO

SAP Concur Create Quick Expense

Capture a quick expense outside of a report and read it back to confirm.

ARAZZO

SAP Concur Create Report and Add Entry

Create a draft expense report, add an expense entry to it, then read the report back.

ARAZZO

SAP Concur Create Report From Policy

Resolve the user's expense policy, then create a report under it and read it back.

ARAZZO

SAP Concur Find Pending Report Detail

List reports pending approval, then read the first one in full detail.

ARAZZO

SAP Concur Inspect Entry Allocations

Read an expense entry, then list how it is split across cost objects.

ARAZZO

SAP Concur List Entries and Get Detail

List the entries on a report and fetch the full detail of the first one.

ARAZZO

SAP Concur Promote Quick Expense to Report

Turn a captured quick expense into a report entry, then remove the quick expense.

ARAZZO

SAP Concur Report Status Check

Retrieve a report and branch on whether it has been paid or is still pending.

ARAZZO

SAP Concur Update Report and Verify

Read a draft report, update its header fields, then read it back to confirm.

ARAZZO

Pricing Plans

Rate Limits

Sap Concur Expense Rate Limits

1 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Sap Concur Expense Context

0 classes · 34 properties

JSON-LD

API Governance Rules

SAP Concur Expense API Rules

16 rules · 2 errors 8 warnings 1 info

SPECTRAL

JSON Structure

Sap Concur Expense Entry Structure

0 properties

JSON STRUCTURE

Sap Concur Expense Report Structure

0 properties

JSON STRUCTURE

Sap Concur Expense Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
DeveloperPortal
DeveloperPortal
🚀
GettingStarted
GettingStarted
🔑
Authentication
Authentication
🔑
OAuth 2.0
OAuth 2.0
🔗
API Explorer
API Explorer
💬
Support
Support
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🟢
StatusPage
StatusPage
📄
ReleaseNotes
ReleaseNotes
🔗
Community
Community
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
🔗
Website
Website
📝
Signup
Signup
📦
SDKs
SDKs
🔗
PostmanCollection
PostmanCollection
🔗
OpenAPI
OpenAPI
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONStructure
JSONStructure
🔗
JSONStructure
JSONStructure
🔗
JSONLD
JSONLD
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: SAP Concur Expense API
  version: '3.0'
request:
  auth:
    type: oauth2
    flow: authorization_code
    authorizationUrl: https://us.api.concursolutions.com/oauth2/v0/authorize
    accessTokenUrl: https://us.api.concursolutions.com/oauth2/v0/token
    credentials:
      clientId: '{{clientId}}'
      clientSecret: '{{clientSecret}}'
items:
- info:
    name: Expense Reports
    type: folder
  items:
  - info:
      name: List Expense Reports
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/reports
      params:
      - name: offset
        value: ''
        type: query
        description: Starting page offset for pagination
      - name: limit
        value: ''
        type: query
        description: Number of records to return per page (max 100)
      - name: approvalStatusCode
        value: ''
        type: query
        description: 'Filter by approval status code. Valid values: A_AAFH, A_AAPH, A_ADMIN, A_APPR, A_EXTV, A_FILE, A_NOTF,
          A_PBDG, A_PECO, A_PEND, A_PVAL, A_RESU, A_RHLD, A_TEXP'
      - name: paymentStatusCode
        value: ''
        type: query
        description: 'Filter by payment status code. Valid values: P_HOLD, P_NOTP, P_PAID, P_PAYC, P_PROC'
      - name: modifiedDateBefore
        value: ''
        type: query
        description: Return reports modified before this date (ISO 8601 format)
      - name: modifiedDateAfter
        value: ''
        type: query
        description: Return reports modified after this date (ISO 8601 format)
      - name: userID
        value: ''
        type: query
        description: The login ID of the report owner. May only be used by company-level access token holders.
      - name: reimbursementMethod
        value: ''
        type: query
        description: 'Filter by reimbursement method. Valid values: ADPPAYR, APCHECK, AVI, CNQRPAY, PMTSERV'
    docs: Returns a collection of expense reports belonging to the current user or accessible via company-level access. Supports
      filtering by approval status, submission date, payment status, and reimbursement method.
  - info:
      name: Create Expense Report
      type: http
    http:
      method: POST
      url: https://us.api.concursolutions.com/api/v3.0/expense/reports
      body:
        type: json
        data: '{}'
    docs: Creates a new expense report header. After creating the report header, expense entries can be added using the expense
      entries endpoint.
  - info:
      name: Get Expense Report
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/reports/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the expense report
    docs: Returns a single expense report by its ID. Includes report header information such as approval status, totals, and
      submission date.
  - info:
      name: Update Expense Report
      type: http
    http:
      method: PUT
      url: https://us.api.concursolutions.com/api/v3.0/expense/reports/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the expense report
      body:
        type: json
        data: '{}'
    docs: Updates an existing expense report header. Only draft reports (not yet submitted) can be updated.
  - info:
      name: Delete Expense Report
      type: http
    http:
      method: DELETE
      url: https://us.api.concursolutions.com/api/v3.0/expense/reports/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the expense report
    docs: Deletes an expense report. Only draft reports that have never been submitted can be deleted.
- info:
    name: Expense Entries
    type: folder
  items:
  - info:
      name: List Expense Entries
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/entries
      params:
      - name: reportID
        value: ''
        type: query
        description: The unique identifier of the expense report
      - name: offset
        value: ''
        type: query
        description: Starting page offset for pagination
      - name: limit
        value: ''
        type: query
        description: Number of records to return per page (max 100)
    docs: Returns a collection of expense entries for the specified report ID. Each entry represents a single expense line
      item with amount, date, category, and supporting details.
  - info:
      name: Create Expense Entry
      type: http
    http:
      method: POST
      url: https://us.api.concursolutions.com/api/v3.0/expense/entries
      body:
        type: json
        data: '{}'
    docs: Creates a new expense entry within an expense report. The report must exist and be in draft state. The entry requires
      an expense type code, transaction date, and transaction amount.
  - info:
      name: Get Expense Entry
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/entries/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the expense entry
    docs: Returns a single expense entry by its ID, including all form field values, itemizations, and attendee information.
  - info:
      name: Update Expense Entry
      type: http
    http:
      method: PUT
      url: https://us.api.concursolutions.com/api/v3.0/expense/entries/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the expense entry
      body:
        type: json
        data: '{}'
    docs: Updates an existing expense entry. Only entries in draft reports can be modified.
  - info:
      name: Delete Expense Entry
      type: http
    http:
      method: DELETE
      url: https://us.api.concursolutions.com/api/v3.0/expense/entries/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the expense entry
    docs: Deletes an expense entry from a draft expense report.
- info:
    name: Quick Expenses
    type: folder
  items:
  - info:
      name: List Quick Expenses
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/quickexpenses
      params:
      - name: offset
        value: ''
        type: query
        description: Starting page offset for pagination
      - name: limit
        value: ''
        type: query
        description: Number of records to return per page (max 100)
      - name: modifiedDateBefore
        value: ''
        type: query
        description: Return quick expenses modified before this date
      - name: modifiedDateAfter
        value: ''
        type: query
        description: Return quick expenses modified after this date
    docs: Returns quick expenses for the current user. Quick expenses are unassigned expense records captured before being
      added to an expense report.
  - info:
      name: Create Quick Expense
      type: http
    http:
      method: POST
      url: https://us.api.concursolutions.com/api/v3.0/expense/quickexpenses
      body:
        type: json
        data: '{}'
    docs: Creates a new quick expense record. Quick expenses can be created without an associated expense report and promoted
      to a full report entry later.
  - info:
      name: Get Quick Expense
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/quickexpenses/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the quick expense
    docs: Returns a single quick expense by its ID.
  - info:
      name: Update Quick Expense
      type: http
    http:
      method: PUT
      url: https://us.api.concursolutions.com/api/v3.0/expense/quickexpenses/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the quick expense
      body:
        type: json
        data: '{}'
    docs: Updates an existing quick expense record.
  - info:
      name: Delete Quick Expense
      type: http
    http:
      method: DELETE
      url: https://us.api.concursolutions.com/api/v3.0/expense/quickexpenses/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the quick expense
    docs: Deletes a quick expense record.
- info:
    name: Receipt Images
    type: folder
  items:
  - info:
      name: List Receipt Images
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/receiptimages
      params:
      - name: offset
        value: ''
        type: query
        description: Starting page offset for pagination
      - name: limit
        value: ''
        type: query
        description: Number of records to return per page (max 100)
      - name: entryID
        value: ''
        type: query
        description: Filter receipt images by expense entry ID
    docs: Returns a collection of receipt images associated with expense entries for the current user.
  - info:
      name: Upload Receipt Image
      type: http
    http:
      method: POST
      url: https://us.api.concursolutions.com/api/v3.0/expense/receiptimages
    docs: Uploads a new receipt image. The image can be in PNG, JPG, PDF, or TIFF format and will be associated with an expense
      entry.
  - info:
      name: Get Receipt Image
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/receiptimages/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the receipt image
    docs: Returns the receipt image URL for the specified image ID.
  - info:
      name: Delete Receipt Image
      type: http
    http:
      method: DELETE
      url: https://us.api.concursolutions.com/api/v3.0/expense/receiptimages/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the receipt image
    docs: Deletes a receipt image by its ID.
- info:
    name: Allocations
    type: folder
  items:
  - info:
      name: List Expense Allocations
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/allocations
      params:
      - name: entryID
        value: ''
        type: query
        description: The expense entry ID to retrieve allocations for
      - name: offset
        value: ''
        type: query
        description: Starting page offset for pagination
      - name: limit
        value: ''
        type: query
        description: Number of records to return per page (max 100)
    docs: Returns expense allocations for the specified entry ID. Allocations split an expense across multiple cost centers,
      projects, or GL accounts.
- info:
    name: Group Configurations
    type: folder
  items:
  - info:
      name: List Expense Group Configurations
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/expensegroupconfigurations
      params:
      - name: offset
        value: ''
        type: query
        description: Starting page offset for pagination
      - name: limit
        value: ''
        type: query
        description: Number of records to return per page
      - name: userID
        value: ''
        type: query
        description: The login ID of the user to retrieve configurations for
    docs: Returns expense group policy configurations for the current user. Configurations define available expense types,
      payment types, allowable business purposes, and workflow approval rules.
  - info:
      name: Get Expense Group Configuration
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/expensegroupconfigurations/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the expense group configuration
    docs: Returns a single expense group configuration by its ID.
- info:
    name: Payment Batches
    type: folder
  items:
  - info:
      name: List Payment Batches
      type: http
    http:
      method: GET
      url: https://us.api.concursolutions.com/api/v3.0/expense/paymentbatches
      params:
      - name: offset
        value: ''
        type: query
        description: Starting page offset for pagination
      - name: limit
        value: ''
        type: query
        description: Number of records to return per page
      - name: batchID
        value: ''
        type: query
        description: Filter by specific payment batch ID
    docs: Returns payment batches for approved expense reports ready for reimbursement. Payment batches group multiple expense
      reports into a single payment run.
bundled: true