Global SAP Integration Case Study

Revised: 24 April 2017

Overview

This customer adopted Coupa and implemented the complete P2P process within Coupa. This implementation was one of the most complete and seamless integrations between the Coupa Platform and SAP, with over 11 integration points between the two systems. This project utilized Coupa’s integration partner Boomi, which used the Boomi Coupa Connector, Flat File Formats, and Boomi SAP Connector to enable this end to end integration. Their implementation case study can be found here.

cadence_design.jpg.jpg

The entire project, including design, development, testing and deployment to production, was completed in less than 10 weeks.

Scope

The following represent a sample of the integration use cases that were implemented as part of the integration.

Purchase Orders from Coupa to SAP

  • Boomi Coupa Connector extracted Purchase Orders from Coupa using Coupa API: https://<instance>/api/purchase_orders>
  • Boomi SAP Connector posted the Purchase Orders into SAP using BAPI_PO_CREATE and/or BAPI_PO_CHANGE
Invoices from Coupa to SAP
  • Boomi Coupa Connector extracted Invoices from Coupa using Coupa API: https://<instance>/api/invoices
  • Boomi SAP Connector posted the invoices to SAP using BAPI_INCOMINGINVOICE_CREATE, BAPI_INCOMINGINVOICE_CANCEL.

Receipts from Coupa to SAP

 

  • Boomi Coupa Connector extracted Receipts from Coupa using Coupa API: https://<instance>/api/inventory_transactions 
  • Boomi SAP Connector then posting receipts into SAP using BAPI_GOODSMVT_CREATE, BAPI_GOODSMVT_CANCEL.
Receipts From SAP to Coupa
  • Boomi SAP Connector extracted receipts from SAP using BAPI_GOODSMVT_GETDETAIL, BAPI_GOODSMVT_GETITEMS
  • Boomi Coupa Connector loaded data into Coupa using Coupa API: https://<instance>/api/inventory_transactions
Suppliers from SAP to Coupa
  • Boomi SAP Connector extracted vendors from SAP using BAPI_VENDOR_GETDETAIL 
  • Boomi Coupa Connector loaded supplier data into Coupa using Coupa API: https://<instance>/api/suppliers
Exchange Rates from SAP to Coupa
  • Boomi SAP connector extracted exchange rates using BAPI_EXCHRATE_GETCURRENTRATES 
  • Boomi Coupa Connector loaded exchange rate data using the Coupa API: https://<instance>/api/exchange_rates
Accounts from SAP into Coupa

Company Codes, Cost Center, and Business Unit information from SAP was converted into the standard Coupa Account Flat File Format and were uploaded to the Coupa SFTP Server and integrated seamlessly with the Coupa platform.

Invoices Payments from SAP into Coupa

Invoices in the Standard Coupa Invoice Flat File Format were uploaded to the Coupa SFTP Server and integrated seamlessly with the Coupa platform.

Mapping

Here is the mapping that we used to connect the Coupa invoice to the SAP invoice object.

Coupa Element [Source] Default Value SAP BAPI Element [Target]
  KR BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/DOC_TYPE
invoice-header/invoice-date   BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/PSTNG_DATE
invoice-header/invoice-lines/invoice-line/tax-codes   BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/TAX_CODE
invoice-header/bline-date   BAPI_ACC_DOCUMENT_POST/ACCOUNTPAYABLE/item/BLINE_DATE
invoice-header/supplier-company   BAPI_ACC_DOCUMENT_POST/ACCOUNTPAYABLE/item/COMP_CODE
  1 BAPI_ACC_DOCUMENT_POST/ACCOUNTPAYABLE/item/ITEMNO_ACC
invoice-header/payment-term   BAPI_ACC_DOCUMENT_POST/ACCOUNTPAYABLE/item/PMNTTRMS
invoice-header/payment-method   BAPI_ACC_DOCUMENT_POST/ACCOUNTPAYABLE/item/PYMT_METH
invoice-header/invoice-lines/invoice-line/total-currency   BAPI_ACC_DOCUMENT_POST/CURRENCYAMOUNT/item/CURRENCY
invoice-header/currency   BAPI_ACC_DOCUMENT_POST/CURRENCYAMOUNT/item/CURRENCY
  1 BAPI_ACC_DOCUMENT_POST/CURRENCYAMOUNT/item/ITEMNO_ACC
  RFBU BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/BUS_ACT
invoice-header/supplier-company   BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/COMP_CODE
invoice-header/invoice-date   BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/DOC_DATE
  KR BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/DOC_TYPE
invoice-header/invoice-date   BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/TRANS_DATE
  SAPCOUPA BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/USERNAME
invoice-header/total TRANSFORM BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/GL_ACCOUNT
invoice-header/invoice-lines/invoice-line/account/segment-7
invoice-header/invoice-lines/invoice-line/account/segment-5   BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/WBS_ELEMENT
invoice-header/invoice-lines/invoice-line/total   BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/DE_CRE_IND
invoice-header/invoice-lines/invoice-line/line-num TRANSFORM BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/ITEMNO_ACC BAPI_ACC_DOCUMENT_POST/CURRENCYAMOUNT/item/ITEMNO_ACC BAPI_ACC_DOCUMENT_POST/CURRENCYAMOUNT/item/AMT_DOCCUR BAPI_ACC_DOCUMENT_POST/CURRENCYAMOUNT/item/AMT_BASE
invoice-header/invoice-lines/invoice-line/total
invoice-header/invoice-lines/invoice-line/accounting-total
invoice-header/invoice-number   BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/REF_DOC_NO
invoice-header/total   BAPI_ACC_DOCUMENT_POST/CURRENCYAMOUNT/item/AMT_DOCCUR
invoice-header/accounting-total-line-amount   BAPI_ACC_DOCUMENT_POST/CURRENCYAMOUNT/item/AMT_BASE
invoice-header/supplier-sap-id TRANSFORM BAPI_ACC_DOCUMENT_POST/ACCOUNTPAYABLE/item/VENDOR_NO
invoice-header/remit-to-id
invoice-header/supplier-number
invoice-header/supplier-wh-tax-code TRANSFORM BAPI_ACC_DOCUMENT_POST/ACCOUNTPAYABLE/item/W_TAX_CODE
invoice-header/wh-tax-code
invoice-header/invoice-lines/invoice-line/account/segment-3 TRANSFORM BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/COMP_CODE
invoice-header/invoice-lines/invoice-line/account/segment-1
invoice-header/total TRANSFORM BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/PSTNG_DATE
invoice-header/posting-date
invoice-header/created-at
invoice-header/invoice-lines/invoice-line/account/segment-3   BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/COSTCENTER
invoice-header/payment-information   BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/HEADER_TXT
invoice-header/invoice-lines/invoice-line/description   BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/ITEM_TEXT
invoice-header/invoice-lines/invoice-line/account/segment-1 TRANSFORM BAPI_ACC_DOCUMENT_POST/ACCOUNTPAYABLE/item/ITEM_TEXT
invoice-header/invoice-lines/invoice-line/tax-codes
invoice-header/invoice-lines/invoice-line/tax-jurisdiction-code
invoice-header/total
invoice-header/invoice-lines/invoice-line/line-num
invoice-header/payment-information
invoice-header/supplier-tax-jurisdiction-code TRANSFORM BAPI_ACC_DOCUMENT_POST/ACCOUNTGL/item/TAXJURCODE
invoice-header/invoice-lines/invoice-line/tax-jurisdiction-code