Expense Configuration v4

The Expense Configuration v4 API can be used to read expense configuration associated with expense groups.

Prior Versions

  • Expense Group Configuration v3 documentation is available here

Limitations

This API is only available to partners who have been granted access by SAP Concur. Access to this documentation does not provide access to the API.

Process Flow

A process flow diagram of the Expense Configuration API

Products and Editions

  • Concur Expense Professional Edition
  • Concur Expense Standard Edition

Scope Usage

Required Scopes:

Name Description Endpoint
expense.config.policies.restricted.read Get a list of all expense policies applicable to a user. GET
expense.config.expensetypes.restricted.read Get a list of expense types applicable to a user based on a policy. GET
expense.config.paymenttypes.restricted.read Get a list of all payment types applicable to a user. GET
user.read Get User Information, necessary for userID. GET

Dependencies

SAP Concur clients must purchase Concur Expense in order to use this API. This API requires the Identity v4 API. Please contact your SAP Concur representative for more information.

Access Token Usage

This API supports both company level and user level access tokens.

Retrieve a List of Policies

Retrieves a list of policies applicable to a user

Scopes

expense.config.policies.restricted.read - Refer to Scope Usage for full details.

Request

URI Template

https://{datacenterURI}/expenseconfig/v4/users/{userID}/policies

Parameters

Name Type Format Description
userID string - Required The unique identifier of the SAP Concur user. Use Identity v4 API to retrieve the userID.

Headers

Response

Status Codes

Payload

Example

Request

curl --location --request GET 'https://us.api.concursolutions.com/expenseconfig/v4/users/32C2FCC3-B2E8-4907-9672-5B3F49B1C643/policies' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'

Response

200 OK

[
  {
    "policyId": "B3173DEE4434427293ED0286992452E3",
    "policyName": "US Expense Policy",
    "isDefault": true,
    "isInheritable": false
  },
  {
    "policyId": "4A0A51AF6F244476B65F9FF06E82AF2F",
    "policyName": "CA Expense Policy",
    "isDefault": false,
    "isInheritable": false
  }
]

Retrieve a List of Expense Types for a Policy

Retrieves a list of expense types applicable to a user based on a policy

Scopes

expense.config.expensetypes.restricted.read - Refer to Scope Usage for full details. expense.config.policies.restricted.read - Refer to Scope Usage for full details.

Request

URI Template

https://{datacenterURI}/expenseconfig/v4/users/{userID}/policies/{policyId}/expensetypes

Parameters

Name Type Format Description
userID string - Required The unique identifier of the SAP Concur user. Use Identity v4 API to retrieve the userID.
policyId string - Required The unique identifier of an expense policy. Use Expense Policies v4 API to retrieve the policyId.

Headers

Response

Status Codes

Payload

Example

Request

curl --location --request GET 'https://us.api.concursolutions.com/expenseconfig/v4/users/32C2FCC3-B2E8-4907-9672-5B3F49B1C643/policies/B3173DEE4434427293ED0286992452E3/expensetypes' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'

Response

200 OK

[
  {
    "expenseTypeId": "TRAVL",
    "expenseTypeName": "01. Travel",
    "spendCategoryCode": "OTHER",
    "spendCategoryName": "Other",
    "isCategory": true
  },
  {
    "expenseTypeId": "TRANS",
    "expenseTypeName": "02. Transportation",
    "spendCategoryCode": "OTHER",
    "spendCategoryName": "Other",
    "isCategory": true
  },
  {
    "expenseTypeId": "MLENT",
    "expenseTypeName": "03. Meals and Entertainment",
    "spendCategoryCode": "OTHER",
    "spendCategoryName": "Other",
    "isCategory": true
  },
  {
    "expenseTypeId": "OFFIC",
    "expenseTypeName": "04. Office Expenses",
    "spendCategoryCode": "OTHER",
    "spendCategoryName": "Other",
    "isCategory": true
  },
  {
    "expenseTypeId": "AIRFR",
    "expenseTypeName": "Airfare",
    "spendCategoryCode": "OTHER",
    "spendCategoryName": "Other",
    "isCategory": false,
    "parentExpenseTypeId": "TRAVL",
    "parentName": "01. Travel"
  },
  {
    "expenseTypeId": "AIRTX",
    "expenseTypeName": "Airfare Ticket Tax",
    "spendCategoryCode": "OTHER",
    "spendCategoryName": "Other",
    "isCategory": false,
    "parentExpenseTypeId": "TRAVL",
    "parentName": "01. Travel"
  },
  {
    "expenseTypeId": "AIRFE",
    "expenseTypeName": "Airline Fees",
    "spendCategoryCode": "OTHER",
    "spendCategoryName": "Other",
    "isCategory": false,
    "parentExpenseTypeId": "TRAVL",
    "parentName": "01. Travel"
  }
]

Retrieve a List of Payment Types

Retrieves a list of payment types applicable to a user

Scopes

expense.config.paymenttypes.restricted.read - Refer to Scope Usage for full details.

Request

URI Template

https://{datacenterURI}/expenseconfig/v4/users/{userID}/paymenttypes

Parameters

Name Type Format Description
userID string - Required The unique identifier of the SAP Concur user. Use Identity v4 API to retrieve the userID.

Headers

Response

Status Codes

Payload

Example

Request

curl --location --request GET 'https://us.api.concursolutions.com/expenseconfig/v4/users/32C2FCC3-B2E8-4907-9672-5B3F49B1C643/paymenttypes' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'

Response

200 OK

[
  {
    "paymentTypeId": "CASH",
    "paymentTypeName": "Cash",
    "isDefault": true
  },
  {
    "paymentTypeId": "PERS",
    "paymentTypeName": "Personal",
    "isDefault": false
  },
  {
    "paymentTypeId": "PCCD",
    "paymentTypeName": "Pending Card Transaction",
    "isDefault": false
  }
]

Schema

Expense Policy

Name Type Format Description
policyId string - Required The unique identifier of a policy.
policyName string - Required Name of a policy.
isDefault boolean true/false Required Indicates whether this policy is the default for user’s group.
isInheritable boolean true/false Required Indicates whether this policy is inheritable for user’s group.

Expense Type

Name Type Format Description
expenseTypeId string - Required The unique identifier of an expense type.
expenseTypeName string - Required Name of an expense type.
spendCategoryCode string - Required The unique identifier of a spend category.
spendCategoryName string - Required Name of a spend category.
isCategory boolean true/false Required Is Expense Type a category? Expenses cannot be created from category expense types.
parentExpenseTypeId string - The unique identifier on a parent expense type.
parentName string - Parent expense type name.

Payment Type

Name Type Format Description
paymentTypeId string - Required The unique identifier of a payment type.
paymentTypeName string - Required Name of a payment type.
isDefault boolean true/false Required Indicates whether this payment type is the default for user’s group.

ErrorMessage

Name Type Format Description
errorId string - The unique identifier of the error associated with the response.
errorMessage string - Required The detailed error message.
httpStatus string - Required The http response code and phrase for the response.
path string - Required The URI of the attempted request.
timestamp string date-time Required The time when the error was captured.
validationErrors ValidationError - The validation error messages.

ValidationError

Name Type Format Description
id string - The ID of the validation error.
message string - The detailed message of the validation error.
source string - The type of validation which failed.

On this page