Reports v2
This API has been deprecated.
Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.
Learn more in the API Lifecycle & Deprecation Policy.
NOTE: Find the newer version 3.0 here.
The expense reports in Concur.
Limitations
Access to this documentation does not provide access to the API.
URI
https://www.concursolutions.com/api/expense/expensereport/v2.0/Report
Scopes
EXPRPT
- get, add, approve, or update expense reports.
GET List of Reports
The Get List of Reports version 2.0 endpoint can be used to get a list of reports for an entire company.
Request
Retrieves a list of up to 1000 reports to be used in financial and accounting system integration. This endpoint can be used to get a list of reports for the entire company.
Developers that are creating financial system integration may want to use the following search terms to get sets of reports ready for payment from Concur.
- The BatchID search term specifies the payment batch that the reports are included in. The search term returns all reports included in the specified batch, regardless of time or user. This search term is used with Concur clients who have the Standard Expense and Concurforce products.
- The JobKey search term specifies the accounting extract that the reports are included in. The search term returns all reports included in the specified extract job or batch, regardless of time or user. This search term is used with Concur clients who have the Professional and Premium Expense products.
Developers can also use one or more of the following search terms to find reports.
- The HasAttendees search term returns reports that have one or more expense entries with associated attendees.
- The Status search term specifies which report payment or approval status to return. If no Status value is sent, the default Status of Active will be used.
- The PaymentTypeID search term specifies the payment method for the report entries. The report must have at least one entry with the specified payment type. The possible payment types are returned in the PaymentTypeID element by the Get Expense Group Configuration endpoint.
- The ReportCurrency search term returns all reports with the specified reimbursement currency.
- The ReimbursementMethod search term returns reports that are set to be paid by the specified reimbursement method.
- The ReportCountry search term specifies the country indicated on the report.
- The LoginID search term specifies a report owner that is not the OAuth Consumer.
- The ModifiedAfterDate or ModifiedBeforeDate search terms return reports modified after or before a certain date and time.
Headers
- Authorization - Required Authorization header with OAuth token for valid Concur user. The OAuth consumer must have one of the following user roles in Concur: Company Administrator or Web Services Administrator for Professional, or Can Administer for Standard. These roles allow the user to manage data for the entire company
- Content-Type -
application/xml
Parameters
Parameter | Description |
---|---|
BatchID | The BatchID identifies which payment batch the reports are included in. The BatchID value is returned in the BatchID element in the Response of the Get Payment Batch List endpoint. This search term is used with Concur clients who have the Standard Expense and Concurforce products. |
HasAttendees | The HasAttendees query parameter returns reports that have one or more expense entries with attendees. The HasAttendees parameter supports the true value only. |
Job Key | The Jobkey identifies which accounting extract or payment batch the reports are included in. The Jobkey value is returned in the id element in the Response of the Post Extract Job Request endpoint, or the jobkey element in the Response of the Post Payment Batch Close endpoint. The View value, if provided, is ignored. This search term is used with Concur clients who have the Professional and Premium Expense products. |
Status | The Status value is designed to be used when retrieving reports for the entire company. It can be used only by OAuth consumers with the Web Services Admin role in Concur. If a request is sent by the Web Services Admin that does not contain a Status value, the Active status will be used. The possible status values are: |
ReportCurrency | The ReportCurrency identifies the reimbursement currency of the report. This value matches the reimbursement currency of the user who submitted the report. Format: 3-letter ISO 4217 currency code. Example: USD |
PaymentTypeID | The PaymentTypeID identifies the payment method for entries in the report. At least one entry in the report must have the specified payment type for the report to appear in the list. The possible payment types are returned in the PaymentTypeID element by the Get Expense Group Configuration function. The Payment Type Name of Cash signifies that the employee will be reimbursed directly for the expense. |
ReimbursementMethod | The ReimbursementMethod identifies the process that the report will be reimbursed with. When using the Reimbursement Method search term, it is recommended to also use the PaymentTypeID search term, where the Payment Type Name = Cash. While it’s not required to use Payment Type Name = Cash, doing so delivers results that are relevant for employee reimbursement. The possible ReimbursementMethod values are listed below. |
Report Country | The Report Country search term returns all reports for the specified country. Format: The 2-letter ISO 3166-1 alpha-2 country code for report’s country. Example: US |
LoginID | The LoginID is the Concur login for a report owner that is not the OAuth consumer. This limits the response to reports owned by the specified user. |
ModifiedAfterDate | This returns reports including their associated dependents (entries, itemizations, allocations, and attendees) that were modified after the specified date and time. This search term can be used along with other search terms to narrow the results. The date and time (if desired) should be in UTC. The format is: YYYY-MM-DDThh:mm:ss |
ModifiedBeforeDate | This returns reports including their associated dependents (entries, itemizations, allocations, and attendees) that were modified before the specified date and time. This search term can be used along with other search terms to narrow the results. The date and time (if desired) should be in UTC. The format is: YYYY-MM-DDThh:mm:ss |
Status Enum
Value | Description |
---|---|
ACTIVE | Returns unsubmitted and unpaid (payment status is not Paid) reports. |
UNSUBMITTED | Returns unsubmitted reports. |
PENDING | Returns submitted reports pending approval. |
ACCOUNTINGREVIEW | Returns approved reports pending accounting review. These reports are waiting for the Processor to approve the report. |
PROCESSING | Returns processed reports pending financial integration. These reports have an Approval Status of Final Approval and a Payment Status of Unpaid. |
INTEGRATED | Returns reports with financial integration completed. These reports have a Payment Status of Paid. |
PENDINGEXTERNALVALIDATION | Returns reports that are at the Pending External Validation workflow step. This workflow step can be added after report submission and before the report is extracted for payment. |
PAYMENTCONFIRMED | Returns reports with confirmed payments. These reports have a Payment Status of Payment Confirmed. |
Reimbursement MethodEnum
Value | Description |
---|---|
ADPPAY | ADP Payroll (via EPIP file) |
APCHECK | Company Check (via Accounts Payable) |
CNQRPAY | Expense Pay by Concur |
PMTSERV | Other reimbursement method |
NOTE: The ReimbursementMethod search term is not available for Concur Premier- Professional and Premium clients.
XML Example Request by Status
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/Reports/?status=PROCESSING HTTP/1.1
Authorization: OAuth {access token}
XML Example Request by BatchID
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/Reports/?batchid=5jj374sh$W2Lsa9y28w12 HTTP/1.1
Authorization: OAuth {access token}
XML Example Request for Reports with Attendees
GET https://www.concursolutions.com/api/expense/expenserepo/v2.0/Reports/?HasAttendees=true HTTP/1.1
Authorization: OAuth {access token}
XML Example Request by Job Key
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/Reports/?jobkey=5jj374sh9y28w12 HTTP/1.1
Authorization: OAuth {access token}
XML Example Request by Report Currency
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/Reports/?ReportCurrency=USD HTTP/1.1
Authorization: OAuth {access token}
XML Example Request by Payment Type ID
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/Reports/?PaymentTypeID=nr74tQrD8PorkF6yvS0Sm8ZeSGsw HTTP/1.1
Authorization: OAuth {access token}
XML Example Request by Reimbursement Method and Payment Type
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/Reports/?ReimbursementMethod=CNQRPAY&PaymentTypeID=nr74tQrD8PorkF6yvS0Sm8ZeSGsw HTTP/1.1
Authorization: OAuth {access token}
XML Example Request by Report Country
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/Reports/?reportcountry=US HTTP/1.1
Authorization: OAuth {access token}
XML Example Request by Login ID
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/Reports/?loginid=cm@example.com HTTP/1.1
Authorization: OAuth {access token}
XML Example Request by Modified Date
GET https://www.concursolutions.com/api/expense/expenserepo/v2.0/Reports/?modifiedafterdate=2012-01-01T00:00:00 HTTP/1.1
Authorization: OAuth {access token}
Response
Headers
- Content-Type -
application/xml
Payload
This request will return a ReportsList parent element with a ReportSummary child element for each report. The ReportSummary elements will have the following child elements:
Element | Description |
---|---|
ReportName | The name of the report. Maximum 40 characters. |
ReportID | The unique identifier for the report, which appears in the Concur Expense UI. Maximum 40 character varchar. |
ReportCurrency | The 3-letter ISO 4217 currency code for the expense report currency. Maximum 3 characters. |
ReportTotal | The total amount of the report. Maximum 23 characters. |
ReportDate | The create date of the report. Maximum 10 characters. |
LastComment | The text of the most recent comment on the report. |
ReportDetailsURL | The URL to access the report details. |
ExpenseUserLoginID | The Login ID of the user this report belongs to. Maximum 128 characters. |
ApproverLoginID | The Login ID of the user’s expense approver. Maximum 128 characters. |
EmployeeName | The name of the expense report owner. Maximum 66 characters. |
ApprovalStatus | The report’s approval status, in the OAuth consumer’s language. |
PaymentStatus | The report’s payment status, in the OAuth consumer’s language. |
ApprovalURL | The URL the user can use to log in to Concur to approve the report. This element appears when requesting the TOAPPROVE view, and does not appear when using the Jobkey or BatchID search terms |
NOTE: The ApprovalURL provides a link to Expense that can be used with SSO. The link can be put into a browser window, then the approver is automatically logged into Expense and the expense report opens if:
- The company uses a Concur-supported SSO platform (and does not use the Enforce option) and…
- The approver is currently on the company network or is using VPN.
Otherwise, when the approver clicks the link, the Expense login page appears. The approver logs in and follows the normal steps for approving reports.
XML Example of Successful Response
HTTP/1.1 200 OK
Content-Type: application/xml
<ReportsList
xmlns="http://www.concursolutions.com/api/expense/expensereport/2012/06">
<ReportSummary>
<ReportName>Client Meeting</ReportName>
<ReportId>J20sh19D8lW2h8Dhs490ie</ReportId>
<ReportTotal>175.23000000</ReportTotal>
<ReportCurrency>USD</ReportCurrency>
<ReportDate>2012-07-12T19:22:35</ReportDate>
<LastComment>Dinner and drinks</LastComment>
<Report-Full-Details-Url>https://www.concursolutions.com/api/expense/expensereport/v2.0/report/J20sh19D8lW2h8Dhs490ie</Report-Full-Details-Url>
<ExpenseUserLoginID>cmiller@example.com</ExpenseUserLoginID>
<ApproverLoginID>tbrown@example.com</ApproverLoginID>
<EmployeeName>Chris Miller</EmployeeName>
<ApprovalStatus>Final Approval</ApprovalStatus>
<PaymentStatus>Unpaid</PaymentStatus>
</ReportSummary>
<ReportSummary>
<ReportName>Trip to Seattle</ReportName>
<ReportId>k1jDJ82H2h9as826h8hh2lk</ReportId>
<ReportTotal>1212.72000000</ReportTotal>
<ReportCurrency>USD</ReportCurrency>
<ReportDate>2012-07-17T08:11:56</ReportDate>
<LastComment></LastComment>
<Report-Full-Details-Url>https://www.concursolutions.com/api/expense/expensereport/v2.0/report/k1jDJ82H2h9as826h8hh2lk</Report-Full-Details-Url>
<ExpenseUserLoginID>tbrown@example.com</ExpenseUserLoginID>
<ApproverLoginID>pdavis@example.com</ApproverLoginID>
<EmployeeName>Terry Brown</EmployeeName>
<ApprovalStatus>Final Approval</ApprovalStatus>
<PaymentStatus>Unpaid</PaymentStatus>
</ReportSummary>
</ReportsList>
Get Report Details Request
Retrieves the full set of information for the report. Includes the Report Header, Entry, Attendee, Itemization and Allocation details. NOTE: Some elements will appear only if the OAuth consumer has the Web Services Admin role. These include: The ReportKey element, the employee’s credit card information, and the employee’s bank account information, VAT information, Journal entries. Connectors that utilize this information go through a review process with Concur that includes verification of secure data handling.
Parameters
Parameter | Description |
---|---|
{reportId} | Required The identifier for the desired report. Example: https://www.concursolutions.com/api/expense/expensereport/v2.0/report/{reportId} URI Source: The ReportId is returned in the ReportId element of the Get List of Reports function. |
Headers
- Authorization - Authorization header with OAuth token for valid Concur user. The OAuth consumer must have one of the following user roles in Concur: Company Administrator or Web Services Administrator for Professional, or Can Administer for Standard. These roles allow the user to manage data for the entire company.
- Content-Type -
application/xml
XML Example Request
GET https://www.concursolutions.com/api/expense/expensereport/v2.0/report/n6ujbuLd1Arwe45lT7As3ThJYJf2dAsrrEW HTTP/1.1
Authorization: OAuth {access token}
Get Report Details Response
Headers
- Content-Type -
application/xml
Payload
This request will return a ReportDetails parent element with the following child elements:
Element | Description |
---|---|
UserLoginID | The user ID of the report owner. Maximum 128 characters. |
EmployeeName | The name of the employee who created the report. Maximum 66 characters. |
ReportID | The unique identifier for the report, which appears in the Concur Expense UI. Maximum 32 character varchar. |
ReportKey | The unencrypted unique identifier for the report, that appears on the report header. The element appears only if the OAuth consumer has the Web Services Admin role in Concur. Maximum 48 characters. |
ReportName | The name of the report. Maximum 40 characters. Purpose The information from the Business Purpose field. |
ReportDate | The date from the report header. Format: YYYY-MM-DDThh:mm:ss |
CreationDate | The date the report was created. Format: YYYY-MM-DDThh:mm:ss |
SubmitDate | The date the report was submitted. Maximum 10 characters. |
PaidDate | The date the report was extracted for payment. This element has an attribute named i:nil. If the value for this element is null, the i:nil attribute will be set to true. Format: YYYY-MM-DDThh:mm:ss |
CurrencyCode | The 3-letter ISO 4217 currency code for the expense report currency. The expense report currency is defined as the report creator’s default reimbursement currency. |
ReportTotal | The total amount of the report. Maximum 23 characters. |
PersonalExpenses | The total amount of expenses marked as personal. Maximum 23 characters. |
AmountDueEmployee | The total amount due to the employee for the report. Maximum 23 characters. |
AmountDueCompanyCard | The total amount due to the company card for the report. Maximum 23 characters. |
TotalClaimedAmount | The total amount of all non-personal expenses in the report. Maximum 23 characters. |
TotalApprovedAmount | The total amount of approved expenses in the report. Maximum 23 characters. |
ApprovalStatusCode | The approval status code for the report. |
ApprovalStatusName | The approval status name for the report. |
PaymentStatusCode | The unique identifier for the payment status of the report. |
PaymentStatusName | The payment status of the report. |
OrgUnit1 through OrgUnit6 | The details from the Org Unit custom fields. These may not have data, depending on configuration. Maximum 48 characters for each field. |
Custom1 through Custom20 | The details from the Custom fields. These may not have data, depending on configuration. If report owner information is stored in these fields, it may be outdated. Refer to the ReportOwner parent element for the current owner information. The custom fields may have the following child elements: Type (The custom field type. Will be one of the following: Amount, Boolean, ConnectedList, Date, Integer, List, Number, Text), Value (The value in the custom field. Maximum 48 characters.), Code (Custom list fields will include the list item code in this element.) |
LedgerName | The name of the expense report ledger. Maximum 20 characters. |
PolicyID | The unique identifier of the policy that applies to this report. Maximum 64 characters. |
EverSentBack | Whether the report has ever been sent back to the employee. Format: Y/N |
HasException | Whether the report has exceptions. Format: Y/N |
WorkflowActionURL | The URL to post a workflow action to the report using the Post Report Workflow Action function. |
ExpenseEntriesList | This parent element has an ExpenseEntry child element for each entry. Refer to the Expense Entry Child Elements table for more information. |
ReportImageURL | The URL to access the image associated with the report. This URL is valid for 30 minutes after the web service call. |
Country | The report country. Maximum 2 characters. Format: The ISO 3166-1 alpha-2 country code. Example: United States is US. |
CountrySubdivision | The report country subdivision. Format: ISO 3166-2:2007 country subdivision. |
ProcessingPaymentDate | The date that the report completed all approvals and was ready to be extracted for payment. Format: YYYY-MM-DD |
ReceiptsReceived | If Y, then this report has its receipt receipt confirmed by the Expense Processor. Format: Y/N |
ReportOwner | This parent element includes details about the employee who is the report owner. It saves the caller from calling the Get User Information function to get employee information commonly used in accounting integration. The ReportOwner element includes the most recent information about the report owner, at the time the report is requested. The ReportOwner parent element includes the following child elements: EmployeeCustom21 (The report owner’s group ID. Maximum 48 characters.), EmployeeID (Employee ID often also serves as the employee’s Vendor ID for AP system integrations or Payroll ID for Payroll integrations. Maximum 48 characters.), EmployeeOrgUnit1 through EmployeeOrgUnit6 (The report owner’s organizational unit information. Maximum 48 characters for each field. FirstName (The report owner’s first name. Maximum 32 characters.), LastName (The report owner’s last name. Maximum 32 characters.), MiddleInitial (The report owner’s middle initial. Maximum 1 character.), ReimbursementMethodCode (The report owner’s reimbursement method code, as defined in the employee’s Profile.) |
EmployeeBankAccount | This parent element includes the bank account data found on the Bank Information page in Profile. This data is used in Payment System integrations where the payment system reimburses the employee via this bank account. The EmployeeBankAccount parent element contains the following child elements: BankNumber (The bank identification number entered on the Bank Information page. Maximum 11 characters.), BankName (The bank name entered on the Bank Information page. Maximum 48 characters.), BranchLocation (The branch location entered on the Bank Information page. Maximum 30 characters.), AccountNumber (The bank account number entered on the Bank Information page. Maximum 100 characters.), AccountName (The name on the account entered on the Bank Information page.), PostalAddressLine1 (The postal address line 1 entered on the Bank Information page. Maximum 48 characters.), PostalAddressLine2 (The postal address line 2 entered on the Bank Information page. Maximum 48 characters.), PostalAddressCity (The postal address city entered on the Bank Information page. Maximum 24 characters.), PostalAddressRegion (The postal address region entered on the Bank Information page. Maximum 24 characters.), PostalAddressCode (The postal address code entered on the Bank Information page. Maximum 20 characters.), PostalAddressCountry (The postal address country entered on the Bank Information page. Maximum 2 characters. Format: The The ISO 3166-1 alpha-2 country code. Example: United States is US.) |
Expense Entry Child Elements
Element | Description |
---|---|
ReportEntryID | The ID of the report entry. Maximum 13 characters. |
LegacyEntryID | A unique numeric identifier for the expense entry. Corresponds to the report entry key in accounting extracts and the legacyEntryId field in the FIS endpoints. Maximum 11 characters. |
ExpenseTypeID | The expense type ID for the expense entry. Expense Type IDs are returned in the ExpKey element by the Get Expense Group Configuration endpoint. |
ExpenseTypeName | The expense type name. Maximum 64 characters. |
SpendCategory | The spend category specified for this expense type. Varies by client, used in reporting. |
PaymentTypeCode | The code for the payment type. Maximum 4 characters. |
PaymentTypeName | The name for the payment type. Maximum 80 characters. |
TransactionDate | The date of the expense entry. Maximum 10 characters. Format: YYYY-MM-DD |
TransactionCurrencyName | The name of the transaction currency. Example: US, Dollar |
ExchangeRate | The exchange rate that applies to the entry. Maximum 23 characters. |
TransactionAmount | The amount of the expense entry in the original transaction currency. Maximum 23 characters. |
PostedAmount | The amount of the expense entry in the user’s reimbursement currency. The user’s reimbursement currency is returned in the CrnCode element for the report. Maximum 23 characters. |
ApprovedAmount | The approved amount of the expense entry in the user’s reimbursement currency.The user’s reimbursement currency is returned in the CrnCode element for the report. Maximum 23 characters. |
BusinessPurpose | The text from the Business Purpose field of the entry. Maximum 64 characters. |
VendorDescription | The vendor name of the expense entry, which can be entered manually by the user or imported from the card transaction Merchant Name field. Maximum 64 characters. |
LocationName | The location for the expense entry, usually the city name. |
LocationSubdivision | The location’s State, Province, or Country Subdivision. Maximum 6 characters. |
LocationCountry | The location’s Country. Maximum 2 characters. |
OrgUnit1 through OrgUnit | The details from the Org Unit custom fields. These may not have data, depending on configuration. Maximum 48 characters for each field. |
Custom1 through Custom40 | The details from the Custom fields. These may not have data, depending on configuration. The custom fields may have the following child elements: Type (The custom field type. Will be one of the following: Amount, Boolean, ConnectedList, Date, Integer, List, Number, Text), Value (The value in the custom field. Maximum 48 characters.), Code (Custom list fields will include the list item code in this element.) |
FormID | The ID for the expense entry form. |
EntryImageID | The unique identifier for the image associated with the entry. |
HasVat | Whether the entry contains VAT data. Maximum 1 character. Format: Y/N |
HasComments | Whether the expense entry has comments. Maximum 1 character. Format: Y/N |
CommentCount | The number of comments associated with the expense entry. |
IsItemized | Whether the expense entry is itemized. Maximum 1 character. Format: Y/N |
HasExceptions | Whether the expense entry has exceptions. Maximum 1 character. Format: Y/N |
IsPersonal | Whether the expense entry is marked as personal. Maximum 1 character. Format: Y/N |
HasAttendees | Whether the expense entry has attendees. Maximum 1 character. Format: Y/N |
HasAllocation | Defines the amount of allocations for the expense. Maximum 1 character. Possible values are: P, for partial allocation, F, for full allocation, or N, for no allocation. |
IsCreditCardCharge | Whether the expense came from a credit card feed. Maximum 1 character. Format: Y/N |
IsPersonalCardCharge | Whether the expense came from a personal card feed. Maximum 1 character. Format: Y/N |
ReceiptRequired | Whether the original receipt is required for the entry. Maximum 1 character. Format: Y/N |
ImageRequired | Whether a receipt image is required for the entry. Maximum 1 character. Format: Y/N |
E-ReceiptID | The ID for the attached e-receipt, if available. |
LastModifiedDate | The date the expense entry was last changed. Maximum 19 characters. Format: YYYY-MM-DDThh:mm:ss |
ItemizationsList | The list of itemizations for the expense entry. This parent element will have at least one Itemization child element. If the expense entry is not itemized, the Itemization will contain the same values as the entry. If the expense entry has itemizations, there will be one Itemization child element for each itemization. Refer to the Itemization Entry Details Child Elements table for more information. NOTE: There are a few rare cases where the ItemizationsList will be null. This happens when a report entry has a payment type code that is not IBCP with offsets or CBCP and there is a Regular or Child expense entry with an Approved Amount equal to zero. The expense entry will have a Null ItemizationsList. |
ReportEntryVendorName | Vendor name the employee selected from the Vendor list field. Maximum 64 characters. |
ReportEntryReceiptReceived | If Y, then this entry has been marked as reviewed by a processor. Maximum 1 character. Format: Y/N |
ReportEntryReceiptType | Maximum 1 character. One of these: T = tax receipt, R = regular receipt, N = no receipt |
CardTransaction | This parent element includes the card transaction data found in the card transaction associated to this expense entry. This data is used in Payment System integrations where the payment system reimburses the card issuer for the indicated card account. Refer to the Card Transaction Child Elements field. |
ExpensePay | Whether the entry was paid using the Expense Pay service. This element have a value if the report has reached the Processing Payment workflow step. Format: Yes/No |
Itemization Entry Details Child Elements
Element | Description |
---|---|
ItemType | The type of itemization. If the expense entry does not have any itemizations, this will be set to Regular. If the expense entry contains itemizations, each one will be set to Child. |
ItemizationID | The unique identifier for the itemization. Maximum 19 characters. |
ExpenseTypeID | The expense type ID for the itemization. |
ExpenseTypeName | The expense type for the itemization. Maximum 64 characters. |
TransactionDate | The date of the transaction. Maximum 10 characters. Format: YYYY-MM-DD |
TransactionAmount | The amount for the itemization in the expense currency. Maximum 23 characters. |
PostedAmount | The amount for the itemization in the user’s reimbursement currency. The user’s reimbursement currency is returned in the CrnCode element for the report. Maximum 23 characters. |
ApprovedAmount | The approved amount of the itemization in the user’s reimbursement currency. The user’s reimbursement currency is returned in the CrnCode element for the report. Maximum 23 characters. |
BusinessPurpose | The business purpose field from the report header. |
OrgUnit1 through OrgUnit6 | The details from the Org Unit custom fields. These may not have data, depending on configuration. Maximum 48 characters for each field. |
Custom1 through Custom40 | The custom fields associated with the itemization. These may not have data, depending on your configuration. The custom fields may have the following child elements: Type (The custom field type. Will be one of the following: Amount, Boolean, ConnectedList, Date, Integer, List, Number, Text), Value (The value in the custom field. Maximum 48 characters.), Code (Custom list fields will include the list item code in this element.) |
HasComments | Whether the itemization has comments. Maximum 1 character. Format: Y/N |
CommentCount | The number of comments associated with the itemization. |
IsPersonal | Whether the itemization is personal. Maximum 1 character. Format: Y/N |
LastModified | The UTC date when the itemization was last modified. Maximum 19 characters. Format: YYYY-MM-DDThh:mm:ss |
AttendeesList | This parent element contains one Attendee element for each associated attendee. The Attendee element contains child elements |
AllocationsList | This parent element contains at least one Allocation element. It will contain multiple Allocation elements if there are multiple allocations for the itemization. |
Attendee List Child Elements
Element | Description |
---|---|
AttendeeType | The type of attendee. Maximum 40 characters. |
FirstName | The attendee’s first name. Maximum 50 characters. |
LastName | The attendee’s last name. Maximum 132 characters. |
Company | The attendee’s company name. Maximum 150 characters. |
Title | The attendee’s title. Maximum 32 characters. |
ExternalID | The unique identifier for the attendee, managed outside Concur. Maximum 48 characters. |
Custom1 through Custom20 | The details from the Custom fields. These may not have data, depending on configuration. The custom fields may have the following child elements: Type (The custom field type. Will be one of the following: Amount, Boolean, ConnectedList, Date, Integer, List, Number, Text), Value (The value in the custom field. Maximum 100 characters.), Code (Custom list fields will include the list item code in this element.) |
HasExceptionsPrevYear | Whether the attendee has exceptions in the previous year, based on yearly total limits for attendees. Maximum 1 character. Format: Y/N |
HasExceptionsYTD | Whether the attendee has exceptions in the current year, based on yearly total limits for attendees. Maximum 1 character. Format: Y/N |
IsDeleted | Whether the attendee is marked as deleted. Maximum 1 character. Format: Y/N |
OwnerName | The name of the employee that owns the attendee record. |
TotalAmountPrevYear | The total amount spent on the attendee in the previous calendar year. |
TotalAmountYTD | The total amount spent on the attendee in the current calendar year. |
VersionNumber | The attendee’s version number. |
AttendeeID | Attendee unique identifier within Concur. |
AttendeeTypeCode | The unique identifier for the attendee type. |
AttendeeOwnerID | The unique identifier for the person or system that owns the attendee. |
CurrencyCode | The 3-letter ISO 4217 currency code for attendee related amounts. |
Allocations List Child Elements
Element | Description |
---|---|
AllocationID | The unique alphanumeric identifier for the allocation. Maximum 13 characters. |
Percentage | The percentage of the expense that is included in this allocation. Maximum 11 characters. |
AccountCode1 | The primary accounting code assigned to the expense type associated with this allocation. Typically, expense types have only this primary account code. |
AccountCode2 | The secondary or alternative accounting code assigned to the expense type associated with this allocation. In rare cases some expense types include this accounting code to handle special cases. One example of these special cases is when using travel allowance, where one expense would use the primary account code for the allowed amount, and the alternative account code for the overage. Another example is personal use of a company car. Refer to the Expense: Account Codes Setup Guide for more information on how Concur Expense determines which accounting codes to use. |
Custom1 through Custom20 | The custom fields associated with the allocation. These may not have data, depending on your configuration. The custom fields may have the following child elements: Type (The custom field type. Will be one of the following: Amount, Boolean, ConnectedList, Date, Integer, List, Number, Text), Value (The value in the custom field. Maximum 48 characters.), Code (Custom list fields will include the list item code in this element.) |
JournalEntriesList | This parent element contains at least one JournalEntry child element. It contains multiple JournalEntry elements if the allocation has multiple journal entries. The JournalEntry element contains child elements |
VATDataList | This parent element contains one VATData element for each VAT line item. This element will be empty if there are no VAT line items. The VATData parent element contains child elements |
JournalEntry Child Elements
Element | Description |
---|---|
JournalID | Unique identifier for the journal entry. |
PayerPaymentTypeName | Payer payment type. Maximum 64 characters. One of these: Company = Company, Employee = Employee, Payment Type for the Credit Card Payment Type |
PayerPaymentTypeCode | Payment code name for the payer. Maximum 80 characters. |
PayeePaymentTypeName | Payee payment type. Maximum 64 characters. One of these: Company = Company, Employee = Employee Payment Type for the Credit Card Payment Type |
PayeePaymentCode | Payment code name for the payee. Maximum 80 characters. |
AccountCode | The account code Concur Expense determines should apply to this journal entry. For journal entries associated to an allocation, Concur Expense uses the business logic described in the Expense: Account Codes Setup Guide to determine whether the primary or secondary account code should apply. When there is no allocation associated to the journal entry, Concur Expense uses clearing account codes for Credit Card and Cash Advance for personal use of a company paid expense or a cash advance issued to an employee respectively. Maximum 48 characters. NOTE: The developer should almost always use this accounting code when creating financial transactions in financial systems. In some situations a developer may need to use the accounting codes in the Allocation parent element. |
DebitOrCredit | Maximum 2 characters. Either: DR = Debit, CR = credit |
Amount | Value, as credit or debit, of the amount to be exchanged between the payer and payee for this expense account code (not an absolute value) Maximum 23 characters. EXAMPLES: Value of zero, credit, or debit, as the following: 0 (Zero) “0”, + (Plus / Debit) “+50.00”, - (Minus / Credit) “-50.00” |
JobRunKey | Either the unique identifier for job run for the accounting extract that processed this journal, or a static value indicating the journal was processed by Manual Pay, Expense Pay, or some other system. |
VATData Child Elements
Element | Description |
---|---|
TaxName | Tax authority name. Maximum 50 characters. |
TaxAuthorityLabel | 5-digit code that appears on the expense entry pages. Maximum 5 characters. |
TaxTransactionAmount | Calculated tax amount for this expense in the spend currency. Maximum 23 characters. |
TaxPostedAmount | Calculated tax amount for this expense entry in the reimbursement currency. Maximum 23 characters. |
Source | Specifies how the tax data was derived. Maximum 4 characters. One of these: CARD= Provided from company card, USER = Entered by employee, SYST = Calculated by system, PROC = Entered by processor |
TaxReclaimTransactionAmount | Calculated amount of tax eligible for reclaim in the spend currency. Maximum 23 characters. |
TaxReclaimPostedAmount | Calculated amount of tax eligible for reclaim in the reimbursement currency. Maximum 23 characters. |
Card Transaction Child Elements
Element | Description |
---|---|
AccountNumber | Credit card number (not encrypted) used for this expense. Maximum 255 characters. |
CardDescription | The name on the credit card used for this expense. Maximum 255 characters. |
CardTypeCode | Type of credit card. |
TransactionReferenceNumber | Reference number from the credit card vendor. Maximum 64 characters. |
TransactionCCTType | Transaction type supplied by card vendor. Maximum 3 characters. One of these: ANF = Annual Fees, CAV = Cash Advance, CCF = Cash and Check Fees, CHG = Other Bank Charges and Fees, FNC = Finance Charges, LAF = Late Fees, NSF = Insufficient Funds Check Fees, PAY = Payment, RPE = Credit Card Transaction |
TransactionID | Calculated value assigned to this card entry during the import process. Maximum 32 characters. |
TransactionAmount | Amount of the charge in the spend currency. Maximum 23 characters. |
TaxAmount | Amount of tax on the transaction amount (if provided by card vendor). Maximum 23 characters. |
TransactionAlphaCode | Currency code for the spend currency. Maximum 3 characters. Format: ISO 4217 3 digit alpha code |
PostedAmount | Amount of the charge in the billing currency of the card. Maximum 23 characters. |
PostedAlphaCode | Currency code for the card billing currency. Maximum 3 characters. Format: ISO 4217 3 digit alpha code |
TransactionDate | Date the charge was made at the merchant. Maximum 10 characters. |
PostedDate | Date the charge was posted to the credit card account. Maximum 10 characters. |
Description | Description of the charge from the merchant. Maximum 42 characters. |
MasterCardCode | Merchant code sent from the credit card vendor. Maximum 5 characters. |
TransactionMerchantName | Name of the merchant. Maximum 50 characters. |
MerchantCity | Merchant city. Maximum 40 characters. |
MerchantState | Merchant State/Province. Maximum 32 characters. |
MerchantCountryCode | Merchant country location code. Format: 2 digit alpha code |
MerchantReferenceNumber | Merchant reference number passed from the merchant to the card. Maximum 15 characters. |
ExchangeRateFromBillingToEmployeeCurrency | Currency exchange rate used between the credit card billing currency and the employee’s reimbursement currency. Maximum 23 characters. |
BillingAmount | Amount due to the company card from the employee or company (depending on who is responsible for the bill) for this detail row. Maximum 23 characters. |
XML Example of Successful Response
HTTP/1.1 200 OK
Content-Type: application/xml
<?xml version="1.0" encoding="utf-8"?>
<ReportDetails xmlns="http://www.concursolutions.com/api/expense/expensereport/2012/07" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserLoginID>cm@example.com</UserLoginID>
<EmployeeName>Miller, Chris</EmployeeName>
<ReportID>425FE2ADB4954FCA90CD</ReportID>
<ReportName>Client Meeting</ReportName>
<Purpose>Sales meeting</Purpose>
<ReportDate>2013-01-10T00:00:00</ReportDate>
<CreationDate>2013-01-11T01:58:20</CreationDate>
<SubmitDate>0001-01-01T00:00:00</SubmitDate>
<PaidDate i:nil="true" />
<CurrencyCode>USD</CurrencyCode>
<ReportTotal>50.00000000</ReportTotal>
<PersonalExpenses>0.00000000</PersonalExpenses>
<AmountDueEmployee>50.00000000</AmountDueEmployee>
<AmountDueCompanyCard>0.00000000</AmountDueCompanyCard>
<TotalClaimedAmount>50.00000000</TotalClaimedAmount>
<TotalApprovedAmount>50.00000000</TotalApprovedAmount>
<ApprovalStatusCode>A_NOTF</ApprovalStatusCode>
<ApprovalStatusName>Not Submitted</ApprovalStatusName>
<PaymentStatusCode>P_NOTP</PaymentStatusCode>
<PaymentStatusName>Not Paid</PaymentStatusName>
<OrgUnit1>Sales</OrgUnit1>
<OrgUnit2 />
<OrgUnit3 />
<OrgUnit4 />
<OrgUnit5 />
<OrgUnit6 />
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
<Custom11 />
<Custom12 />
<Custom13 />
<Custom14 />
<Custom15 />
<Custom16 />
<Custom17 />
<Custom18 />
<Custom19 />
<Custom20 />
<LedgerName>Corporate</LedgerName>
<PolicyID>ndrF8hjzl9FtFUdfaBwVvXP$sD1vDpRKNf</PolicyID>
<EverSentBack>N</EverSentBack>
<HasException>N</HasException>
<WorkflowActionURL />
<ExpenseEntriesList>
<ExpenseEntry>
<ReportEntryID>nE0avYnILN9mHdTErNSd2pH45udFoNQ$po</ReportEntryID>
<LegacyEntryID>5361</LegacyEntryID>
<ExpenseTypeID>BUSML</ExpenseTypeID>
<ExpenseTypeName>Business Meal (attendees)</ExpenseTypeName>
<SpendCategory>Entertainment</SpendCategory>
<PaymentTypeCode>CASH</PaymentTypeCode>
<PaymentTypeName>Cash</PaymentTypeName>
<TransactionDate>2013-01-10T00:00:00</TransactionDate>
<TransactionCurrencyName>US, Dollar</TransactionCurrencyName>
<ExchangeRate>1.00000000000000</ExchangeRate>
<TransactionAmount>50.00000000</TransactionAmount>
<PostedAmount>50.00000000</PostedAmount>
<ApprovedAmount />
<BusinessPurpose />
<VendorDescription />
<LocationName>Washington</LocationName>
<LocationSubdivision>US-DC</LocationSubdivision>
<LocationCountry>US</LocationCountry>
<OrgUnit1>Sales</OrgUnit1>
<OrgUnit2 />
<OrgUnit3 />
<OrgUnit4 />
<OrgUnit5 />
<OrgUnit6 />
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
<Custom11 />
<Custom12 />
<Custom13 />
<Custom14 />
<Custom15 />
<Custom16 />
<Custom17 />
<Custom18 />
<Custom19 />
<Custom20 />
<Custom21 />
<Custom22 />
<Custom23 />
<Custom24 />
<Custom25 />
<Custom26 />
<Custom27 />
<Custom28 />
<Custom29 />
<Custom30 />
<Custom31 />
<Custom32 />
<Custom33 />
<Custom34 />
<Custom35 />
<Custom36 />
<Custom37 />
<Custom38 />
<Custom39 />
<Custom40 />
<FormID>nAaT8$puKKOhs7h2wespCW7vyyxJAJcyb5</FormID>
<EntryImageID />
<HasVat>N</HasVat>
<HasComments>N</HasComments>
<CommentCount>0</CommentCount>
<IsItemized>Y</IsItemized>
<HasExceptions>N</HasExceptions>
<IsPersonal>N</IsPersonal>
<HasAttendees>Y</HasAttendees>
<HasAllocation>N</HasAllocation>
<IsCreditCardCharge>N</IsCreditCardCharge>
<IsPersonalCardCharge>N</IsPersonalCardCharge>
<ReceiptRequired>N</ReceiptRequired>
<ImageRequired>N</ImageRequired>
<E-ReceiptID />
<LastModified>2013-01-11T01:59:52</LastModified>
<ItemizationsList>
<Itemization>
<ItemType>Regular</ItemType>
<ItemizationID>nE0avYnILN9mHdTErNSd2pH45udFoNQ$po</ItemizationID>
<ExpenseTypeID>BUSML</ExpenseTypeID>
<ExpenseTypeName>Business Meal (attendees)</ExpenseTypeName>
<TransactionDate>2013-01-10T00:00:00</TransactionDate>
<TransactionAmount>50.00000000</TransactionAmount>
<PostedAmount>50.00000000</PostedAmount>
<ApprovedAmount />
<BusinessPurpose />
<OrgUnit1>Sales</OrgUnit1>
<OrgUnit2 />
<OrgUnit3 />
<OrgUnit4 />
<OrgUnit5 />
<OrgUnit6 />
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
<Custom11 />
<Custom12 />
<Custom13 />
<Custom14 />
<Custom15 />
<Custom16 />
<Custom17 />
<Custom18 />
<Custom19 />
<Custom20 />
<Custom21 />
<Custom22 />
<Custom23 />
<Custom24 />
<Custom25 />
<Custom26 />
<Custom27 />
<Custom28 />
<Custom29 />
<Custom30 />
<Custom31 />
<Custom32 />
<Custom33 />
<Custom34 />
<Custom35 />
<Custom36 />
<Custom37 />
<Custom38 />
<Custom39 />
<Custom40 />
<HasComments>N</HasComments>
<CommentCount>0</CommentCount>
<IsPersonal>N</IsPersonal>
<LastModified>2013-01-11T01:59:52</LastModified>
<AllocationsList />
<AttendeesList>
<Attendee>
<AttendeeType>BUSGUEST</AttendeeType>
<FirstName>Pat</FirstName>
<LastName>Davis</LastName>
<Company />
<Title />
<ExternalID />
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
<Custom11 />
<Custom12 />
<Custom13 />
<Custom14 />
<Custom15 />
<Custom16 />
<Custom17 />
<Custom18 />
<Custom19 />
<Custom20 />
<HasExceptionsPrevYear>N</HasExceptionsPrevYear>
<HasExceptionsYTD>N</HasExceptionsYTD>
<IsDeleted>N</IsDeleted>
<OwnerEmpName>Miller, Chris</OwnerEmpName>
<TotalAmountPrevYear>0.00000000</TotalAmountPrevYear>
<TotalAmountYTD>0.00000000</TotalAmountYTD>
<VersionNumber>1</VersionNumber>
<AttendeeID>nFaAj038Hw$plfUD8be0I45wTx8$sMlTd$pP</AttendeeID>
<AttendeeTypeCode>BUSGUEST</AttendeeTypeCode>
<AttendeeOwnerID>cm@example.com</AttendeeOwnerID>
<CurrencyCode>USD</CurrencyCode>
</Attendee>
</AttendeesList>
</Itemization>
<Itemization>
<ItemType>Child</ItemType>
<ItemizationID>nE0avYnILN9g$s6lCFX0jFBWmHAiTYYf9C</ItemizationID>
<ExpenseTypeID>BRKFT</ExpenseTypeID>
<ExpenseTypeName>Breakfast</ExpenseTypeName>
<TransactionDate>2013-01-10T00:00:00</TransactionDate>
<TransactionAmount>50.00000000</TransactionAmount>
<PostedAmount>50.00000000</PostedAmount>
<ApprovedAmount>50.00000000</ApprovedAmount>
<BusinessPurpose />
<OrgUnit1>Sales</OrgUnit1>
<OrgUnit2 />
<OrgUnit3 />
<OrgUnit4 />
<OrgUnit5 />
<OrgUnit6 />
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
<Custom11 />
<Custom12 />
<Custom13 />
<Custom14 />
<Custom15 />
<Custom16 />
<Custom17 />
<Custom18 />
<Custom19 />
<Custom20 />
<Custom21 />
<Custom22 />
<Custom23 />
<Custom24 />
<Custom25 />
<Custom26 />
<Custom27 />
<Custom28 />
<Custom29 />
<Custom30 />
<Custom31 />
<Custom32 />
<Custom33 />
<Custom34 />
<Custom35 />
<Custom36 />
<Custom37 />
<Custom38 />
<Custom39 />
<Custom40 />
<HasComments>N</HasComments>
<CommentCount>0</CommentCount>
<IsPersonal>N</IsPersonal>
<LastModified>2013-01-11T01:59:52</LastModified>
<AllocationsList>
<Allocation>
<AllocationID>ngYn5SB4OUXgRV6P8VgsQQr88SaKYvbqz</AllocationID>
<Percentage>100.00000000%</Percentage>
<AccountCode1>AC_BRKFT1</AccountCode1>
<AccountCode2>AC_BRKFT2</AccountCode2>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
<Custom11 />
<Custom12 />
<Custom13 />
<Custom14 />
<Custom15 />
<Custom16 />
<Custom17 />
<Custom18 />
<Custom19 />
<Custom20 />
<VATDataList />
</Allocation>
</AllocationsList>
<AttendeesList />
</Itemization>
</ItemizationsList>
<UserLoginID>cm@example.com</UserLoginID>
</ExpenseEntry>
</ExpenseEntriesList>
<Country>US</Country>
<CountrySubdivision></CountrySubdivision>
<ProcessingPaymentDate></ProcessingPaymentDate>
<ReceiptsReceived>Y</ReceiptsReceived>
<ReportOwner>
<EmployeeID>cm@example.com</EmployeeID>
<LastName>Chris</LastName>
<FirstName>Miller</FirstName>
<MiddleInitial></MiddleInitial>
<EmployeeCustom21></EmployeeCustom21>
<EmployeeOrgUnit1></EmployeeOrgUnit1>
<EmployeeOrgUnit2></EmployeeOrgUnit2>
<EmployeeOrgUnit3></EmployeeOrgUnit3>
<EmployeeOrgUnit4></EmployeeOrgUnit4>
<EmployeeOrgUnit5></EmployeeOrgUnit5>
<EmployeeOrgUnit6></EmployeeOrgUnit6>
<ReimbursementMethodCode>CNQRPAY</ReimbursementMethodCode>
</ReportOwner>
</ReportDetails>