Reports v3
Limitations
Access to this documentation does not provide access to the API.
Prior Versions
Retrieve reports owned by the user based on search criteria
Note: This endpoint does not return Central Reconciliation reports.
GET /api/v3.0/expense/reports
Scopes
EXPRPT
- get, add, approve, or update expense reports.
Parameters
Name | Type | Format | Description |
---|---|---|---|
offset |
string |
query |
Starting page offset |
limit |
Int32 |
query |
Number of records to return (default 25) |
user |
string |
query |
Optional. The login ID of the report owner(s) to use when searching for reports. If the value is set to LoginID, reports for the report owner with this login ID value are returned. If the value is set to ALL, reports for all report owners are returned. If this parameter is not specified, reports for the OAuth Consumer are returned. The access token owner (OAuth Consumer) must have the Web Services Admin role to use this parameter. |
approvalStatusCode |
string |
query |
The status code for the Approval Status. The values can include Concur Expense standard codes or custom codes. The Concur Expense standard code values are: A_AAFH - Report submission triggered an anomaly and fraud check; A_ACCO - Report is pending reviews; A_APPR - Report has been approved; A_EXTV - Report is pending external validation; A_FILE - Report has been submitted; A_NOTF - Report has not been submitted; A_PBDG - Report approval is pending Budget approval; A_PECO - Report approval is pending Cost object approval; A_PEND - Report is pending manager approval; A_PVAL - Report is pending prepayment validation; A_RESU - Report needs to be resubmitted; A_RHLD - Report submission is pending receipt images; A_TEXP - Report expired in approval queue. For custom codes, contact Concur Developer Support. |
paymentStatusCode |
string |
query |
The payment status code for the report. The values can include Concur Expense standard codes or custom codes. The Concur Expense standard code values are: P_HOLD - Report payment is on hold; P_NOTP - Report has not been paid; P_PAID - Report has been paid; P_PAYC - Payment is confirmed. Some or all of the report expenses have been paid; P_PROC - Report is in process to be paid. For custom codes, contact Concur Developer Support. |
currencyCode |
string |
query |
The 3-letter ISO 4217 currency code for the report currency. Example: USD. |
paymentType |
string |
query |
The unique identifier for the payment type that is the payment type for at least one expense entry in the report. Use PaymentTypeID from Response of GET Expense Group Configurations V3 to obtain valid payment types. |
reimbursementMethod |
string |
query |
The method the report owner will be reimbursed. VALUES: ADPPAYR - ADP Payroll; APCHECK - AP (Company Check); CNQRPAY - Expense Pay; PMTSERV - Other Payment Service. NOTE: PAY_PAL is NOT supported. |
approverLoginID |
string |
query |
The login ID for the report approver that is the current approver assigned to the report. |
expenseTypeCode |
string |
query |
The expense type code that is the expense type for at least one expense entry in the report. Use ExpenseTypeCode from Response of GET Expense Group Configurations V3. |
attendeeTypeCode |
string |
query |
The report contains expense entries that have attendees of the specified type. |
countryCode |
string |
query |
The report country. Maximum 2 characters. Format: The ISO 3166-1 alpha-2 country code. Example: United States is US. |
batchID |
string |
query |
The unique identifier for a payment batch where there is at least one report payee within the report. Use the BatchID from Response of GET Payment Batch List. |
vendorName |
string |
query |
The Vendor Description that is the vendor for at least one expense entry in the report. |
hasVAT |
Boolean |
query |
Determines if the report has at least one expense entry with VAT details. Format: true or false. |
hasImages |
Boolean |
query |
Determines if the report has at least one expense entry with an entry image or if there is a report image for this report. Format: true or false. |
hasAttendees |
Boolean |
query |
Determines if the report has at least one expense entry with an attendee. Format: true or false. |
hasBillableExpenses |
Boolean |
query |
The IsBillable flag for at least one expense entry in the report. Format: true or false. |
isTestUser |
Boolean |
query |
The report owner is a test user using the report for testing purposes in a non-production environment. Format: true or false. |
expenseGroupConfigID |
string |
query |
The unique identifier for the expense group configuration associated to the report’s expense group. Use the ID from the Response of the Expense Group Configurations V3. |
entryTransactionDateBefore |
DateTime |
query |
The entry transaction date for at least one expense entry in the report is before this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
entryTransactionDateAfter |
DateTime |
query |
The entry transaction date for at least one expense entry in the report is after this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
createDateBefore |
DateTime |
query |
The report create date is before this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
createDateAfter |
DateTime |
query |
The report create date is after this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
userDefinedDateBefore |
DateTime |
query |
The report user defined date is before this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
userDefinedDateAfter |
DateTime |
query |
The report user defined date is after this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
submitDateBefore |
DateTime |
query |
The report submit date is before this date. Format: Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
submitDateAfter |
DateTime |
query |
The report submit date is after this date. Format: Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
processingPaymentDateBefore |
DateTime |
query |
The report processing payment date is before this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
processingPaymentDateAfter |
DateTime |
query |
The report processing payment date is after this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
paidDateBefore |
DateTime |
query |
The report paid date is before this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
paidDateAfter |
DateTime |
query |
The report paid date is after this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
modifiedDateBefore |
DateTime |
query |
The report modified date is before this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
modifiedDateAfter |
DateTime |
query |
The report modified date is after this date. Accepted Formats: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.SSS |
Request URL
https://www.concursolutions.com/api/v3.0/expense/reports?limit=15&user=ALL
JSON example of a successful response
{
"Items": [
{
"Name": "Canadian Tax",
"Total": 1900,
"CurrencyCode": "CAD",
"Country": "CA",
"CountrySubdivision": "CA-BC",
"CreateDate": "2013-09-02T19:05:57.687",
"SubmitDate": "2013-09-02T19:18:35.537",
"ProcessingPaymentDate": "2013-09-02T19:40:48.533",
"PaidDate": "2013-09-02T19:46:01.57",
"ReceiptsReceived": false,
"UserDefinedDate": "2013-09-02T00:00:00",
"LastComment": "",
"OwnerLoginID": "CAtraveler@concurconnect2.com",
"OwnerName": "Canadian Traveler",
"ApproverLoginID": null,
"ApproverName": null,
"ApprovalStatusName": "Approved",
"ApprovalStatusCode": "A_APPR",
"PaymentStatusName": "Sent for Payment",
"PaymentStatusCode": "P_PAID",
"LastModifiedDate": "2013-09-02T19:46:01.98",
"PersonalAmount": 0,
"AmountDueEmployee": 1500,
"AmountDueCompanyCard": 0,
"TotalClaimedAmount": 1900,
"TotalApprovedAmount": 1900,
"LedgerName": "DEFAULT",
"PolicyID": "gWmINGEAkQoamAzOARD9NEBtuv0ppnbJ4lQ",
"EverSentBack": false,
"HasException": false,
"WorkflowActionUrl": "http://www.concursolutions.com/api/v3.0/expense/reports/report/gWpkOyRxJoH6lOiUHqNhW93UWxhOZZw/WorkFlowAction?limit=15&user=ALL",
"OrgUnit1": null,
"OrgUnit2": null,
"OrgUnit3": null,
"OrgUnit4": null,
"OrgUnit5": null,
"OrgUnit6": null,
"Custom1": null,
"Custom2": null,
"Custom3": null,
"Custom4": null,
"Custom5": null,
"Custom6": null,
"Custom7": null,
"Custom8": null,
"Custom9": null,
"Custom10": null,
"Custom11": null,
"Custom12": null,
"Custom13": null,
"Custom14": null,
"Custom15": null,
"Custom16": null,
"Custom17": null,
"Custom18": null,
"Custom19": null,
"Custom20": null,
"ID": "F4F027007E814C1CA70E",
"URI": "https://www.concursolutions.com/api/v3.0/expense/reports/F4F027007E814C1CA70E"
}
]
}
Retrieve a report by ID
GET /api/v3.0/expense/reports/{id}
Scopes
EXPRPT
- get, add, approve, or update expense reports.
Parameters
Name | Type | Format | Description |
---|---|---|---|
id |
string |
path |
Required Report ID |
user |
string |
query |
LoginID of the report owner. Optional if Bearer Access token used in the API call is equal to the Bearer access token of the owner of the report otherwise required. Parameter value equal to ALL (user=ALL) is not allowed when operating on a single resource (single ReportID). |
Request URL
https://www.concursolutions.com/api/v3.0/expense/reports/39BD9F7C5C3F4986A6A5?user=jimadmin@concurconnect2.com
JSON example of a successful response
{
"Name": "Test 02",
"Total": 307.01,
"CurrencyCode": "USD",
"Country": "US",
"CountrySubdivision": null,
"CreateDate": "2016-04-04T23:33:08.21",
"SubmitDate": null,
"ProcessingPaymentDate": null,
"PaidDate": null,
"ReceiptsReceived": false,
"UserDefinedDate": "2016-04-04T00:00:00",
"LastComment": "",
"OwnerLoginID": "jimadmin@concurconnect2.com",
"OwnerName": "Jim Admin",
"ApproverLoginID": null,
"ApproverName": null,
"ApprovalStatusName": "Not Submitted",
"ApprovalStatusCode": "A_NOTF",
"PaymentStatusName": "Not Paid",
"PaymentStatusCode": "P_NOTP",
"LastModifiedDate": "2016-04-23T02:53:23.7",
"PersonalAmount": 0,
"AmountDueEmployee": 290,
"AmountDueCompanyCard": 0,
"TotalClaimedAmount": 307.01,
"TotalApprovedAmount": 307.01,
"LedgerName": "DEFAULT",
"PolicyID": "gWmINGEAkQoapyOLKfSdm0A9qK0ZVUvwolA",
"EverSentBack": false,
"HasException": true,
"WorkflowActionUrl": "",
"OrgUnit1": null,
"OrgUnit2": null,
"OrgUnit3": null,
"OrgUnit4": null,
"OrgUnit5": null,
"OrgUnit6": null,
"Custom1": null,
"Custom2": null,
"Custom3": null,
"Custom4": null,
"Custom5": null,
"Custom6": null,
"Custom7": null,
"Custom8": null,
"Custom9": null,
"Custom10": null,
"Custom11": null,
"Custom12": null,
"Custom13": null,
"Custom14": null,
"Custom15": null,
"Custom16": null,
"Custom17": null,
"Custom18": null,
"Custom19": null,
"Custom20": null,
"ID": "39BD9F7C5C3F4986A6A5",
"URI": "http://www.concursolutions.com/api/v3.0/expense/reports/39BD9F7C5C3F4986A6A5"
}
Create a new report
Note: Expense reports will be created under the user’s default expense policy. If a user has two expense policies - default and purchasing card - passing the PolicyKey on the post body will be ignored by Expense. That is, the expense report will always be under the default expense policy.
POST /api/v3.0/expense/reports
Scopes
EXPRPT
- get, add, approve, or update expense reports.
Parameters
Name | Type | Format | Description |
---|---|---|---|
content |
- | body |
Required Report object to create |
Update a report
Request URL
https://www.concursolutions.com/api/v3.0/expense/reports
JSON example of a successful response
{
"ID": "DD683A53018A4349B7CD",
"URI": "https://www.concursolutions.com/api/v3.0/expense/reports/DD683A53018A4349B7CD"
}
PUT /api/v3.0/expense/reports/{id}
Scopes
EXPRPT
- get, add, approve, or update expense reports.
Parameters
Name | Type | Format | Description |
---|---|---|---|
id |
string |
path |
Required The unique identifier for the report. |
content |
body |
Required The report object to update |
Schema
Reports
Name | Type | Format | Description |
---|---|---|---|
Items |
array |
Report | The result collection. |
NextPage |
string |
- | The URI of the next page of results, if any. |
Report
Name | Type | Format | Description |
---|---|---|---|
AmountDueCompanyCard |
Decimal |
- | The total amount due to the company card for the report. Maximum 23 characters. |
AmountDueEmployee |
Decimal |
- | The total amount due to the employee for the report. Maximum 23 characters. |
ApprovalStatusCode |
string |
- | The approval status code for the report. |
ApprovalStatusName |
string |
- | The report’s approval status, in the OAuth consumer’s language. |
ApproverLoginID |
string |
- | The Login ID of the report owner’s expense approver. |
ApproverName |
string |
- | The name of the report owner’s expense approver. |
Country |
string |
- | The report country. Maximum 2 characters. Format: The ISO 3166-1 alpha-2 country code. Example: United States is US. |
CountrySubdivision |
string |
- | The report country subdivision. Format: ISO 3166-2:2007 country subdivision. |
CreateDate |
DateTime |
- | The date the report was created. |
CurrencyCode |
string |
- | The 3-letter ISO 4217 currency code for the expense report currency. Examples: USD - US dollars; BRL - Brazilian real; CAD - Canadian dollar; CHF - Swiss franc; EUR - Euro; GBO - Pound sterling; HKD - Hong Kong dollar; INR - Indian rupee; MXN - Mexican peso; NOK - Norwegian krone; SEK - Swedish krona. |
Custom1 thorugh Custom20 |
CustomField |
- | The details from the Custom fields. These may not have data, depending on configuration. |
EverSentBack |
Boolean |
- | Whether the report has ever been sent back to the employee. Format: Y/N |
HasException |
Boolean |
- | Whether the report has exceptions. Format: Y/N |
ID |
string |
- | The unique identifier of the resource. |
LastComment |
string |
- | The text of the most recent comment on the report. |
LastModifiedDate |
DateTime |
- | The date the report header was last modified. |
LedgerName |
string |
- | The name of the expense report ledger. Maximum 20 characters. |
Name |
string |
- | Required The name of the report. |
OrgUnit1 through OrgUnit6 |
CustomField |
- | The details from the Org Unit fields. These may not have data, depending on configuration. |
OwnerLoginID |
string |
- | The Login ID of the user this report belongs to. |
OwnerName |
string |
- | The name of the expense report owner. |
PaidDate |
DateTime |
- | The date when all journal entries in the report was integrated with or extracted to the financial system. |
PaymentStatusCode |
string |
- | The code for the payment status of the report. |
PaymentStatusName |
string |
- | The report’s payment status, in the OAuth consumer’s language. |
PersonalAmount |
Decimal |
- | The total amount of expenses marked as personal. Maximum 23 characters. |
PolicyID |
string |
- | The unique identifier of the policy that applies to this report. Maximum 64 characters. User’s default expense policy is being used when creating a new expense report. Note: Policy cannot be changed via the v3 Reports API. |
ProcessingPaymentDate |
DateTime |
- | The date that the report completed all approvals and was ready to be extracted for payment. |
ReceiptsReceived |
Boolean |
- | If Y, then this entry has been marked as confirmed by the Expense Processor. Format: Y/N |
SubmitDate |
DateTime |
- | The date the report was submitted. |
Total |
Decimal |
- | The total amount of the report. |
TotalApprovedAmount |
Decimal |
- | The total amount of approved expenses in the report. Maximum 23 characters. |
TotalClaimedAmount |
Decimal |
- | The total amount of all non-personal expenses in the report. Maximum 23 characters. |
URI |
string |
- | The URI to the resource. |
UserDefinedDate |
DateTime |
- | The date of the report assigned by the user. |
WorkflowActionUrl |
string |
- | The URL to post a workflow action to the report using the Post Report Workflow Action function. |
Custom Field
Name | Type | Format | Description |
---|---|---|---|
Code |
string |
- | For list fields, this is the list item code. |
ListItemID |
string |
- | For list fields, this is the list item ID. |
Type |
string |
- | The custom field type. Possible values: Amount, Boolean, ConnectedList, Date, Integer, List, Number, Text |
Value |
string |
- | The value in the Org Unit or Custom field. For list fields, this is the name of the list item. Maximum length: 48 characters |
Request URL
https://www.concursolutions.com/api/v3.0/expense/reports/39BD9F7C5C3F4986A6A5
JSON example of a successful response
no content