Coupa CSV Flat File Integration

Revised: 22 January 2020

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
  • 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 SupplierItem, and corresponding Supplier-Item files at the same time, but load the Supplier and Item files first, and then the Supplier-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.