Skip to main content



Coupa Success Portal

Payment Import


When expenses or invoices must be loaded from external systems you can use CSV flat files to upload them by SFTP for processing by Coupa. Process and pay expense and invoice CSV flat files by SFTP transfer.

The Payments Import process accepts both expense and invoice CSV files transferred by way of SFTP to any of the following endpoints: 

  • ./Incoming/InvoicePayments
  • ./Incoming/ExpensePayments
  • ./Incoming/Payments

Expense files must have an Expense Report Id and invoice files must have an Invoice Number.

After receipt, these files are moved to the archive folder located at ./Archive/Incoming/InvoicePayments/ before being processed in alphanumeric order. In the standard integration, a validation routine determines whether a payment has already been applied to an invoice by comparing the payment date, check number, and amount fields to the payment record.

Void/Check Cancelations: The Coupa Integration does not support deleting or voiding a check directly. The best practice in this scenario is to create a new 'payment' for negative the amount of the check to cancel. The check # can be the same or have a string such as 'Void' appended.


Coupa find invoices in approved status and scope based on the following criteria:

  • If the Invoice ID is provided, only the Invoice ID is matched.
  • If the Supplier Name and/or Supplier Number is provided, Coupa searches for the supplier.
    • If a matching supplier is found, Coupa uses the supplier as a filtering criterion. 
    • If a matching supplier is not found, Coupa does not include the supplier as part of the scope.
  • If the Invoice Date is provided, Coupa scopes approved invoices to that invoice date
    • The Invoice Date is needed if a customer reuses the same invoice number for different calendar years.
  • Only if exactly one invoice is found from the above queries, Coupa creates payments.

Invoice payments can't be updated via Integration.

Invoice payment columns

Column Name Description Req'd Unique Type Allowable Values
Supplier Name Supplier Name. Include at least the suppler name or number. TRUE* FALSE string(100) any
Supplier Number Supplier Number. Include at least the supplier name or number. TRUE* FALSE string(255) any
Invoice Number Invoice Number (null if the record is an expense) TRUE FALSE string(40) any
Expense Report Id Expense Report Id (null if the record is an invoice) FALSE FALSE integer(11) any
Paid This is the paid field on the invoice header. It's set to a true or false value. FALSE FALSE boolean true,false/Yes,No/Y,N/T,F
Paid-in-Full Date Paid-in-Full Date FALSE FALSE datetime YYYY-MM-DDTHH:MM:SS+HH:MM
Paid-in-Full Note Paid-in-Full Note FALSE FALSE string(255) any
Check Amount Paid Check Amount Paid FALSE FALSE decimal(32,4) any
Check # / Note Check # / Note FALSE FALSE string(255) any
Check Payment Date Check Payment Date FALSE FALSE datetime YYYY-MM-DDTHH:MM:SS+HH:MM

* One of Supplier Name or Supplier Number is required.

  • Was this article helpful?