Coupa CSV Flat File Integration
Coupa supports both username/password and SSH key authentication for sFTP.
For info on folder structure refer to: SFTP Overview.
Inbound Files
Inbound files are picked up every 3-6 minutes from the customer's Coupa sFTP site for further processing. This schedule is standard across all Coupa customers for all Coupa objects and it can’t be modified. Exceptions to this rule are the credit card files (related to expense) as they are processed according to a scheduled job which can be timed based on customer request.
Once the file corresponding to each object is processed, the file is moved to the corresponding Archive folder.
Errors corresponding to file structure or data created/updated can be viewed from the https://<instance_url>/data_sources
page.
Best Practices
- The latest template for each object should be pulled from the UI through the object-specific Load from file > CSV template and not the templates specified on integrate.coupa.com.
- Each inbound object file should not have more than 5000 rows (excluding the header row), and it should process files simultaneously rather than create one large file. The file size limit for CSV integrations is 8 MB.
- Avoid loading dependency object files at the same time. For example, do not load the
Supplier
,Item
, and correspondingSupplier-Item
files at the same time, but load theSupplier
andItem
files first, and then theSupplier-Item
file. - For a small data set, it is recommended that you create the data records manually through the UI. For example, three rows of Chart of Accounts (COA) is much easier to create with the UI than with an integration.
Outbound Files
Files can be generated according to an object-specific scheduled job within Coupa, and files are sent to the customer’s sFTP folder for further use, accordingly.
It is the Customers Middleware/ERP responsibility to take and process the files from the Coupa sFTP site.
Best Practices
- Outbound files that are processed must be deleted from the Coupa sFTP site of your customer. This also helps avoid any system space issue over time.
- Outbound scheduled jobs should be timed to generate a file with sufficient data and to avoid generating one large file once a day. For example, if the number of daily approved invoices is 40,000, schedule the job to run every 1 hour to send the data in small batches and not in one file with 40,000 rows at end of day.
For info on file names and schedules, refer to Integration Schedules and File Names.
For more info on CSV flat file integration, see Using the Flat File Format.