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:
Expense files must have an
Expense Report Id and invoice files must have an
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.