cancel
Showing results for 
Search instead for 
Did you mean: 
colong
Occasional Member - Level 1

Unable to update spend customData through API for new users

I have an API integration and I'm able to update all fields except for customData. These customData fields can be set for a user through the UI, but any attempts to add or replace spend customData through the API for newly created users does not result in any change in the data, despite the API request being successful without error.

 

Here's what I've tried:

All of the following I've tried using a patch request to /profile/v4/Users/concurUserId, per the documentation:

https://developer.concur.com/api-reference/user-provisioning/v4.user-provisioning.html

All of the following I've tried for all of the following customData properties

  • custom21

  • orgUnit1

  • orgUnit2

  • custom4

  • custom1

  • custom7

  • custom5

  • custom6

The following roles are set for the user

  • EXP_USER
  • EXP_TRAVEL_AND_EXPENSE_USER
  • REQ_USER
  • TRAVEL_USER

All I've tried with both add and replace

 

Per the docs, I've tried this:

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "add",
            "path": "urn:ietf:params:scim:schemas:extension:spend:2.0:User:customData[id eq \"custom5\"].value",
            "value": "Updated value"
        }
    ]
}

Reminder I've tried these with add and replace, as well as more than just custom21, using values I know to be valid for other users.

 

I noticed user cocchino had a similiar issue in https://community.concur.com/t5/Concur-Travel/API-Patch-user-s-Spend-or-Travel-Profile/m-p/58276. However I have tried setting all the required customData in the same payload request, as well as trying to update users who already have the required customData all already set through the UI, and I still have the issue. I wasn't sure which data point Employee Group was referring to in this post, but the roles are set correctly.

 

Does anybody see a mistake I might be making, or alternatively have troubleshooting steps I can take? Much appreciated.

 

1 Solution
Solution
PoojaKumatkar
Routine Member - Level 3

Hi @colong ,

You must need expense configuration administration (restricted or unrestricted) access.

 

If you have this access then:

1. Home >> Expense Admin >> Form and Field (from forms drop-down select employee form)

2. Open company specific form which is currently in use and check which custom fields are required and optional including data type of each field. 

3. You can double click on custom field and check data type. If it is list then check which list is linked to that field. Copy same list name

4. Go to list management >> search for the same list >> Open and check the value which you want to send it through the API whether it is available in the list or not. If yes, then what is the code of that value. Same code you need to pass through API. (This is applicable for any custom list field and org structure list field.)

5. If data type is Boolean then yes/no.

6. If text/number/integer data type then any value will be accepted but it should be in required format.

 

Regarding employee group (custom 21):

1. Go to list management >> search for Employee Group (do not delete) list >> open and check What code is maintained for specific employee group which you want to send it through API and update the same in your API payload file.

 

Thanks!
Regards,
Pooja

View solution in original post

3 REPLIES 3
PoojaKumatkar
Routine Member - Level 3

Hi @colong ,

 

While creating new employee profile through API, you need to ensure you are passing all required field information as per maintained in Concur. Meaning, you need to pass exact code which is maintained in Concur then only record will get created. 

Example, consider below 2 level org unit hierarchy:

 

Level 1: SAP Concur company (Concur)

Level 2 : SAP Concur US (ConcurUS)

                 SAP Concur UK (ConcurUK)

                 SAP Concur IN (ConcurIN)

 

Here in above example, if you employee belongs to India legal entity, then in employee profile you need to pass "Concur" in Org Unit 1 field and "ConcurIN" in Org Unit 2 field. 

Note that, here values given in brackets is unique code which is maintained in Concur for each individual list item. If you try to pass org unit description instead of code then it will not work. 

Likewise, whatever custom field data you are trying to pass, ensure, you are passing correct code as per maintained in Concur configuration including employee Group.

For this you may take someone's help who has configuration access and who can provide you the exact codes which are configured in backend. Once that is provided, I think your issue will get resolved.

 

 

Thanks!
Regards,
Pooja
colong
Occasional Member - Level 1

Thanks for your reply. I have access to the backend, but I'm unsure where in the UI to locate the "correct code as per maintained in Concur configuration" or the "Employee Group"? Where can I navigate to see those things?

Solution
PoojaKumatkar
Routine Member - Level 3

Hi @colong ,

You must need expense configuration administration (restricted or unrestricted) access.

 

If you have this access then:

1. Home >> Expense Admin >> Form and Field (from forms drop-down select employee form)

2. Open company specific form which is currently in use and check which custom fields are required and optional including data type of each field. 

3. You can double click on custom field and check data type. If it is list then check which list is linked to that field. Copy same list name

4. Go to list management >> search for the same list >> Open and check the value which you want to send it through the API whether it is available in the list or not. If yes, then what is the code of that value. Same code you need to pass through API. (This is applicable for any custom list field and org structure list field.)

5. If data type is Boolean then yes/no.

6. If text/number/integer data type then any value will be accepted but it should be in required format.

 

Regarding employee group (custom 21):

1. Go to list management >> search for Employee Group (do not delete) list >> open and check What code is maintained for specific employee group which you want to send it through API and update the same in your API payload file.

 

Thanks!
Regards,
Pooja