Skip to Content
Technical Articles

BAdIs in Concur Integration Component (CTE)

SAP Concur is the travel and expense solution from SAP. SAP has been working to integrate it with SAP ECC. It has introduced native integration with Concur from Ehp 7. Earlier the integration was based on file transfer.

As part of this native integration SAP has provided BAdIs to customize replication and financial posting. If your company wants expenses to post to certain project types only or certain cost centers then these BAdIs are helpful.

I did not find any documentation on these BAdIs even in the system. So I am listing out the BAdIs here.

BAdIs for Replication

  1. BADI_CTE_FIN_COBJ_DATA_CHANGE – Change Cost Object Data
    • Method ADAPT_DATA – This method can be used to restrict cost objects like cost centers, WBS etc.
  2. BADI_CTE_FIN_COBJ_FILL_LEVEL – Customer-Specific Hierarchy Level for Concur list
    • GET_LEVEL_DATA – Fill data of custom defined level

BAdIs for Financial Posting

  1. BADI_CTE_FIN_POST_DOC_CHANGES – Minor Field Changes

This is the most commonly used BAdI for posting expenses

  • CHANGE_SGTXT – Change the text of the posted document 
  • CHANGE_VENDOR – If mapping from employee to vendor has to be changed
  • CHANGE_TAXCODE – Required for countries which have VAT to support non-domestic expenses
  1. BADI_CTE_FIN_POST_ADJUST_DOC – Change Posting Data

This BAdI allows changing of many more fields compare to the previous one. Use this only if the previous BAdI doesn’t meet your requirements. If you implement this and then need SAP support, SAP may ask you to deactivate this before checking the issue.

  • ADJUST_AD_POSTING_DOCUMENT – Adjust FI Posting Document of Cash Advances
  • ADJUST_POSTING_DOCUMENT – Adjust FI Posting Document of Expense Report
  • SPLIT_POSTING_DOCUMENT – Split FI Posting Document
  1. BADI_CTE_FIN_HANDLE_ATTACHMENT – Change Settings for Attachment Handling
    • RESTRICT_ATTACHMENTS – Filter Attachments
    • FI_DOC_ASSIGNMENT – Assign Attachments to FI Documents
  2. BADI_CTE_FIN_POST_DATA_CHANGE – Enhance Incoming Posting Data from Concur
    • MAP_REPORT_ADDITIONAL_DATA – Additional fields in report header
    • MAP_ENTRY_ADDITIONAL_DATA – Additional fields at line item level
    • MAP_ALLOCATION_ADDITIONAL_DATA – Additional fields for allocation
  3. BADI_CTE_FIN_POST_ROUNDING – Adjust Amount Fields According to Decimal Places of Deviating Currency
    • ADJUST_CASH_ADVANCE_AMOUNTS – Adjust amount fields of FI Posting Document of Cash Advances
    • ADJUST_EXPENSE_REPORT_AMOUNTS – Adjust amount fields of FI Posting Document of ExpenseReport
  4. BADI_CTE_FIN_POST_USE_CASES – Customer-Specific Report Entry
    • DETERMINE_USE_CASE – Determine FIN Posting Use Case
    • PROCESS_USE_CASE – Process FIN Posting Use Case

The available BAdIs can be seen in transaction CTE_SETUP.

Concur sends posting data to SAP in Json format. The parameters of the BAdIs have nested tables reflecting the Json ordered list.

Overall the BAdIs are comprehensive and provides multiple options to adjust expense posting. We were able to find suitable methods for all our use cases.

BADI_CTE_FIN_POST_DOC_CHANGES is the most commonly used BAdI for this purpose.

You must be Logged on to comment or reply to a post.
    • No, I haven't yet used it.

      Typically IS_DOCUMENT_DATA has necessary information.

      It has structure Employee  and entries as can be seen in JSON file.

  • Hello,

    I need to implement BADI BADI_CTE_FIN_COBJ_FILL_LEVEL to allow concur to do GL posting with Profit center. I am new to Concur integration. Can you please provide further information on how to implement/use this BADI along with any setup that is required before implementing.

    • Is the list hierarchy for profit center created in Concur?

      We had a requirement to post to service orders and the version of our SAP_CTE didn't allow it. We wrote our own program to generate and send the file via SFTP to Concur. Concur team create the list structure on their end. We didn't use this badi.

  • Hi, does anyone successfully changed the COST_OBJECT_NAME using BADI_CTE_FIN_COBJ_DATA_CHANGE? I need to change the name/description of Cost Center before exporting in Concur. I was able to populate the field with new value, but it's not appearing in Communication Monitor.

    Hello, to count in different currencies they ask me that when I enter a fi document with several intems in different currencies they settle as separate documents, they told me that with this split method it can be done, is there any implementation example?


  • Have you handled witholding taxes when posting expenses invoices?

    From what I reckon it should be program manually and not considered by Concur ICS from the Vendor witholding tax codes view on a Company Code Level. Am I right?