Item Import
Coupa uses the CSV bulk loader to import data into Coupa via integration, or directly through the user interface.
Overview
The Items Import process read files from ./Incoming/Items/
in the SFTP. These files will be moved to the archive folder located at./Incoming/Archive/Items/
before being processed in alphanumeric order.
If you're a newly-implementing customer on R23.3 or newer, the loader includes additional columns. See Improved Item and Catalog Loaders for more info.
Unique Keys
- Item ID
- Item Number
- Item Name
Supplier Item uniqueness is based on a combination of Supplier
, Supplier Part Num
, and Contract
.
Validations
You can use the SFTP loader to update:
Item Name
usingItem Number
Item Number
using theItem Name
.Item Name
andItem Number
by including bothSupplier
andSupplier Part Num
.
For supplier items, depending on the Item loader you use, we do a lookup based on:
Item Number
orName
plusSupplier
(Standard or Background loader through the UI) orSupplier Number
(Standard loader).
You cannot update Contract Number
or Supplier Part Num
on a supplier item.
Item finder logic
Catalog Items are found with the following query terms, in the following order. If a match is found, that item is returned and Coupa stops searching.
- Item Number can only match on one item.
- Manufacturer Name and Manufacturer Part Number return the first created matched item.
- Supplier Part Number and Supplier Aux Part Number (and Contract if present) return the last updated matched item.
- Catalog Item Name returns last updated matched item.
If Supplier Part Number and/or Supplier Aux Part Number are provided, Coupa first searches for an item with attached Supplier Item that matches the provided attributes. This is necessary in cases where the instance is configured with multiple Items with the same Item Name, but different associated Supplier Items. If no match is found with a joined query, a query with only item details are used as a fallback.
Supplier Part Number (and Supplier Aux Part Number) default to the requisition or order line if provided in CSV. If the Supplier Item exists, Supplier Part Number (and Supplier Aux Part Number) default from the Supplier Item. Supplier Part Number (and Supplier Aux Part Number) in CSV are used to try to find a supplier item.
For Supplier Item custom fields, add the prefix Supplier Item before custom field name in the CSV file.
Example:
- Custom field name: Warehouse
- Field name in CSV file: Supplier Item Warehouse
Column Name | Description | Req'd | Unique | Type | Allowable Values |
---|---|---|---|---|---|
Name* | Item Short Name | TRUE | FALSE | string(255) | any |
Description* | Full Item Description | TRUE | FALSE | text(255) | any |
UOM code* | A valid UOM code that has already been configured in Coupa | TRUE | FALSE | string(6) |
Must be active in Coupa |
Purchasable* | If the item is currently purchasable or not | TRUE | FALSE | boolean | Yes/No, True/False, Y/N, T/F |
active | Existing supplier items will be destroyed if set to No | FALSE | FALSE | boolean | Yes/No, True/False, Y/N, T/F |
Purchasing Questionnaire | Purchasing Questionnaire Name that has already been configured in Coupa | FALSE | FALSE | string(100) | any |
RFQ Questionnaire | Request for Quote Questionnaire Name that has already been configured in Coupa | FALSE | FALSE | string(100) | any |
Receiving Questionnaire | Receiving Questionnaire Name that has already been configured in Coupa | FALSE | FALSE | string(100) | any |
Item Number | Item Identification Number | FALSE | TRUE | string(255) | any |
Item Classification | Item Label Name that has already been configured in Coupa. These are used as flags to identify something special about the item. | FALSE | FALSE | string(255) | any |
Image Url | A valid and publically accessible URL where a product image can be downloaded from | FALSE | FALSE | string(255) | any |
Image Filename | relative path to image filename included in uploaded zipfile | FALSE | FALSE | string(255) | any |
Commodity | Commodity Name for the item | FALSE | FALSE | string(255) | any |
Tags | Item Tags. Separate tags with spaces. For tags with more than one word, surround the tag in double quotations: "Tag with spaces". | FALSE | FALSE | string(300) | 30 characters per tag |
Supplier |
Supplier Name. Must Exist in Coupa. If specified, must include
Price
and
Currency
fields.
|
TRUE | FALSE | string(100) | any |
Supplier Number | Supplier Number. Must Exist in Coupa | TRUE | FALSE | string(255) | any |
Preferred | If the Supplier is a preferred supplier | FALSE | FALSE | boolean | Yes/No, True/False, Y/N, T/F |
Contract Number | Contract Number. Must exist in Coupa | FALSE | FALSE | string(50) | any |
Pricing Type | How the Inventory Valuation should be calculated: Fixed Price or Inventory. | FALSE | FALSE | string(255) | Fixed Price, Inventory |
Price | Item price for supplier. Required when the suppler is provided. | TRUE | FALSE | decimal(30,6) | any |
Currency | Item price currency. Must exist and be active in Coupa. Required when the supplier is provided. | TRUE | FALSE | string(6) | Any ISO 4217 three letter currency code that's active in Coupa |
Supplier Part Num | Supplier Part Number | FALSE | FALSE | string(255) | any |
Supplier Aux Part Num | Supplier Auxiliary Part Number | FALSE | FALSE | string(255) | any |
Lead Time | Items Lead Time in Days | FALSE | FALSE | int(11) | any |
Manufacturer | Manufacturer name | FALSE | FALSE | string(255) | any |
Savings % | Savings % | FALSE | FALSE | decimal(8,2) | any |
Require Inspection | Does the item require inspection to be received? | FALSE | FALSE | boolean | any |
Require Asset Tag | Does the item require an Asset Tag to be received? | FALSE | FALSE | boolean | any |
Require RFID | Does the item require an RFID? | FALSE | FALSE | boolean | any |
Storage Quantity | Quantity in which to hold items in inventory | FALSE | FALSE | integer(11) | any |
Storage UOM | UOM in which to hold items in inventory | FALSE | FALSE | string(6) | Must exist in Coupa |
Consumption Quantity | Quantity in which to consume items | FALSE | FALSE | integer(11) | any |
Consumption UOM | UOM in which to consume items | FALSE | FALSE | string(6) | Must exist in Coupa |
Use Pack Weight | Has the item calculate with the Pack Weight instead of item weight | FALSE | FALSE | integer(1) | any |
Pack Quantity | Quanitity of items in a pack | FALSE | FALSE | decimal(30,6) | any |
Pack Weight | The weight of one pack | FALSE | FALSE | decimal(30,6) | any |
Pack Weight UOM | The UOM for a Pack | FALSE | FALSE | string(6) | Must exist in Coupa |
Receive Catch Weight | Forces the item to be received as catch weight | FALSE | FALSE | boolean | Yes/No, True/False, Y/N, T/F |
UNSPSC Code | United Nations Standard Products and Services Code | FALSE | FALSE | string(255) | Any valid UNSPSC code |
Contract Term | The Contract Term by which the pricing tier is decided. Created beforehand in Coupa | FALSE | FALSE | string(255) | Must exist in Coupa |
Allow Partial Qty | If this item allows for partial quantities | FALSE | FALSE | boolean | Yes/No, True/False, Y/N, T/F |
Require Barcode | Does the item require a barcode? | FALSE | FALSE | boolean | Yes/No, True/False, Y/N, T/F |
Inventory Lot Tracking Enabled | Allow item to support lot tracking information | FALSE | FALSE | boolean | true, false |
Inventory Lot Expiration Type | Set expiration type for item | FALSE | FALSE | int(11) | any |
Link 0 Title | If adding URL Links, This is the Title of the Link | FALSE | FALSE | string(255) | any |
Link 0 URL | If adding URL Links, This is the URL of the Link | FALSE | FALSE | string(255) | any |
Link 1 Title | If adding URL Links, This is the Title of the Link | FALSE | FALSE | string(255) | any |
Link 1 URL | If adding URL Links, This is the URL of the Link | FALSE | FALSE | string(255) | any |
Link 2 Title | If adding URL Links, This is the Title of the Link | FALSE | FALSE | string(255) | any |
Link 2 URL | If adding URL Links, This is the URL of the Link | FALSE | FALSE | string(255) | any |
Link 3 Title | If adding URL Links, This is the Title of the Link | FALSE | FALSE | string(255) | any |
Link 3 URL | If adding URL Links, This is the URL of the Link | FALSE | FALSE | string(255) | any |
Link 4 Title | If adding URL Links, This is the Title of the Link | FALSE | FALSE | string(255) | any |
Link 4 URL | If adding URL Links, This is the URL of the Link | FALSE | FALSE | string(255) | any |
Link 5 Title | If adding URL Links, This is the Title of the Link | FALSE | FALSE | string(255) | any |
Link 5 URL | If adding URL Links, This is the URL of the Link | FALSE | FALSE | string(255) | any |
Image 0 Url | If adding images, This is a valid and publicly accessible URL for an image | FALSE | FALSE | string(255) | any |
Image 1 Url | If adding images, This is a valid and publicly accessible URL for an image | FALSE | FALSE | string(255) | any |
Image 2 Url | If adding images, This is a valid and publicly accessible URL for an image | FALSE | FALSE | string(255) | any |
Image 3 Url | If adding images, This is a valid and publicly accessible URL for an image | FALSE | FALSE | string(255) | any |
Image 4 Url | If adding images, This is a valid and publicly accessible URL for an image | FALSE | FALSE | string(255) | any |
Image 5 Url | If adding images, This is a valid and publicly accessible URL for an image | FALSE | FALSE | string(255) | any |
Price (Tier 1) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 2) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 3) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 4) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 5) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 6) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 7) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 8) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 9) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 10) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 11) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 12) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 13) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 14) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 15) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 16) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 17) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 18) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 19) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Price (Tier 20) | Price at different contract spend tiers. Typically goes down as more items are purchased | FALSE | FALSE | decimal(30,6) | any |
Minimum Order Quantity | Supplier Minimum Order Quantity | FALSE | FALSE | any | |
Order Increment | Supplier Order Increment | FALSE | FALSE | any | |
Availability | Availability | FALSE | FALSE | any | |
Availability Date | Availability Date | FALSE | FALSE | any |
New item model columns
These columns are also included in the loader for newly implementing customers on R23.3 or later.
Column Name | Description | Req'd | Unique | Type | Allowable Values |
---|---|---|---|---|---|
Manufacturer Name | Manufacturer name for unique identification of item with manufacturer part number | No | No | string(255) | Any |
Manufacturer Part Number | Manufacturer part number for unique identification of item with manufacturer name | No | No | string(255) | Any |
Coupa Internal Number | Coupa Internal Number (CIN) for unique identification of an item | No | Yes | integer(11) | Any |
Coupa Supplier Internal Number | Coupa Supplier Internal Number (CSIN) for unique identification of a supplier item | No | Yes | integer(11) | Any |
Catalog | Use this field to identify and update Supplier Items that are in a specific catalog. This field can't be used to create a new catalog or add items to an existing catalog. It can only be used to update existing catalog items. | No | No | string(255) | Must be an active catalog |