Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
Showing results for 
Search instead for 
Did you mean: 
I have been a Technical Consultant at SAP Concur for many years and work on the data interfaces between SAP Concur and its customers.  There are several mechanisms for obtaining expense information that can be used for financial posting into any ERP system as well as reimbursement to employees/cards.  These include:

  • Standard Accounting Extract - a flat file delivered via SFTP in a predefined format

  • Custom Extracts - a flat file delivered via SFTP in a format that you define

  • Cognos Reports - a flat file delivered via SFTP or email in a format that you define

  • Web Service APIs – a series of calls from a program to extract the data for immediate consumption.

The first 3 options are traditional ways of bulk transferring of data.  At the time, they served a purpose.  With no import available for providing feedback, customers had to build applications for storing and reprocessing expense reports. This increased maintenance costs and required yet another system to access.

SAP Concur has been working hard on innovations to streamline and improve processes as demonstrated by all the new v4 APIs.  In this post, I will explain how to use one set of APIs called “Financial Integration Service” (FIS) to provide near real time bi-directional integration between SAP Concur and your systems.  By providing feedback, it allows you to leverage Concur Expense for storing and reprocessing expense reports which reduces maintenance costs.


This post will not discuss authentication with Concur Expense.  Please see this post to get an explanation on authentication and application building within Concur Expense.  You will need an application with the following SCOPEs:


In addition, to enable Financial Integration Service within Concur Expense, the following configuration changes are necessary.


Financial Integration Service consists of the following steps:

  • Get Financial Transactions

  • Acknowledge each Financial Transaction

  • Confirm each Financial Transaction posted (success or fail)

  • Mark each Financial Transaction as paid (optional but recommended)

If you noticed, I am using the term "Financial Transaction" and not "Expense Report".  That is because FIS supports more than just expense report postings.  It also supports cash advances, invoice, payroll, and obligations.  In all the API calls, there is a variable called doctype which identifies the type of Financial Transaction you are working with.

To understand the various deployment options and configuration requirements, please read the FIS Setup Guide found here.  The complete Financial Integration Service API documentation can be found here.  To help you understand Financial Integration Service APIs, I developed the following Postman collection as an example.  You can also view FIS on the SAP API Business Hub here.

Detailed Walkthrough

Get Financial Transactions

Using the GET /financialintegration/fi/....../transaction API (reference 1 – Get FIS Transactions – All in the postman collection), you request to receive all transactions waiting to be processed into your ERP [Step 1].  The response is a JSON with financially relevant data that you can use for posting and payment [Step 2].  For example, expense reports that are fully approved and in Pending Payment status.  Within the JSON is a variable called docId. docId is NOT the report ID, report number or report key within Concur. It is the financial document id that is generated every time an expense report is fully approved.  If the expense report fails posting and is resubmitted, it will have a new docId.

Get Financial Transactions

Acknowledge each Financial Transaction

Using the POST /financialintegration/fi/.../acknowledgements API (reference 3 – Post FIS Acknowledgements in the collection), you will POST [Step 3] each Financial Transaction using the docId returned in Step 2.  This locks the corresponding concur document (i.e., expense report) and prevents it from being changed. This request could fail if the document was cancelled or recalled back to the employee/processor between step 1 and step 3. If that is the case, do not continue processing this financial document!  It will come back through Step 1 when it is approved again.

I can't stress this enough.  This is a critical step in the posting flow, and it must occur.  If you post the data to your ERP before acknowledgement is successful, you could easily double book the transactions.

POST acknowledge

Confirm each Financial Transaction posted (success or fail)

Using the POST /financialintegration/fi/.../postingconfirmations API (reference 6x – Post FIS Confirmations in the postman collection), you can send back a success [Step 6 - first picture] or a failure [Step 6 - second picture].  This will update the audit trail as well as change the status of the document.  For example, expense report would change to either “Sent for Payment” or “Financial Posting Failed”.  Expense reports in Financial Posting Failed can be recalled by the expense processor and corrected.  With a failure, please make the error message as descriptive as possible so the employee or expense processor understands what needs to happen.

This is also a very important step in the posting process.  Technically, if you are not going to use the payment confirmations mentioned below, then you do not need to confirm posting.  However, you will be unable to reconcile with Concur Expense as there is no status change for "acknowledged".  This step is the step that changes the status and is available in Reporting.



Confirm FAIL

Mark each Financial Transaction paid (optional but recommended for expense reports)

At some point in the future, you will receive an acknowledgement from your payment application (payroll, account payables, etc.) that payment has been made for this transaction [Step 7].

Using POST /financialintegration/fi.../paymentconfirmations API (reference 8 – Post FIS Payment Confirmation in the postman collection), you can update the status with the payment information [Step 8].  You can specify if it’s a partial payment (for example, payment to the card but not the employee) or if this is the final payment.  Final payment will also update the status to Paid in Concur Expense.

Payment Confirmation


SAP Concur’s Financial Integration Service is a very robust set of APIs that handle not only expense reports but also cash advances, invoice, payroll documents and obligations.  These APIs provide a complete audit trail within SAP Concur which enhances your audit posture and improves employee experience.  The near real time bi-directional interface provides the much-needed feedback to the ERP posting process.

Using the information in this post, and the postman collection, you should be on your way to exploring the benefits of Financial Integration Service.

If you want to dig in to the next aspect of Financial Integration Services, Payroll Integration, please review the following blog post: https://blogs.sap.com/2023/05/25/sap-concur-payroll-integration/

Share and Connect

What do you think?  Do you have anything to add? Leave a comment below.

Did you find it useful? Give us a like and share on social media.

Want to know more about SAP Concur? Please follow here.

Want to ask questions about SAP Concur and its offerings? Ask here

Follow my profile for similar content.

Thank you!