# Schema Reference

The application schema is used to configure the objects returned from a connector.

> [!NOTE]
>
> - The **Account Schema** tab is used to define the attributes for each object type in the application being configured. The schema attributes can be defined as **Entitlement** or **Multi-Valued**. Refer to [Managing Source Account Schemas](<https://documentation.sailpoint.com/saas/help/accounts/schema.html>) for more information.
> - The schema attributes that are not present by [default](<#default-account-schema>) must be defined as strings if not specified.

The SAP Concur SaaS connector uses the following default correlation and object configurations.

## Default Correlation Configuration

Before you aggregate accounts from this source, you can map account attributes with their corresponding identity attributes based on your requirements.

You can customize the correlation configuration. Refer to [Assigning Source Accounts to Identities](<https://documentation.sailpoint.com/saas/help/accounts/correlation.html>) for more information.

When you first create the SAP Concur SaaS source, the default correlation mapping is:

| Account Attribute | Operation | Identity Attribute |
| --- | --- | --- |
| userName | Equals | Name |
| id | Equals | Employee Number |
| id | Equals | Name |
| email | Equals | Work Email |

## Default Account Schema

Each source supports a variety of details, or attributes, about each user who has an account, such as their name, email address, manager name, and location.

The set of account attributes each source stores and how they're organized is known as the account's *schema*. To best represent your data, you can configure sources to use an account schema matching the one you use in the external connector. Refer to [Managing Source Account Schemas](<https://documentation.sailpoint.com/saas/help/accounts/schema.html>) for more information.

### Default Account Attributes

The SAP Concur SaaS connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified.

> [!NOTE]
>
> The asterisk (\*) indicates 'Work' related attributes.

| Attribute Name | Description |
| --- | --- |
| Manager ID | The user's Manager ID (aggregation only). |
| ID | The user's unique identifier. This must not be changed. |
| Login Name | The user's unique username. |
| Active | The user's active status. |
| First Name | The user's first name. |
| Last Name | The user's last name. |
| Display Name | The user's display name. |
| Formatted Name | The user's formatted name. |
| Title | The user's title. |
| Email\* | The user's work Email address. |
| Country\* | The user's country, expressed as a two-letter country code. |
| Postal Code\* | The user's zip or postal code. |
| Region\* | The user's state or region. |
| Street Address\* | The user's street name. |
| Phone Number\* | The user's primary phone number. |
| Timezone | The user's Timezone. |
| Start Date | The user's start date. |
| Termination Date | The user's termination date. |
| Employee ID | The user's employee number. |
| Job Title | The user's job title. |
| Cost Center | The user's cost center. |
| Role Name | The user's role assignments. |
| Entitlements | The user's entitlements or modules assignments. |
| Groups | Groups linked to the user through role assignments. |
| Reimbursement Currency | The user's reimbursement currency. |
| Country/Region of Residence | The three-digit country code in the system list. |
| Default Language | The locale from the list of configured locales as defined in `[RFC5646]`. For example, en-US. |
| Reimbursement Type | The user's reimbursement type. |
| Ledger | The user's ledger. |
| Cash Advance Account Code | The user's cash advance account code. |
| Is Test User | Indicates if the user is a test user. |
| BI Manager | The user's Business Intelligence manager.<br>**Note**: The platform supports correlation of only one manager to the identity. To promote both BI Manager and Manager fields to identity, one manager field should be correlated using the manager correlation and the other will have to be promoted using an Identity Attribute Rule. |

Other than the listed out-of-the-box attributes, the connector also supports some custom attributes. To configure custom attributes, refer to [Enable Custom Account Attribute Support](<#enable-custom-account-attribute-support>).

### Enable Custom Account Attribute Support

Follow these steps to enable support for Custom Account Attributes:

1. Add the `supportCustomAttrs` attribute in the source using REST API and set it to true. For more information, refer to [Getting Started | SailPoint Developer Community](<https://developer.sailpoint.com/docs/api/getting-started/>).

   Example:

   ```javascript
   {
    "supportCustomAttrs": "true"
   }
   ```
2. Create a new map in the Concur source (connector attributes) named `jsonPathMapping` using REST APIs.
3. Create an entry in `jsonPathMapping` of the attribute for which support is to be enabled.

   Example to enable support for the `Custom17` field (similarly, all required custom 1-21 fields can be added):

   ```javascript
   {
    "customData.custom17": "['urn:ietf:params:scim:schemas:extension:spend:2.0:User'].customData[*][?(@.id=='custom17')].value"
   }
   ```

   Example to enable support for the `OrgUnit1` field (similarly all required OrgUnit 1-6 fields can be added):

   ```javascript
   {
    "customData.orgUnit1": "['urn:ietf:params:scim:schemas:extension:spend:2.0:User'].customData[*][?(@.id=='orgunit1')].value"
   }
   ```

   Entry to enable support for the Default expense report approver:

   ```javascript
   {
    "report.approver": "['urn:ietf:params:scim:schemas:extension:spend:2.0:Approver'].report[*].approver.value"
   }
   ```

   Example entry to enable support for ADP Payroll Company Code fields (similarly all ADP payroll fields can be added):

   ```javascript
   {
    "adp.companyCode": "['urn:ietf:params:scim:schemas:extension:enterprise:2.0:Payroll'].adp.companyCode"
   }
   ```
4. Add the custom attribute for which support is to be enabled in Concur's account schema.

   > **Note**
   >
   > The name of the account schema attribute must be same as the key in jsonPathMapping.

   Example of schema attribute names for custom fields:

   - customData.custom17
   - customData.orgUnit1
   - report.approver
   - adp.companyCode

## Default Entitlement Attributes

Entitlement attributes define the entitlements, such as groups or roles, that can be assigned to the managed system's user accounts. Refer to [Managing Entitlements](<https://documentation.sailpoint.com/saas/help/access/entitlements.html>) for more information.

> [!CAUTION]
>
> Changing the attribute marked as the Entitlement ID after aggregating accounts or entitlements can result in duplicate entitlements being created, or access profiles and roles breaking. To avoid this, edit the entitlement schema before performing any aggregations.

### Default Role Attributes

The SAP Concur SaaS connector supports roles. The following attributes must be configured on the managed system and in the SailPoint source schema to manage roles.

| Attribute Name | Description |
| --- | --- |
| Role Code | The role's unique identifier. |
| Role Name | The role's full name. |
| Description | The role's usage. |
