What can we help you find?
Products
Total Spend Management Platform
Integration Playbooks and Resources
Integration Knowledge Articles
Integration Design Checklist
Integration Design Checklist
Introduction
This document will provide a standard checklist that should be reviewed with any customer or partner who is building integrations between Coupa and any other system in an effort to achieve the following goals:
- Ensure integrations are designed to accommodate all possible data scenarios which may arise when integrating user-entered data between systems
- Ensure integrations are designed in a loosely-coupled manner which prevents format changes in any system from breaking the integrations
CSV integrations
Step | Details | Requires Approval* |
---|---|---|
Parsing by column name not position | Yes | |
Only Incremental / Delta data to be sent to Coupa/object and sending only the data that will be used in Coupa | Yes | |
Only Incremental / Delta data will be sent from Coupa and it will only be for the Final status (Ex: Invoice OKOTOPAY: Approved or Voided status) | Yes | |
No Scheduled Reports (Custom views on the object) should be used for automated integration as Coupa doesn’t support them as standard integration. Scheduled report if any should have condition to limit the data output (ex: daily run for last updated within 24hrs only) | Yes | |
Field names and formats are configurable rather than hard-coded | No | |
CSV files use the following conventions taken from RFC 4180.
|
No | |
Accommodating all user-entered text scenarios
|
Yes | |
Customer Must delete files from Outgoing directory in Coupa hosted sftp | Yes | |
Inbound regular delta feeds to Coupa should be combined in one file and every delta record update in source system should NOT be sent as one single file. Example: Scenario 1:
|
Yes | |
For Incoming and Outgoing CSV Integrations data, only map the fields that are required by Coupa and required for Coupa business process. | No | |
Always validate the presence of elements in the XML/JSON before fetching the value as Coupa payload structure can change in the future to not display certain fields which have no or null values. | Yes |
* Customer / Partner Approval required on this prior to Development and should be part of MTP Ticket
API integrations
Step | Details | Requires Approval* |
---|---|---|
Not exporting or importing data in bulk | Yes | |
Not using strict XSD validation | Yes | |
Only Incremental / Delta data to be sent to Coupa/object and sending only the data that would be used in Coupa | Yes | |
All API calls MUST be part of the IRD and should be shared with and approved by Coupa Integration Architect | Yes | |
Validate the presence of elements in the XML/JSON before fetching the value as Coupa payload structure can change in the future to not display certain fields which have no or null values. | Yes | |
Escaping/unescaping special xml characters | No | |
Paging in place for GET calls that may exceed 50 records | No | |
Error handling in place for PUT/POST calls | No | |
For Incoming and Outgoing API Integrations data, only map the fields that are required by Coupa and required for Coupa business process | No | |
Use API Filters/ Shallow/ Limited options for optimal API performance | No |