Upload Items/SKUs/Products
A product represents a particular style or parent of an item(s). While tem represents an inventory SKU (Stock keeping unit) that can be entered into the system for selling, purchasing and manufacturing.
You can use the Create Item module to manually create SKUs or you can use the Upload Products module if you have variants enabled on your instance and Upload Items if variants are disabled.
Overview
Download the latest CSV template from the “Upload Products” module.
Copy Product information into the CSV template.
Upload the CSV template into Xoro.
Download the CSV template file
Go to “Upload Products” using the Search Menu.
Click on the “Download Template“.
Entering the data into the template
Once you’ve downloaded the template file, you can copy in your data using any spreadsheet software. There are columns that you must complete, and others that are optional. Mandatory fields are marked with a double asterisk (**) prefix.
The file must be a CSV (Comma-separated values) file. The name of your file must end with csv.
Make sure you don’t change any of the column headings from row 1 in the template – these are needed for the file to import correctly.
All date fields will accept a format of MM/DD/YYYY or MM-DD-YYYY.
Be mindful of any leading zeros in your data; some spreadsheet software will trim them automatically without notifying you. This can be resolved by ensuring your columns have correct formatting.
Sometimes long numbers are formatted as scientific notation. Be sure to change the formatting on this data to display these long numbers correctly.
If you’re importing more than 5,000 records, we recommend you split up the file.
Upload Products Template Fields
The following table provides a complete list of all fields available in the Product Upload Template, along with their data types and descriptions.
**BasePartNumber
Text
Enter a Base part number (or style number) here. This is the skeleton SKU from which unique SKUs will be generated. Many SKUs can have the same Base Part. For example, BasePartNumber: TEE-SHIRT, ItemNumber: TEE-SHIRT-RED-LRG.
BodyHtml
Text
It is a unique identifier used for matching products in third party apps.
Handle
Text
It is a unique identifier used for matching products in third party apps like Shopify etc.
Title
Text
A title can be entered for the BasePartNumber here. This title is displayed in the third party apps selling the product.
ProductCategoryName
Text
Enter the category of the product here. For instance, it can be Apparel, Games or Footwear.
Option1Name
Text
Enter the first attribute or variant of the product. For Apparel items, this would typically be Color.
Option1Value
Text
Enter a value for the first variant of the product. For example, if Option1Name is Color, then Option1Value can be Black.
Option1ValueCode
Text
Enter an abbreviated code for Option1Value here. For example, if Option1Value is Black, then Option1ValueCode can be BLK.
Option1Seq*
Numeric
Specify the order for displaying product option 1 within the system.
Option2Name
Text
Enter the second attribute or variant of the product. For Apparel items, this would typically be Size.
Option2Value
Text
Enter a value for the second variant of the product. For example, if Option2Name is Size, then Option2Value can be Medium.
Option2ValueCode
Text
Enter an abbreviated code for Option2Value here. For example, if Option2Value is Medium, then Option2ValueCode can be M.
Option2Seq*
Numeric
Specify the order for displaying product option 2 within the system.
Option3Name
Text
Enter the second attribute or variant of the product. For Apparel items, this can be ignored.
Option3Value
Text
Enter a value for the third variant of the product. For example, if Option3Name is Shape, then Option3Value can be Circle.
Option3ValueCode
Text
Enter an abbreviated code for Option3Value here. For example, if Option2Value is Circle, then Option3ValueCode can be CIR.
Option3Seq*
Numeric
Specify the order for displaying product option 3 within the system.
**ItemNumber
Text
Enter a unique SKU for an item (two of the same SKUs cannot go into the system). Typically this is the BasePartNumber combined with the Option Codes. Make sure the SKU is final, as it will be tricky to change once there are transactions created on it in the system. Note: Two rows cannot have the same Item Number. IMPORTANT: If you are planning to integrate your E-Commerce (Shopify, Woo-Commerce) platform with Xoro then these SKUs MUST match with theirs. If necessary contact your E-Commerce support team for updating SKUs.
**Description
Text
Enter a description for the item.
ItemBarcode
Text
Enter a Barcode associated with the item.
ItemUpc
Text
Enter a UPC code associated with the item.
**ItemTypeName
Text
Enter the type of item in this field. You can choose one from the below options:
Inventory
Labor
Non-Inventory
Service
Shipping
Please note that inventory-type items will have their quantities tracked in the system and they will also need the following columns entered in this template: AssetAccountName, CogsAccountName, AdjAccountName & IncomeAccountName. Selecting any other item type will not have their quantities tracked in the system, and they will only need the following account columns entered: IncomeAccountName & ExpenseAccountName.
Note: If this field is blank, it will be picked up from the upload default values.
**StandardUnitPrice
Numeric
Enter the price at which this item is most commonly sold to the consumer (e.g. 100.50) in your home currency.
CustomPrices
Numeric
CP1 can be customized as any price in the system (Distributor, Wholesale, Retail, etc.) for the home currency. If necessary, enter a price for it here.
**StandardUnitCost
Numeric
Enter the cost at which this item is most commonly purchased from the vendor.
**SellUomCode
Text
Select the unit of measure (UOM) for the item, this controls how the item is sold and purchased. Certain UOM's allow the item to be entered in decimal quantities, such as litres or kilograms. Others only allow integer quantities, like each. For example, if it is sold by the gram, foot, each, etc. Choose from:
kg
g
lb
ea (for integer quantities, choose this)
m
cm
km
lt
ml
gal
sec
hr
min
in
ft
Note: If this field is blank, then it will be picked up from the upload default values.
IsSellableFlag
Text
Enter the value Y if the item will be available to add to Sales modules. Enter the value N if the item cannot be added to the Sales module.
Note: If this field is blank, then it will be picked up from the upload default values.
IsTransferableFlag
Text
Enter the value Y if the item will be available to add to the transfer orders. Enter the value N if the item cannot be added to the transfer orders.
Note: If this field is blank, then it will be picked up from the upload default values.
ForceSalesTaxCode
Text
Enter the value Y if the sales tax for this item will always be selected as the default sales tax unless changed manually.
IsPurchasableFlag
Text
Enter the value Y if the item will be available to add to Purchase modules. Enter the value N if the item cannot be added to the Purchase module.
Note: If this field is blank then it will be picked up from the upload default values.
ReturnableFlag
Text
Enter the value Y/N if the item is returnable or not.
Note: If this field is blank then it will be picked up from the upload default values.
ManufactureItemFlag
Text
Enter the value Y/N if the item is manufactured using the manufacturing order (MO) module.
IsRawMaterialFlag
Text
Enter the value Y/N if the item is consumed to produce another item.
DefaultVendorName
Text
Select a default vendor for this item.
**AssetAccountName
Text
The item’s asset account. This account will be used in future transactions for this item (bills, invoices, etc.).
Note: If this field is blank, then it will be picked up from the upload default values.
**CogsAccountName
Text
The item’s cost of goods sold account. This account will be used in future transactions for this item (e.g. invoice).
Note: If this field is blank, then it will be picked up from the upload default values.
**AdjAccountName
Text
The item’s adjustment account.T his account is used as the default inventory adjustment account.
Note: If this field is blank, then it will be picked up from the upload default values.
**IncomeAccountName
Text
The item’s income account. This account will be used in future transactions for this item (e.g. invoice).
Note: If this field is blank, then it will be picked up from the upload default values.
**ExpenseAccountName
Text
The item’s expense account and it’s available for non-inventory items. This account will be used in future transactions for this item.
Note: If this field is blank, then it will be picked up from the upload default values.
WipAccountName
Text
The item’s WipAccountName account.
Note: If this field is blank, then it will be picked up from the upload default values.
**IncomeReturnAccountName
Text
This is the account used for item returns from the customer.
Length
Numeric
This field allows you to enter item's length.
Width
Numeric
This field allows you to enter item's width.
Height
Numeric
This field allows you to enter item's height.
**SizeUomCode
Text
The unit of measure for the item’s size (e.g. cm, ft, m).
Note: If this field is blank then it will be picked up from the upload default values.
Weight
Numeric
This field allows you to enter item's weight.
**WeightUomCode
Text
The unit of measure for the item’s weight (e.g. lb, kg, g).
Note: If this field is blank then it will be picked up from the upload default values.
AlertNote
Text
Enter an alert note here for this item. Every time this item is added to a module, this alert note will appear to the user.
WebUrl
Text
An internet link for the item can be entered here.
ImagePath
Text
An internet link for the item can be entered here.
SeasonValues
Text
Enter the season values here like Winter, summer etc.
HazmatCode
Text
The item’s hazmat code.
SellPkgQty
Numeric
The quantity that is sold per package.
ReOrderPointQty
Numeric
The minimum quantity to hold of this item is such that when it drops to this amount, the item should be replenished.
ReOrderQty
Text
The amount to re-order when an item’s stock reaches the re-order point quantity.
ActiveFlag
Text
Enter Y/N to Active or Deactivate the product.
Note: If this field is blank then it will be picked up from the upload default values.
IsTaxableOnSale
Text
Enter Y/N to apply tax on sales.
SaleTaxCode
Text
The default tax code to sell this item. This tax is retrieved when an item is added to an estimate or sales order.
IsTaxableOnPurchase
Text
Enter Y/N to apply tax on Purchase.
PurchaseTaxCode
Text
The default tax code to purchase this item. This tax is retrieved when an item is added to a purchase order.
BrandName
Text
This field allows you to enter the brand associated with the item.
GroupName
Text
This field allows you to select a product group for this item.
CategoryName
Text
This field allows you to select a category for this item.
SalesNotes
Text
Any notes related to the sale of the item can be entered in this field.
PurchaseNotes
Text
Any notes related to the purchase of the item can be entered in this field.
CooCodeIso2
Text
Enter the ISO 2 Code associated with the item's country of origin.
GenderCode
Text
This field allows you to enter a specific code that represents the intended gender for a particular item. For instance, if an item is meant for males, you'd enter "M" in this field. The options available for selection include codes like "M" for Male, "F" for Female, "U" for Unisex, "Y" for Youth, "B" for Boy, "G" for Girl, and "WMS" for Women's. This code helps categorize items based on their intended audience or gender suitability within the system.
MaterialName
Text
Enter the item's material in this field.
HSCode
Text
This field allows you to specify the item's hazmat code.
Tags
Text
Enter the tag(s) associated with the item.
WarrantyTime
Text
This field allows you to indicate the duration of the item's warranty coverage.
WarrantyUOM
Text
This field allows you to specify the warranty's UOM.
ShelfLife
Text
This field allows you to enter the item's shelf life.
ExpirationDate
Date
Enter the expiration date for the item.
CARB
Text
Enter the item's CARB.
UseImageForProductPreviewFlag
Text
Enter Y if the image added to the product will be used for product preview.
DefaultStoreName
Text
This field allows you to specify the default store associated with the item.
DefaultLocationName
Text
This field allows you to set the default location for receiving the item.
ProjectClassName
Text
Enter the project/class to be associated with the item.
AlternativeItemNumber1
Text
Enter an alternative item number1 for the item, providing additional identification.
AlternativeItemNumber2
Text
Enter an alternative item number2 for the item, providing additional identification.
AlternativeItemNumber3
Text
Enter an alternative item number3 for the item, providing additional identification.
IsPreSellFlag
Text
Enter Y in this field if the item is available for pre-selling.
DiscontinuedDate
Date
If there is a specific item to be discontinued, you can specify a date in the system to document when it should no longer be used.
TrackingBySerialNumberFlag
Text
Enter Y if you want to enable product tracking using the serial number.
IsProducibleFlag
Text
Enter Y if the item is manufacturable.
TaxCategoryCode
Text
Enter the tax category code to be associated with the item.
IsRestrictToPurchaseFlag
Text
Enter Y to restrict the product from being added to a purchase order.
ReCalculateCustomPrices
Text
Enter Y to enable recalculation of custom prices.
DropShipItemFlag
Text
Enter Y if this is a drop ship item.
ThirdPartyRefNo
Text
Enter the third-party reference number associated with the item.
ItemGtin
Numeric
Specify the GTIN (Global Trade Item Number) associated with the item.
TaxStateMappingProfile
Text
Enter the tax state mapping profile associated with the item.
CBM
Numeric
Enter the CBM value for the item
SearchKeywords
Text
Enter the keywords for
ImportError
Text
If there any errors from an upload, they will be listed in this column.
CustomPriceFormulaProfile
Text
Specify the profile used to create the custom price for the item.
CustomFields
Text
The custom fields allow you to enter data in the custom fields defined for the item, allowing you to capture and store additional information relevant to the item.
SubCategoryName
Text
Enter the sub category of the product here.
VendorListPrice
Numeric
Enter the vendor’s list price for the item. This value is used to define the base purchase price in the item-vendor mapping.
VendorDiscount
Numeric
Enter the discount provided by the vendor on the list price. This helps in calculating the effective purchase cost for the item.
VendorPartNumber
Numeric
Enter the vendor-specific part number for the item. This is used for reference in purchasing transactions and vendor communication.
LeadTime
Numeric
Enter the number of days required by the vendor to supply the item. This value is used for planning and expected delivery calculations.
RecalculateStandardUnitPrice
Text
Enter “Y” to enable recalculation, where the system derives the Standard Unit Price using the Standard Cost and Gross Profit.
CatchWeightFlag
Text
Enter Y to enable catch-weight functionality for the item or N to disable it. When enabled, the item can be managed using catch-weight processing.
BillingRatePerWeightUnit
Numeric
Enter the billing rate per weight unit for the item. This value is used to calculate the billing amount based on the item's weight.
PurchaseRatePerWeightUnit
Numeric
Enter the purchase rate per weight unit for the item. This value is used to calculate the purchase cost based on the item's weight.
*Please note that if the app config "Use product option sequence in upload product" is On, the product options will be uploaded in the sequence defined in the file. If the config is off, the product options will be uploaded in the sequence of the variants in which they are entered in the upload file.
Upload the template
Once you have filled out the CSV file with your data, you can follow the steps below to upload it into Xoro:
The Default values for required columns can be configured before the upload.
Please check the defaults from the Upload Items module before uploading items
If the data in the template is blank or incorrect, then the uploader will fall back and use these specified default values.
Click Browse to select the saved CSV template file.
After the file has been selected, click on Upload to start importing.
While the import is in progress, the summary of the progress will be displayed at the bottom of the screen with the progress bar.
After the import has been completed, the result will be displayed with the message for success or error (if any).
Products will only get uploaded into the system if there are no errors in the file. If there are errors in the file, you can download the error file, fix the errors in the original file, and upload it back into Xoro.
If you want to batch update the existing data, you can download the existing products by clicking on Download Master Data File, update the necessary values in the CSV file, and upload it back into Xoro.
Vendor Mapping via Product Upload
If vendor-related fields such as VendorListPrice, VendorDiscount, VendorPartNumber, or LeadTimeDays are provided in the upload file, the system creates an item-vendor mapping during the upload process. A valid DefaultVendorName must be specified for the mapping to be created.
Follow the steps below to create item-vendor mappings while uploading products:
Steps:
Navigate to the "Upload Products" module and download the latest Product Upload template.

Populate the required product fields in the template.

Enter a valid value in the DefaultVendorName field.

Enter values in the vendor-related fields, such as VendorListPrice, VendorDiscount, VendorPartNumber, or LeadTimeDays, as required.

Upload the completed CSV file.

Once the upload is processed successfully, the products (and variants, if applicable) are created in Item Centre, and the corresponding item-vendor mapping is automatically created for the items in the Item Vendor Mapping Centre.


Uploading Products Without Generating Variants
Users can upload the products without generating variants in three ways:
1. Using the New “Product Header Only” Template
We has added a new product upload template specifically designed for uploading only product headers. This template excludes variant information and focuses solely on the product header details.
Steps:
Go to the "Upload Products" module and download the new "Product Header Only" template.
Fill in the product details.
Ensure that you enable the “Use Product Header Only Template” option before uploading the file.
Upload the template to create product headers without variants.
2. Using the Existing Template and Enabling the “Use Product Header Only Template” Option
One way to upload products without generating variants is by using the existing product upload template. Before uploading the file, ensure that you enable the “Use Product Header Only Template” option in the relevant module. This will ensure that only the product header is created, and variants will not be generated during the upload process.
Steps:
Go to the "Upload Products" module and download the template. Fill in the products details in the template.
Enable the “Use Product Header Only Template” option within the module.
Upload the template as usual. Only the product headers will be created without any associated variants.
3. Using the Existing Template and Setting the “IsHeaderOnly” Column to True
Another method to prevent the generation of variants when using the existing upload template is by using the "IsHeaderOnly" column in the existing template.
You can set the “IsHeaderOnly” column to true. When this column is set to true, the system will only create the product header and will not generate variants for the product.
Please Note: If the "IsHeaderOnly" column is set to true in the first row of the template, it will automatically apply this setting to all subsequent rows in the template. This ensures consistency across all product entries in the file.
Steps:
Go to the "Upload Products" module and download the template. Fill in the products details in the template.
Locate the “IsHeaderOnly” column. Set the value of the “IsHeaderOnly” column to true.
Upload the template. Only the product headers will be created, and no variants will be generated.
Multi-Company Item Upload Workflow
In a multi-company environment, items are initially uploaded into the source company using the standard Upload Products/Upload Items process described above. Once the items have been successfully created, they can be exported and transferred to another company instance using the Data Export Centre and Job Scheduler.
Workflow :
1. Exporting Items to Another Company
Step 1: Navigate to: Menu → Utilities → Data Export → Data Export Centre.
Step 2: From the Search By dropdown, select the appropriate item export utility (for example, Item Master).
Apply any required filters using the Advanced Search option and select the item records that need to be transferred to the destination company.
Step 3: Click Schedule Export - Selected in the option dropdown menu. This option schedules an export only for the selected item records.
Step 4: Choose the appropriate Import/Export Utility Template. Click Schedule.
Step 5: The Job Scheduler window opens. Enter the required scheduler and the FTP server details.
Step 6: Click Save. The export job is now scheduled and will generate the item export file according to the configured schedule.
2. Importing Items into the Destination Company
After the export scheduler has been configured in the source company, an import scheduler must be configured in the destination company.
Step 1: Navigate to Menu → Utilities → Data Import → Upload Inventory in the destination company.
Step 2: Click the dropdown arrow next to the Upload button and select Schedule Import.
Step 3: Enter the required Job Scheduler and FTP details, then click Save.
The destination company will automatically retrieve the exported item file and import the items according to the configured schedule.
This workflow governs how data is synchronized between company instances, including item images and other fields associated with supported entities such as items, customers, vendors, and sales orders. During the export process, users can select the appropriate entity from the Search By dropdown, apply filters using Advanced Search, and choose specific records to be transferred in the Data Export Centre.
Multi-company item synchronization through scheduled exports and imports requires valid Import/Export Utility Templates and correctly configured FTP/SFTP connectivity between the source and destination company environments. It is recommended to test both the export and import schedulers before enabling recurring execution.
Last updated
Was this helpful?