Enabling SAP Concur API Version 3

New SAP Concur APIs enable admins in Veeva CRM to configure additional mappings between the two systems, as well as configure the integration to support submitting multiple call expenses.

Considerations When Upgrading to API Version 3

Admins should consider the following when integrating with SAP Concur using API Version 3:

Updating SAP Concur Version

To update the SAP Concur version, populate the Concur API Version Concur Setting with a value of 3.

Mapping to SAP Concur in API Version 3

Updates to Available Mappings

Certain field mappings between Veeva CRM and SAP Concur are available and automatically updated when API Version 3 is enabled. These mappings can be reviewed on the Concur Admin tab:

  • CrnCode – Relabeled to TransactionCurrencyCode
  • ExpKey – Relabeled to ExpenseTypeCode
  • AttendeeType – Relabeled to AttendeeTypeCode
  • Custom1-20 – Updated to include Custom1-25
  • SystemOwner – Field removed
  • UpdateExisting – Field removed

Fields removed or relabeled only apply to default mappings and custom mappings created after updating the API version. Custom field mappings created prior to updating the API version are unaffected and do not affect the ability to submit expenses.

Mapping the AssociatedAttendeesCount Field

The AssociatedAttendeesCount field in SAP Concur enables admins to map a number count when syncing expenses. This is useful when specifying a number of people instead of named attendees for expenses.

To configure mapping the number count:

  1. Navigate to the Attendee Mapping section of the Concur Admin page.
  2. Populate the following fields:

    • Concur Field – Enter AssociatedAttendeesCount
    • Veeva Field – Enter the appropriate Veeva CRM field to map

  3. Select the + button to add the mapping.
  4. Select Save.

Connected List Mapping

To correctly send the appropriate value mapped between fields in Veeva CRM and SAP Concur, mapped SAP Concur fields must be mapped with an SAP Concur Connected List. Connected Lists can be mapped for both call and medical event expenses and are used when syncing with SAP Concur to retrieve the List Item matching the mapped field value in Veeva CRM.

If the List Item is not found, the raw Veeva Field value is synced.

To configure the SAP Concur List for a custom field mapping:

  1. Navigate to the appropriate mapping section of the Concur Admin Page.
  2. Populate the following fields:

    • Concur Field – Populate with the appropriate field from SAP Concur
    • Veeva Field – Populate with the appropriate field from Veeva CRM
    • Concur List – Select the corresponding list that is mapped to the SAP Concur Field

  3. Select the + button to add the mapping.
  4. Select Save.

To identify the appropriate SAP Concur List for mapping, in SAP Concur:

  1. Navigate to Forms and Fields in Expense Administration.
  2. Select the appropriate Form Type.
  3. Select the Form Fields tab.

  4. Select the appropriate Form Field record.
  5. Select the field to map in Veeva CRM.
  6. Select Modify Form Fields. The appropriate list to use when mapping this field in Veeva CRM displays in the List field.

See SAP Concur Technical Documentation for more information.

Sync Details in the SAP Concur Sync Log

To troubleshoot SAP Concur Sync, a sync log is available with information to review expense information that is submitted through the connector to SAP Concur. The file contains details about each expense, attendee, receipt images, and error messages.

To download a sync log, select the appropriate row in the Concur Sync History table on the Concur Admin tab.

The sync log downloads as a CSV file with the following columns:

  • ObjectType – Can be either Call or Medical Event
  • ObjectId – The specific Call2_vod or Medical_Event_vod record
  • OwnerId / Concur User – The owner of the record in Veeva CRM and their corresponding user ID in SAP Concur
  • Response – Information returned by SAP Concur on the specific expense, attendee, or other synced record
  • Error – Displays any error messages for the synced row, if applicable