Calculation Results (Retrieve)
This endpoint returns the detailed calculation results for all itineraries assigned to the given expense report or travel request. These calculation results are divided in client and government amounts which are based on rates defined in the travel allowance configuration. The rates are determined by government and company policies and may differ depending on location and length of travel as well as partial days of travel, seasonal travel, and so on.
Scopes
travelallowance.itineraryresult.read
- Refer to Scope Usage for full details.
URI
https://{datacenterURI}/travelallowance/v4/users/{userId}/contexts/{context}/{contextId}/calculationresultdetails
Parameters
Name | Type | Format | Description |
---|---|---|---|
itineraryId |
string |
- | Identification of the itinerary. |
userId |
string |
uuid |
Required The unique identifier of the SAP Concur user who is the owner of the expense report or travel request for which calculation results should be retrieved for. |
context |
string |
- | Required The type of context object for which calculation results should be retrieved for. Supported values: EXPENSE_REPORT, TRAVEL_REQUEST |
contextId |
string |
- | Required The unique identifier of the expense report or travel request for which calculation results should be retrieved for. |
Payloads
- Request: None
- Response: Schema
Examples
Request
GET https://us.api.concursolutions.com/travelallowance/v4/users/48f1ab71-2e7b-4b18-b745-adbea34cb73f/contexts/EXPENSE_REPORT/04AA576432134F869B40B225DE5ED30C/calculationresultdetails
Accept: application/json
Authorization: Bearer {token}
Concur-CorrelationId: 5f79e774-de18-4478-957f-403c91cb9acc
Response
200 OK
Content-Type: application/json
{
"context": "EXPENSE_REPORT",
"contextId": "04AA576432134F869B40B225DE5ED30C",
"itineraryResultDetails": [
{
"links": [
{
"href": "https://us.api.concursolutions.com/travelallowance/v4/users/48f1ab71-2e7b-4b18-b745-adbea34cb73f/itineraries/4711",
"rel": "related"
}
],
"itineraryDerivedData": {
"startDate": "2016-05-21",
"startTime": "08:00:00",
"startDateUtc": "2016-05-21",
"startTimeUtc": "08:00:00",
"endDate": "2016-05-21",
"endTime": "19:00:00",
"endDateUtc": "2016-05-21",
"endTimeUtc": "19:00:00",
"numberOfDays": 1,
"domestic": false,
"homeCountry": "DE",
"paymentCurrency": "EUR",
"hasActualsConfigured": true
},
"itineraryRateCategoryTotals": [
{
"rateCategoryCode": "MEAL",
"paymentCurrency": "EUR",
"governmentAmountInPaymentCurrency": 35,
"clientAmountInPaymentCurrency": 35,
"benefitInKindAmountInPaymentCurrency": 0
}
],
"dailyResultDetails": [
{
"date": "2016-05-21",
"paymentCurrency": "EUR",
"governmentAmountInPaymentCurrency": 35,
"clientAmountInPaymentCurrency": 0,
"benefitInKindAmountInPaymentCurrency": 0,
"dailyRateCategoryTotals": [
{
"rateCategoryCode": "MEAL",
"paymentCurrency": "EUR",
"governmentAmountInPaymentCurrency": 35,
"clientAmountInPaymentCurrency": 35,
"benefitInKindAmountInPaymentCurrency": 0
}
],
"dailyRateTypeDetails": [
{
"calculationDetailsSummary": {
"rateTypeCode": "MEAL",
"rateCategoryCode": "MEAL",
"expenseTypeCode": "FXMLS",
"location": {
"locationNameId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"uNLocationCode": "USSEA",
"administrativeRegionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"subDivisionCode": "US-WA",
"countryCode": "US"
},
"governmentRateCurrency": "USD",
"governmentConversionRate": 0.5,
"dateOfGovernmentConversionRate": "2016-05-21",
"clientRateCurrency": "USD",
"clientConversionRate": 0.5,
"dateOfClientConversionRate": "2016-05-21",
"paymentCurrency": "EUR",
"governmentAmountInRateCurrency": 70,
"clientAmountInRateCurrency": 70,
"benefitInKindAmountInRateCurrency": 0,
"governmentAmountInPaymentCurrency": 35,
"clientAmountInPaymentCurrency": 35,
"benefitInKindAmountInPaymentCurrency": 0
},
"governmentCalculationDetails": [
{
"rates": [
{
"rateAmountInRateCurrency": 75,
"rateCurrency": "USD"
}
],
"rateCurrency": "USD",
"rateAmountInRateCurrency": 75,
"adjustmentFactors": [
{
"adjustmentFactor": 1
}
],
"adjustedAmountInRateCurrency": 75,
"deductions": [
{
"deductionCategoryCode": "LUNCH",
"deductionTypeCode": "PROVIDED",
"deductionCurrency": "USD",
"rateCurrency": "USD",
"conversionRate": 1,
"dateOfConversionRate": "2016-05-21",
"deductionAmountInDeductionCurrency": 5,
"deductionAmountInRateCurrency": 5,
"benefitInKindAmountInRateCurrency": 0
}
],
"resultingAmountInRateCurrency": 70,
"location": {
"locationNameId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"uNLocationCode": "USSEA",
"administrativeRegionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"subDivisionCode": "US-WA",
"countryCode": "US"
},
"specialRulesApplied": [
"THREE_MONTH_RULE"
]
}
],
"clientCalculationDetails": [
{
"rates": [
{
"rateAmountInRateCurrency": 75,
"rateCurrency": "USD"
}
],
"rateCurrency": "USD",
"rateAmountInRateCurrency": 75,
"adjustmentFactors": [
{
"adjustmentFactor": 1
}
],
"adjustedAmountInRateCurrency": 75,
"deductions": [
{
"deductionCategoryCode": "LUNCH",
"deductionTypeCode": "PROVIDED",
"deductionCurrency": "USD",
"rateCurrency": "USD",
"conversionRate": 1,
"dateOfConversionRate": "2016-05-21",
"deductionAmountInDeductionCurrency": 5,
"deductionAmountInRateCurrency": 5,
"benefitInKindAmountInRateCurrency": 0
}
],
"resultingAmountInRateCurrency": 70,
"location": {
"locationNameId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"uNLocationCode": "USSEA",
"administrativeRegionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"subDivisionCode": "US-WA",
"countryCode": "US"
},
"specialRulesApplied": [
"THREE_MONTH_RULE"
]
}
]
}
]
}
]
}
],
"userId": "48f1ab71-2e7b-4b18-b745-adbea34cb73f",
"links": [
{
"href": "https://us.api.concursolutions.com/travelallowance/v4/users/48f1ab71-2e7b-4b18-b745-adbea34cb73f/contexts/EXPENSE_REPORT/04AA576432134F869B40B225DE5ED30C/calculationresultdetails",
"rel": "self"
}
]
}
Schema
Context Object Result Detail
Name | Type | Format | Description |
---|---|---|---|
context |
enum |
- | Context of the itineraries, an itinerary may belong to one or several travel requests or expense reports. Supported values: TRAVEL_REQUEST , EXPENSE_REPORT . |
contextId |
string |
- | Identification of the context; i.e. ID of the travel request or the expense report. |
itineraryResultDetails |
array |
ItineraryResultDetails |
List of detailed travel allowance calculation results for itineraries within the context. |
links |
array |
Link |
Links available for the whole calculation results. |
userId |
string |
uuid |
The unique identification of the traveler. |
Itinerary Result Details
Name | Type | Format | Description |
---|---|---|---|
dailyResultDetails |
array |
DailyResultDetail |
List of summarized and detailed daily travel allowance calculation results of the itinerary. |
itineraryDerivedData |
object |
ItineraryDerivedData |
Detailed calculated information about the itinerary. |
itineraryRateCategoryTotals |
object |
HeaderRateCategoryTotals |
Total amounts per Rate Category for this itinerary; only one entry per Rate Category. |
links |
array |
Link |
Links available for the itinerary. |
Daily Result Detail
Name | Type | Format | Description |
---|---|---|---|
benefitInKindAmountInPaymentCurrency |
number |
- | Benefit in kind amount in payment currency; this amount can have up to the number of currency decimal places. |
clientAmountInPaymentCurrency |
number |
- | Client specific travel allowance amount in payment currency; this amount can have up to the number of currency decimal places. |
dailyRateCategoryTotals |
array |
RateCategoryTotals |
Total amounts per Rate Category. |
dailyRateTypeDetails |
array |
DailyRateTypeDetail |
Summarized and detailed travel allowance calculation results per rate type of a day of the itinerary. |
date |
date |
[ISO 8601] yyyy-MM-dd |
Date of the day of the allowance. |
governmentAmountInPaymentCurrency |
number |
- | Government specific travel allowance amount in payment currency; this amount can have up to the number of currency decimal places. |
paymentCurrency |
string |
[ISO 4217:2015] | Payment currency of the travel allowance amounts, taken over from the assigned expense report / travel request. |
Rate Category Totals
Name | Type | Format | Description |
---|---|---|---|
benefitInKindAmountInPaymentCurrency |
number |
- | Benefit in kind amount in payment currency. |
clientAmountInPaymentCurrency |
number |
- | Client specific travel allowance amount in payment currency. |
governmentAmountInPaymentCurrency |
number |
- | Government specific travel allowance amount in payment currency. |
paymentCurrency |
string |
[ISO 4217:2015] | Payment currency of the travel allowance amounts, taken over from the assigned expense report / travel request. |
rateCategoryCode |
enum |
- | Rate category of the expense type. Supported values: MEAL , LODGING , INCIDENTAL . |
Daily Rate Type Detail
Name | Type | Format | Description |
---|---|---|---|
clientCalculationDetails |
array |
CalculationDetail |
Detailed client daily travel allowance calculation results. |
calculationDetailsSummary |
object |
CalculationDetailSummary |
Summarized daily travel allowance calculation results per rate type of a day of the itinerary. |
governmentCalculationDetails |
array |
CalculationDetail |
Detailed government daily travel allowance calculation results. |
Calculation Detail
Name | Type | Format | Description |
---|---|---|---|
adjustedAmountInRateCurrency |
number |
- | Adjusted amount; this amount is the rate amount multiplied with all adjustment factors; this amount can have up to 8 decimal places. |
adjustmentFactors |
array |
AdjustmentRule |
List of adjustment factors. |
resultingAmountInRateCurrency |
number |
- | Resulting amount; this amount is the adjustment amount after deduction of all deduction amounts; this amount can have up to 8 decimal places. |
deductions |
array |
Deduction |
List of deduction amounts. |
specialRulesApplied |
array |
- | A list of possible special rules applied to the calculation detail according to the configuration. This provides additional explanation of the calculation result detail which could be relevant e.g. when this data is presented to a user. Possible values are:THREE_MONTH_RULE - An adjustment factor was applied because of the German Three Month Rule, a German regulatory term.AUSTRIA_5_5_15_DAY_RULE - An adjustment factor was applied because of the Austrian 5-5-15-Day Rule, an Austrian regulatory term.AUSTRIA_12_DAY_RULE - An adjustment factor was applied because of the Austrian 12-Day Rule, an Austrian regulatory term.AUSTRIA_183_DAY_RULE - An adjustment factor was applied because of the Austrian 183-Day Rule, an Austrian regulatory term.TRUCKER_RULE - Two days of an itinerary were combined into one calculation detail. If there is a two days trip without any lodging then this trip is handled as a one day trip where the number of hours of both days are combined and according to this number of hours the per diem rate is determined.ITINERARIES_MERGED - Travel times of other itineraries of the same day were combined into this calculation result detail. MERGED_INTO_ITINERARY - Allowances for this itinerary are included in another itinerary of the same day.DAY_HANDLED_IN_OTHER_EXPENSE_REPORT - There is already an itinerary on the same day in another expense report. Therefore this itinerary is not applicable to get allowances.NOT_HIGHEST_RATE_OF_DAY - There is another itinerary on the same day with a higher rate. Therefore this itinerary is not applicable to get allowances.HIGHEST_RATE_OF_DAY - This days’s highest rate. Other itineraries are not applicable to get allowances for the same date.LONGEST_TRIP_OF_DAY - This day’s longest itinerary. Other itineraries are not applicable to get allowances for the same date. NOT_LONGEST_TRIP_OF_DAY - There is a longer itinerary on the same day. Therefore this itinerary is not applicable to get allowances. UP_TO_LIMIT - Reimbursable allowances is configured. Amount is only a limit.OVER_LIMIT_TRACKING - Reimbursable allowances is configured. Amount is used for over limit tracking. |
location |
object |
Location |
The location for which the travel allowance calculation on the given day was done. |
rateAmountInRateCurrency |
number |
- | Amount of the daily allowance rate; this amount can have up to 8 decimal places. |
rateCurrency |
string |
[ISO 4217:2015] | Currency of the daily allowance rate. |
rates |
array |
RateDetail |
Applied rate configurations. |
Adjustment Rule
Name | Type | Format | Description |
---|---|---|---|
adjustmentFactor |
number |
- | Factor of the adjustment rule; this factor and can have up to 8 decimal places; the base amount is multiplied with this factor to get the adjusted amount. |
Deduction
Name | Type | Format | Description |
---|---|---|---|
benefitInKindAmountInRateCurrency |
number |
- | Amount of benefit-in-kind in rate currency; this amount is added to the traveler’s taxable amount if the adjusted amount is already zero; this amount can have up to 8 decimal places. |
deductionCategoryCode |
string |
- | Category of deduction; it can be used to distinguish between e.g. breakfast, lunch, Lunch & dinner, night. |
conversionRate |
number |
- | Conversion rate of the deduction amount. |
dateOfConversionRate |
string |
[ISO 8601] yyyy-MM-dd |
Date of conversion between deduction and rate currency for deduction amount. |
deductionAmountInDeductionCurrency |
number |
- | Amount of deduction in deduction currency, this amount is deducted from the adjusted amount to get the reimbursement amount; this amount can have up to 8 decimal places. |
deductionAmountInRateCurrency |
number |
- | Amount of deduction in rate currency, this amount is deducted from the adjusted amount to get the reimbursement amount; this amount can have up to 8 decimal places. |
deductionCurrency |
string |
[ISO 4217:2015] | Currency of the deduction amount. |
rateCurrency |
string |
[ISO 4217:2015] | Currency of the rate amount. |
deductionTypeCode |
string |
- | Type of deduction; it can be used to distinguish e.g between full deduction or partial deduction for the given category. |
Location
Name | Type | Format | Description |
---|---|---|---|
administrativeRegionId |
string |
uuid |
Administrative Region ID. |
countryCode |
string |
[ISO 3166-1], length 2 | Country code of location. |
subDivisionISOCode |
string |
[ISO 3166-2], length 2 | Subdivison code of location. |
uNLocationCode |
string |
- | UN Location code, a combination of a 2-character country code [ISO 3166-1] and a 3-character location code, e.g. BEANR is known as the city of Antwerp (ANR) which is located in Belgium (BE). Total length can be up to 11 characters for custom locations. |
locationNameId |
string |
uuid |
UUID of the location for which the travel allowance calculation on the given day was done. |
Rate Detail
Name | Type | Format | Description |
---|---|---|---|
rateAmountInRateCurrency |
number |
- | Amount of the daily allowance rate; this amount can have up to 8 decimal places. |
rateCurrency |
string |
[ISO 4217:2015] | Currency of the daily allowance rate. |
Calculation Detail Summary
Name | Type | Format | Description |
---|---|---|---|
benefitInKindAmountInPaymentCurrency |
number |
- | Amount of benefit-in-kind in payment currency; this amount is added to the traveler’s taxable amount if he marks a meal provided but receives no per diem for that day; this amount can have up to 8 decimal places. |
benefitInKindAmountInRateCurrency |
number |
- | Amount of benefit-in-kind in rate currency; this amount is added to the traveler’s taxable amount if he marks a meal provided but receives no per diem for that day; this amount can have up to 8 decimal places. |
clientAmountInPaymentCurrency |
number |
- | Client specific travel allowance amount (usually the reimbursement amount) in payment currency; this amount can have up to 8 decimal places. |
clientAmountInRateCurrency |
number |
- | Client specific travel allowance amount (usually the tax-free amount) in client rate currency; this amount can have up to 8 decimal places. |
clientConversionRate |
number |
- | Conversion rate of the client travel allowance rate. |
dateOfClientConversionRate |
date |
[ISO 8601] yyyy-MM-dd |
Date of conversion between rate and payment currency for client travel allowance rates. |
expenseTypeCode |
string |
- | Expense type code assigned to the given travel allowance rate type; needed when transferring the travel allowance to an expense service. |
governmentAmountInPaymentCurrency |
number |
- | Government specific travel allowance amount in payment currency; this amount can have up to 8 decimal places. |
governmentAmountInRateCurrency |
number |
- | Government specific travel allowance amount in government rate currency; this amount can have up to 8 decimal places. |
governmentConversionRate |
number |
- | Conversion rate of the government travel allowance rate. |
dateOfGovernmentConversionRate |
date |
[ISO 8601] yyyy-MM-dd |
Date of conversion between rate and payment currency for government travel allowance rates. |
governmentRateCurrency |
string |
[ISO 4217:2015] | Currency of the government travel allowance rate. |
location |
object |
Location |
The location for which the travel allowance calculation on the given day was done. |
paymentCurrency |
string |
[ISO 4217:2015] | Payment currency of the travel allowance amounts, taken over from the assigned expense report / travel request. |
rateCategoryCode |
string |
- | Rate category of the expense type. It can be used to distinguish between different rates for meals, lodging, incidentals. |
clientRateCurrency |
string |
[ISO 4217:2015] | Currency of the client travel allowance rate. |
rateTypeCode |
string |
- | Travel allowance rate type; Code list can be defined by customer and can contain values like lunch, breakfast, dinner. |
Itinerary Derived Data
Name | Type | Format | Description |
---|---|---|---|
domestic |
boolean |
true / false |
True if all the locations in the itinerary are in the itinerary owner’s home country. |
endDate |
date |
[ISO 8601] yyyy-MM-dd |
End date of the itinerary. |
endDateUtc |
date |
[ISO 8601] yyyy-MM-dd |
End date in UTC of the itinerary. |
endTime |
time |
HH:mm:ss |
End time of the itinerary. |
endTimeUtc |
time |
HH:mm:ss |
End time in UTC of the itinerary. |
hasActualsConfigured |
boolean |
true / false |
Itinerary is using Actuals versus Limits. |
numberOfDays |
integer |
- | Number of days in the itinerary. |
startDate |
date |
[ISO 8601] yyyy-MM-dd |
Start date of the itinerary. |
startDateUtc |
date |
[ISO 8601] yyyy-MM-dd |
Start date in UTC of the itinerary. |
startTime |
time |
HH:mm:ss |
Start time of the itinerary. |
startTimeUtc |
time |
HH:mm:ss |
Start time in UTC of the itinerary. |
homeCountry |
string |
[ISO 3166-1] , length 2 | Country from UserProfile. |
paymentCurrency |
string |
[ISO 4217:2015] | Payment currency of the travel allowance amounts, taken over from the assigned expense report / travel request. |
Rate Category Totals Header
Name | Type | Format | Description |
---|---|---|---|
benefitInKindAmountInPaymentCurrency |
number |
- | Amount of benefit-in-kind in payment currency; this amount is added to the traveler’s taxable amount if he marks a meal provided but receives no per diem for that day; this amount can have up to the number of currency decimal places. |
clientAmountInPaymentCurrency |
number |
- | Client specific travel allowance amount (usually the reimbursement amount) in payment currency; this amount can have up to the number of currency decimal places. |
governmentAmountInPaymentCurrency |
number |
- | Government specific travel allowance amount (usually the tax-free amount) in payment currency; this amount can have up to the number of currency decimal places. |
paymentCurrency |
string |
[ISO 4217:2015] | Payment currency of the travel allowance amounts, taken over from the assigned expense report / travel request. |
rateCategoryCode |
enum |
- | Rate category of the expense type. Supported values: MEAL ,LODGING , INCIDENTAL . |
Link
Name | Type | Format | Description |
---|---|---|---|
href |
string |
- | The URL of the link. |
rel |
string |
- | The relationship type of the link. |