External Orders Import
Overview
The Purchase Order Import process reads files from the SFTP folder: ./Incoming/PurchaseOrders/
These files will be moved to the archive folder located at ./Incoming/Archive/PurchaseOrders/
before being processed in Alphanumeric order.
Coupa can't update an order via flat file Integration.
The External Purchase Orders FAQ has a lot useful information about loading orders from third party systems.
Keys
- Supplier Name
- Supplier Number
For soft-closing a PO, update the PO with Action = Close
For hard-closing a PO, update the PO a second time with Action = Close
Item finder logic
Coupa searches Supplier Item for Ship To User on Item with Supplier Part Number matching. If nothing found, Coupa searches for the next best Supplier Item for Ship To User.
If your search is successful, refer to Order Line Defaults for All Lines. If you run into errors, refer to Item Finder Errors.
Order line defaults for all lines
Line Attribute |
Source |
Source Attribute |
Conditions |
---|---|---|---|
description |
Item |
name |
|
unit_price |
CSV |
csv_row[ rice] |
If provided |
unit_price |
SupplierItem |
price |
If CSV value (above) is blank |
contract |
#load_contract |
csv_row[:contract_number] or csv_row[:contract_name] |
Matching Name or Number |
contract |
SupplierItem |
contract |
If CSV value (above) is blank |
source_part_num |
CSV |
csv_row[:supplier_part_number] |
If provided |
source_part_num |
SupplierItem |
supplier_part_num |
If CSV value (above) is blank |
supplier_aux_part_num |
CSV |
csv_row[:supplier_aux_part_number] |
If provided |
supplier_aux_part_num |
SupplierItem |
supplier_aux_part_num |
If CSV value (above) is blank |
supplier |
#load_supplier |
Supplier |
Matching Name or Number & "active" |
supplier_site |
CSV |
OrderHeader |
|
uom |
#load_uom |
Uom |
Matching "Uom Code" |
uom |
Item |
Uom |
If CSV value (above) is blank |
commodity |
#load_commodity |
Commodity |
Matching Commodity Name |
currency |
OrderHeader |
Currency |
|
period |
#load_period |
BudgetPeriod |
Matching "Budget Period Name" for AccountType (above) |
line_num |
CSV |
csv_row[:line_number] |
|
quantity |
CSV |
csv_row[:quantity] |
|
need_by_date |
CSV |
csv_row[:need_by_date] |
|
Defaults for free-form requisition lines
Line Attribute |
Source |
Source Attribute |
Conditions |
---|---|---|---|
description |
CSV |
csv_row[:non_catalog_item_description] |
|
Item finder errors
An error will be returned if:
-
"Catalog..." and/or "Manufacturer" details are included in the loader input and no Catalog Item is found. This includes cases where there is an existing match to "Catalog..." details but with different "Manufacturer..." details
-
Catalog Item cannot be found and
Non Catalog Item Description
is blank in loader input -
No Supplier Item is found
-
Neither Price nor Bulk Price are found
The following cases result in a Catalog Item Not Found error message:
-
Catalog Item Number
orCatalog Item Name
are present in the payload, but an item cannot be found -
Catalog Item Name
and MFG details are present in the payload andCatalog Item Name
does not matchName
of the selected Item -
Manufacturer Name
is present in the payload and configured on the selected Item and not matching -
Manufacturer Part Number
is present in the payload and configured on the selected Item and not matching
The Catalog Not Found error message says "Catalog Item not found for LIST OF ATTRIBUTES AND VALUES IN PAYLOAD". For example, the error message could be, "Catalog Item not found for Catalog Item Number with value ABC123, Catalog Item Name with value ABC 123 ITEM."
In addition to the above messages, in the Requisition Header loader, if the setup key csv_requisition_loader_supplier_item_required? is set to true and the loader cannot match a Supplier Item, a Supplier Item Not Found error is returned. For example, the error message could be, "Supplier Item not found for Catalog Item Name with value ABC 123 ITEM, Supplier Part Number with value SUPP123."