SAP Concur Overview

To aid in streamlining the expense reporting process, Veeva CRM is integrated with SAP Concur Management Systems, enabling users to capture Call and Medical Event related expense and attendee information on a Veeva Call Report or Medical Events, and automatically post the expense information to SAP Concur expense reports.

The main purpose of the integration is to eliminate the need for reps to enter attendee information in two different systems. Additionally, automatic posting of attendees improves data accuracy.

The integration posts expenses to most recent un-submitted report in SAP Concur. The standard, out of the box Veeva-SAP Concur integration functionality is to post expense entries to the most recent un-submitted expense report in SAP Concur This is the default behavior and it is not configurable.

Veeva uses the SAP Concur Expense Report Resource: GET to get the list of all unsubmitted expense reports for a particular user. This request returns a list of expense reports, each of which has a ReportDate field. Veeva integration sorts the list by the ReportDate field and selects the one with the latest ReportDate. The expense is posted to this report.

SAP Concur does not stamp the time component of the date/time field into the ReportDate. As a result, if someone had multiple expense reports with the same ReportDate, it would display as follows:




Because there was no time component, the integration would not get a meaningful sort by list. This may seem like the functionality is not working correctly to the person testing the functionality.

To enable the SAP Concur Integration, you will need the following:

  • Customer of SAP Concur Expense Management System
  • SAP Concur Web Services Administrator (WSAdmin) User Id and Password with Expense User permissions

SAP Concur Sync Architecture

While the Call Reports are stored in Salesforce, nearly all the work performed during the SAP Concur Sync happens on Veeva servers. Sync info is only stored on Veeva servers, aside from the SAP Concur expense id and SUCCESS/FAILURE that is stored back on the Call Report.

High-level SAP Concur Sync Process Flow:

  1. Scheduled job runs on SFDC, makes an HTTP request to Veeva servers to initiate the sync
  2. Veeva servers receive the request and begin the sync process
  3. Veeva servers retrieve Call Reports from Salesforce that need to be synced over using the SOAP API
  4. Veeva servers communicate with SAP Concur servers using the SAP Concur API to post expense reports
  5. Results of the SAP Concur API interactions are stored on Veeva servers

Authentication Changes for 2022

In January, SAP Concur announced they are retiring their legacy authentication method for accessing their Hosted Customer Connectors to the new authentication method on June 30th, 2022. To support this, Veeva is updating the CRM integration authentication method.

Customers using the Veeva CRM Connector for Expenses will be required to take action for the migration process. For details, review the instructions in Configuring SAP Concur Integration.

Starting on June 30, 2022, SAP Concur will change how authentication works for integrations with partner software, including Veeva CRM. To avoid integration errors, any customers with CRM environments connected to SAP Concur must reconnect and authenticate from within SAP Concur’s App Center before June 30.

Configuration and mappings are not modified and are retained during the migration process. Customers should reconnect and verify sending expense transactions with the new authentication.

The new authentication uses the default, global Concur Group Configuration when configuring Expense Types and Payment Types for mapping. Optionally, admins can add the Expense Types and Payment Types to the global configuration in Concur or by manually editing the appropriate Concur Settings.