External Orders Import
Overview
The Purchase Order Import process read files from the ./Incoming/PurchaseOrders/
in the SFTP. These files will be moved to the archive folder located at ./Incoming/Archive/PurchaseOrders/
before being processed in Alphanumeric order.
Coupa can't update a requisition via flat file Integration.
Keys
- Supplier Name
- Supplier Number
External Order Header Columns
Column Name | Description | Req'd | Unique | Type | Allowable Values |
---|---|---|---|---|---|
Header | Indicates the type of row | No | No | - | Header |
Action | Dictates what happens to the PO. | No | No | Cancel, Close, IssueWithSend, IssueWithoutSend, IgnoreWindowsAndIssue | |
Version Number | Allows you to override Coupa's default versioning rules. See the PO SFTP Loader documentation for more info. | No | No | Integer(11) | If specified, must be equal to or greater than the current order version number. |
PO Number | Use to determine if Coupa will modify an existing PO or creating a new PO. | No | Yes | string(20) | any |
Supplier Name | Used to identify the supplier for the PO. Can pass the supplier number, in lieu of this field, but Coupa must identify an active supplier record for each PO | Yes* | No | string(255) | any |
Supplier Number | Used to identify the supplier for the PO. Can pass the supplier name, in lieu of this field, but Coupa must identify an active supplier record for each PO | Yes* | No | string(11) | any |
Supplier Site Code | Supplier Site Code | No | No | string(20) | any |
Currency Code | Currency Code | No | No | string(6) | Any ISO 4217 three letter currency code |
Chart of Account Name | Chart of Accounts for the order Although this field isn't required, you should enter something in this field. If this value is left blank, your integration may not work. | No | No | string(50) | any |
Payment Method | Same as req loader | No | No | string(255) | any |
Payment Term Code | Same as req loader | No | No | string(255) | any |
Shipping Term Code | Same as req loader | No | No | string(255) | any |
Ship To Name | Name of Address. Must exist in Coupa. | No | No | string(50) | any |
Ship To Attention | Ship to Address attention. Either the Requester or the attention linked to Address in Coupa (defaults to the requester). | No | No | string(255) | any |
Ship To Street 1 | Ship to Address Line1. Provide if the address does not exist in coupa. | No | No | string(100) | any |
Ship To Street 2 | Ship to Address Line2. Provide if the address does not exist in coupa. | No | No | string(100) | any |
Ship To City | Ship to Address City. Provide if the address does not exist in coupa. | No | No | string(50) | any |
Ship To State | Ship to Address state. Provide if the address does not exist in coupa. | No | No | string(50) | any |
Ship To Postal Code | Ship to Address Postal code. Provide if the address does not exist in coupa. | No | No | string(50) | any |
Ship To Country Code | Ship to Address Country Code. Must exist in Coupa. | No | No | string(4) | any |
Ship To Country Name | Ship to Address Country Name | No | No | string(100) | any |
Ship To Location Code | Ship to Address Country Location Code | No | No | string(255) | any |
Ship To Employee Number | Same as req loader | No | No | string(255) | any |
Ship To Email | Same as req loader | No | No | string(255) | any |
Ship To Login | Same as req loader | No | No | string(255) | any |
External Order Line Columns
Column Name | Description | Req'd | Unique | Type | Allowable Values |
---|---|---|---|---|---|
Line | Indicates the type of row | No | No | - | Line |
Receiving Warehouse Name | Used for inventory orders only | No | No | string(255) |
any |
Contract Number | Used to identify a contract, which must be associated with the supplier on the header row. Can also be specified by passing a contract name. | No | No | string(50) | any |
Contract Name | Used to identify a contract, which must be associated with the supplier on the header row. Can also be specified by passing a contract number. | No | No | string(100) | any |
Record Identifier | No | No | any | ||
Line Number | Used to identify an existing PO line if making an update to a PO, otherwise defines the line number for new PO lines. | No | No | string(255) | any |
Catalog Item Number | Can be used to identify catalog items, in lieu of item name. | No | No | string(255) | any |
Catalog Item Name | Can be used to identify catalog items, in lieu of item number. | No | No | string(255) | any |
Non Catalog Item Description | Item description for non-catalog items. | No | No | string(255) | any |
Department Name | Same as req loader | No | No | string(255) | any |
Supplier Part Number | Can be used to help identify a supplier item. See PO SFTP Loader documentation for more details | No | No | string(255) | any |
Quantity | Line Qty Amount (blank for Service-based line) | No* | No | decimal(30,6) | any |
Price | Item unit price | No | No | decimal(30,6) | any |
Need By Date | Need by date | No | No | datetime | YYYY-MM-DDTHH:MM:SS+HH:MM |
UOM Code | Code for the unit of measure. Must exist in Coupa. | No* | No | string(6) | any |
Commodity Name | Commodity Name | No | No | string(255) | any |
Asset Tags | Not currently used | No | No | any | |
Account Name | Same as req loader | No | No | string(100) | any |
Account Code | Same as req loader | No | No | string(2020) | any |
Account Segment 1 | Account Segment 1 | No | No | string(100) | any |
Account Segment 2 | Account Segment 2 | No | No | string(100) | any |
Account Segment 3 | Account Segment 3 | No | No | string(100) | any |
Account Segment 4 | Account Segment 4 | No | No | string(100) | any |
Account Segment 5 | Account Segment 5 | No | No | string(100) | any |
Account Segment 6 | Account Segment 6 | No | No | string(100) | any |
Account Segment 7 | Account Segment 7 | No | No | string(100) | any |
Account Segment 8 | Account Segment 8 | No | No | string(100) | any |
Account Segment 9 | Account Segment 9 | No | No | string(100) | any |
Account Segment 10 | Account Segment 10 | No | No | string(100) | any |
Account Segment 11 | Account Segment 11 | No | No | string(100) | any |
Account Segment 12 | Account Segment 12 | No | No | string(100) | any |
Account Segment 13 | Account Segment 13 | No | No | string(100) | any |
Account Segment 14 | Account Segment 14 | No | No | string(100) | any |
Account Segment 15 | Account Segment 15 | No | No | string(100) | any |
Account Segment 16 | Account Segment 16 | No | No | string(100) | any |
Account Segment 17 | Account Segment 17 | No | No | string(100) | any |
Account Segment 18 | Account Segment 18 | No | No | string(100) | any |
Account Segment 19 | Account Segment 19 | No | No | string(100) | any |
Account Segment 20 | Account Segment 20 | No | No | string(100) | any |
Budget Period Name | The name of the budget period | No | No | string(255) | any |
External Order Account Allocation Columns
Column Name | Description | Req'd | Unique | Type | Allowable Values |
---|---|---|---|---|---|
Account Allocation | Indicates the type of row | No | No | - | Account Allocation |
Amount | Amount | No | No | decimal(30,3) | any |
Percent | Percent | No | No | decimal(16,10) | any |
* Service based lines don't have a quantity or UOM
** Requires one of Supplier Name or Supplier Number