# Upload Sales Order

You have the option of uploading sales orders into the system using a CSV file. This can be more efficient when getting hundreds of orders into Xoro at once. If you are performing a similar upload often and you find yourself doing a lot of data manipulation in Excel, then you might want to request a utility to be built.

You can upload the sales orders using the steps mentioned below:

* Download the latest CSV template from the “**Upload Sales Orders**” module.
* Copy sales order information into the CSV template.
* Upload the CSV template into Xoro.

### Downloading the latest CSV template file

* Go to **Upload Sales Orders** module using the Search Menu.
* Click on “**Download Template**”.

  <div align="left"><figure><img src="/files/7xl7Fgeidg2wcR2y1DSB" alt=""><figcaption></figcaption></figure></div>

### Copying the information into the template

Once you’ve downloaded the template file, you can copy 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.

Below are some points to be noted when entering the data into the template.

* 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 the MM-DD-YYYY format.
* 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 (UPC, etc.) are formatted as scientific notation. Be sure to change the formatting on this data to display these long numbers correctly.

{% hint style="info" %}
***If you’re importing more than 5,000 records, we recommend you split up the file.***
{% endhint %}

#### Upload Sales Order Template Fields

<table><thead><tr><th width="261">Column Name</th><th width="109.33333333333331">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>**ThirdPartyRefNo</td><td>Text</td><td>Enter a reference number here for the order. Typically, if the order is from an E-Commerce platform or an older system, then the order number from there can be used. Repeat the same number multiple times contiguously to indicate which row(s) belong to one order. <strong>Use a new **ThirdPartyRefNo for a new order.</strong></td></tr><tr><td>ThirdPartySource</td><td>Text</td><td>If the order came from a third party platform, it can be indicated here.</td></tr><tr><td>ThirdPartyIconUrl</td><td>Text </td><td>Use a URL that ends with “.png” or .”jpg” for an image of the third party source. For example, a Joor order would have a Joor icon.</td></tr><tr><td>ThirdPartyDisplayName</td><td>Text</td><td>Enter the name for the third party platform here.</td></tr><tr><td>**SaleStoreName</td><td>Text</td><td>Enter the store from which the sale is being recorded. Please note that the name here should be exactly as it is in Xoro.</td></tr><tr><td>StoreName</td><td>Text</td><td>This is the store from which the sales order is being shipped. Please note that the name here should be exactly as it is in Xoro. If this is left blank, then sale store name will be used.</td></tr><tr><td>**CurrencyCode</td><td>Text</td><td>Enter a currency for the order. This must match with the customer’s currency. Choose from: USD,CAD,EUR,AUD. For more currencies, contact Xorosoft.</td></tr><tr><td>**CustomerName</td><td>Text</td><td>Enter the full name of the customer linked with the order. This must match exactly with the customer name in Xoro.</td></tr><tr><td>CustomerFirstName</td><td>Text</td><td>Enter the customer's first name.</td></tr><tr><td>CustomerLastName</td><td>Text</td><td>Enter the customer's last name.</td></tr><tr><td>CustomerMainPhone</td><td>Numeric</td><td>Enter the customer's main phone number.</td></tr><tr><td>CustomerEmailMain</td><td>Text</td><td>Enter the customer's main email.</td></tr><tr><td>CustomerPO</td><td>Text</td><td>Enter the Customer PO (purchase order) here for the order. This allows for easy tracking and referencing of the customer's order.</td></tr><tr><td>CustomerId</td><td>Numeric</td><td>Enter a unique identifier for the customer. </td></tr><tr><td>CustomerAccountNumber</td><td>Numeric</td><td>Enter the customer account number.</td></tr><tr><td>**OrderDate</td><td>Date</td><td>Enter the date on which the order is created in MM-DD-YYYY format.</td></tr><tr><td>**DateToBeShipped</td><td>Date</td><td>Enter the date on which the order is to be shipped in MM-DD-YYYY format.</td></tr><tr><td>LastDateToBeShipped</td><td>Date</td><td>Enter the last date for the order to be shipped in the MM-DD-YYYY format.</td></tr><tr><td>DateToBeCancelled</td><td>Date</td><td>Enter the cancellation date of the order in the MM-DD-YYYY format. If the order hasn’t been fulfilled by this date, then it can be canceled.</td></tr><tr><td>OrderClassCode</td><td>Text</td><td>An order can belong to a Class (e.g. Wholesale, Retail, and E-Commerce). Enter the name of that Class Code if you want to categorize your orders. Reports can be generated based on these classes, which can show how your Wholesale is doing compared to your Retail, E-Commerce, etc. This must match exactly to how the Class Code is set up in Xoro.</td></tr><tr><td>OrderClassName</td><td>Text</td><td>An order can belong to a Class (e.g. Wholesale, Retail, and E-Commerce). Enter the name of the Class to categorize your orders. Reports can be generated based on these Classes, which can show how your Wholesale is doing compared to your Retail, E-Commerce, etc. This must match exactly to how the Class Name is set up in Xoro.</td></tr><tr><td>OrderTypeCode</td><td>Text</td><td>If necessary, you can classify the type of order and its code here. This must match exactly to how the Order Type Code is set up in Xoro.</td></tr><tr><td>OrderTypeName</td><td>Text</td><td>If necessary, you can classify the type of order and its name here. This must match exactly to how the Order Type Name is setup in Xoro.</td></tr><tr><td>**ExchangeRate</td><td>Text</td><td>If the order is for a foreign customer, enter the exchange rate here. If your order currency is the same as your system home currency, then put “1” here.</td></tr><tr><td>Memo</td><td>Text</td><td>This field allows you to provide any notes or any additional information related to the sales order. This allows you to add important details or instructions that need to be considered during order processing.</td></tr><tr><td>PaymentTermsName</td><td>Text</td><td>Enter a payment term from the system for this order. This must match up exactly to a payment term in Xoro.</td></tr><tr><td>PaymentTermsType</td><td>Text</td><td>If necessary, enter the code for the payment term here. This must match up exactly to a payment term type in Xoro.</td></tr><tr><td>DepositRequiredTypeName</td><td>Text</td><td>If you require a deposit on this order, select whether that deposit should be an “Amount” or a “Percentage” (without quotes).</td></tr><tr><td>DepositRequiredAmount</td><td>Numeric</td><td>Enter the percentage or amount of deposit required for this order.</td></tr><tr><td>RefNo</td><td>Text</td><td>Enter a reference number for the order here. This can be an internal reference number, as opposed to a third-party reference number.</td></tr><tr><td>Tags</td><td>Text</td><td>Enter any tags here for the order and multiple tags can be separated by a comma.</td></tr><tr><td>SalesRepId</td><td>Text</td><td>Please refer to the User Centre in your Xoro system and enter the UserID of the sales rep for this Sales Order. If a Sales Rep does not exist in Xoro yet, you can create them manually from the User module or with the User Upload template.</td></tr><tr><td>SalesRepName</td><td>Text</td><td>Enter the name of the sales representative for the sales order.</td></tr><tr><td>ShipMethodName</td><td>Text</td><td>Enter a shipping method for the order here. Choose from the available options: Pick Up, Delivery(Own Truck), and Delivery(Third Party).</td></tr><tr><td>CarrierName</td><td>Text</td><td>If the ship method is not Pick Up, enter the carrier for the order’s shipment exactly as it is in Xoro.</td></tr><tr><td>CarrierCode</td><td>Text</td><td>Enter the carrier code for the order’s shipment exactly as it is in Xoro.</td></tr><tr><td>ShipServiceName</td><td>Text</td><td>Enter the ship service name for the order.</td></tr><tr><td>ShipServiceCode</td><td>Text</td><td>Enter the ship service code for the order.</td></tr><tr><td>FobName</td><td>Text</td><td>Specify the freight on board - origin or destination.</td></tr><tr><td>IsOrderTaxExempt</td><td>Text</td><td>Enter "N" to Exempt tax for the order. Enter "Y" to apply tax to the order.</td></tr><tr><td>ShippingTaxItemCode1</td><td>Text</td><td>Enter the ShippingTaxItemCode1 for the Order.</td></tr><tr><td>ShippingTaxItemValue1</td><td>Text</td><td>Enter the ShippingTaxItemValue1 for the Order.</td></tr><tr><td>ShippingTaxItemCode2</td><td>Text</td><td>Enter the ShippingTaxItemCode2 for the Order.</td></tr><tr><td>ShippingTaxItemValue2</td><td>Text</td><td>Enter the ShippingTaxItemValue2 for the Order.</td></tr><tr><td>ShippingTaxItemCode3</td><td>Text</td><td>Enter the ShippingTaxItemCode3 for the Order.</td></tr><tr><td>ShippingTaxItemValue3</td><td>Text</td><td>Enter the ShippingTaxItemValue3 for the Order.</td></tr><tr><td>ShippingTaxItemCode4</td><td>Text</td><td>Enter the ShippingTaxItemCode4 for the Order.</td></tr><tr><td>ShippingTaxItemValue4</td><td>Text</td><td>Enter the ShippingTaxItemValue4 for the Order.</td></tr><tr><td>ShippingTermsName</td><td>Text</td><td>Enter the shipping term for the order. Choose from: Prepaid, Collect, Prepaid&#x26; Billed, Collect&#x26; Allowed, and Third Party Billing.</td></tr><tr><td>ShippingAccountNumber</td><td>Numeric</td><td>Enter the shipping account number here.</td></tr><tr><td>ShippingCost</td><td>Numeric</td><td>Enter the total shipping cost for the order.   </td></tr><tr><td>ShippingNotes</td><td>Text</td><td>Enter the shipping notes for the Order.</td></tr><tr><td>ShipToFirstName</td><td>Text</td><td>Enter the first name of the individual who will receive the shipment at the specified shipping address.</td></tr><tr><td>ShipToLastName</td><td>Text</td><td>Enter the last name of the individual who will receive the shipment at the specified shipping address.</td></tr><tr><td>ShipToName</td><td>Text</td><td>Enter the name of the individual who will receive the shipment at the specified shipping address.</td></tr><tr><td>ShipToCompanyName</td><td>Text</td><td>Enter the name of the company to which the order is being shipped. </td></tr><tr><td>ShipToAddr</td><td>Text</td><td>Enter the details of the shipping address. </td></tr><tr><td>ShipToAddr2</td><td>Text</td><td>This is an additional field that allows you to enter the extended shipping address, in case the address is lengthy.</td></tr><tr><td>ShipToCity</td><td>Text</td><td>Enter the city of the shipping address for the order.</td></tr><tr><td>ShipToCountry</td><td>Text</td><td>Enter the country of the shipping address for the order.</td></tr><tr><td>ShipToCountryISO2</td><td>Text</td><td>Enter the ISO code associated with the country of the shipping address.</td></tr><tr><td>ShipToState</td><td>Text</td><td>Enter the state of the shipping address for the order.</td></tr><tr><td>ShipToStateAbbr</td><td>Text</td><td>Enter the abbreviated code for the shipping state.</td></tr><tr><td>ShipToZpCode</td><td>Text</td><td>Enter the zip code of the state or province of the country of the store where the goods are being shipped.</td></tr><tr><td>ShipToPhoneNumber</td><td>Numeric</td><td>Enter the phone number associated with the shipping address.</td></tr><tr><td>ShipToEmail</td><td>Text</td><td>Enter the email address of the recipient or the individual representing the shipping address.</td></tr><tr><td>ShipToAddrName</td><td>Text</td><td>Assign a name to the shipping address, e.g. Main, Office, etc.</td></tr><tr><td>BuyerName</td><td>Text</td><td>Enter the buyer's name for the SO here. This is typically the customer's name. When the sales order is converted manually to PO, the SO Buyer Name will be transferred to PO as the buyer name. If this column is left empty then SO Customer will be transferred to PO Buyer Name.</td></tr><tr><td>BillToFirstName</td><td>Text</td><td>Enter the first name of the individual linked to the billing address for the sales order.</td></tr><tr><td>BillToLastName</td><td>Text</td><td>Enter the last name of the individual linked to the billing address for the sales order.</td></tr><tr><td>BillToName</td><td>Text</td><td>Enter the full name of the individual linked to the billing address for the sales order.</td></tr><tr><td>BillToAddr</td><td>Text</td><td>Enter the billing address for the sales order.</td></tr><tr><td>BillToAddr2</td><td>Text</td><td>This is an additional field that allows you to enter the extended billing address, in case the address is lengthy.</td></tr><tr><td>BillToCity</td><td>Text</td><td>Enter the city of the billing address.</td></tr><tr><td>BillToCountry</td><td>Text</td><td>Enter the country of the billing address.</td></tr><tr><td>BillToCountryISO2</td><td>Text</td><td>Enter the ISO code associated with the country of the billing address.</td></tr><tr><td>BillToState</td><td>Text</td><td>Enter the state of the billing address.</td></tr><tr><td>BillToStateAbbr</td><td>Text</td><td>Enter the abbreviated code that represents the state or province of the billing address.</td></tr><tr><td>BillToZpCode</td><td>Text</td><td>Enter the zip code of the state or province for the billing address.</td></tr><tr><td>BillToCompanyName</td><td>Text</td><td>Enter the company name of the customer here.</td></tr><tr><td>BillToPhoneNumber</td><td>Numeric</td><td>Enter the phone number associated with the billing address.</td></tr><tr><td>BillToEmail</td><td>Text</td><td>Enter the email address of the recipient or the individual representing the billing address.</td></tr><tr><td>BillToAddrName</td><td>Text</td><td>Assign a name to the billing address.</td></tr><tr><td>CustomerGroupName</td><td>Text</td><td>  Enter the customer group name for the Order.</td></tr><tr><td>**ItemNumber</td><td>Text</td><td>Enter the item’s (SKU) number in the order. This property is unique to this item, another item cannot be created with the same Item Number.</td></tr><tr><td>ItemUpc</td><td>Text</td><td>Enter the item’s UPC code.</td></tr><tr><td>ItemBrand</td><td>Text</td><td>Enter the item’s brand here.</td></tr><tr><td>Description</td><td>Text </td><td>Enter the item’s description.</td></tr><tr><td>**UnitPrice</td><td>Numeric</td><td>Enter the unit price of the item.</td></tr><tr><td>**Qty</td><td>Numeric</td><td>Enter the item’s quantity on the sales order.</td></tr><tr><td>QtyAllocated</td><td>Numeric</td><td>Enter the quantity of the item reserved/allocated for the customer.</td></tr><tr><td>Discount</td><td>Numeric</td><td>Enter the discount to be applied to the item.</td></tr><tr><td>DiscountTypeName</td><td>Text</td><td>The field is used to indicate the type of discount applied to the item.</td></tr><tr><td>SellUOMName</td><td>Text</td><td>Enter the unit of measurement in which the item will be sold.</td></tr><tr><td>ItemNotes</td><td>Text  </td><td>This field allows you to enter any notes or additional information related to the item.</td></tr><tr><td>TaxItemCode1</td><td>Text</td><td>Enter the TaxItemCode1 for the Item.</td></tr><tr><td>TaxItemValue1</td><td>Numeric</td><td>Enter the TaxItemValue1 for the Item.</td></tr><tr><td>TaxItemCode2</td><td>Text</td><td>Enter the TaxItemCode2 for the Item.</td></tr><tr><td>TaxItemValue2</td><td>Numeric</td><td>Enter the TaxItemValue2 for the Item.</td></tr><tr><td>TaxItemCode3</td><td>Text</td><td>Enter the TaxItemCode3 for the Item.</td></tr><tr><td>TaxItemValue3</td><td>Numeric</td><td>Enter the TaxItemValue3 for the Item.</td></tr><tr><td>TaxItemCode4</td><td>Text</td><td>Enter the TaxItemCode4 for the Item.</td></tr><tr><td>TaxItemValue4</td><td>Numeric</td><td>Enter the TaxItemValue4 for the Item.</td></tr><tr><td>DepositAmount</td><td>Numeric</td><td>Enter the deposit amount recorded for the order.</td></tr><tr><td>DepositPercentage</td><td>Numeric</td><td>If a percentage of the order total has been received as a deposit, please input the deposit percentage into this specific column.</td></tr><tr><td>DepositAccountName</td><td>Text</td><td>Enter the name of the account for recording the deposit.</td></tr><tr><td>LiabilityAccountName</td><td>Text</td><td>Enter the liability account name for the order.</td></tr><tr><td>PaymentMethodName</td><td>Text</td><td>Enter the customer's payment method here. It can be 'Cash', 'Credit Card', 'Cheque', etc.</td></tr><tr><td>AutoDepositTotalAmount</td><td>Numeric</td><td>Enter the total deposit amount recorded for the order.</td></tr><tr><td>CustomerServiceRepId</td><td>Text</td><td>Enter the ID of the customer service representative.</td></tr><tr><td>ItemCategoryName</td><td>Text</td><td>Enter the item category name in this field.</td></tr><tr><td>ItemGroupName</td><td>Text</td><td>Enter the item group name here.</td></tr><tr><td>ItemShippingCost</td><td>Numeric</td><td>Enter the cost incurred for shipping the item.</td></tr><tr><td>ItemShippingTaxItemCode1</td><td>Text</td><td>Enter the ItemShippingTaxItemCode1.</td></tr><tr><td>ItemShippingTaxItemValue1</td><td>Text</td><td>Enter the ItemShippingTaxItemValue1.</td></tr><tr><td>ItemShippingTaxItemCode2</td><td>Text</td><td>Enter the ItemShippingTaxItemCode2.</td></tr><tr><td>ItemShippingTaxItemValue2</td><td>Text</td><td>Enter the ItemShippingTaxItemValue2.</td></tr><tr><td>ItemShippingTaxItemCode3</td><td>Text</td><td>Enter the ItemShippingTaxItemCode3.</td></tr><tr><td>ItemShippingTaxItemValue3</td><td>Text</td><td>Enter the ItemShippingTaxItemValue3.</td></tr><tr><td>ItemShippingTaxItemCode4</td><td>Text</td><td>Enter the ItemShippingTaxItemCode4.</td></tr><tr><td>ItemShippingTaxItemValue4</td><td>Text</td><td>Enter the ItemShippingTaxItemValue4.</td></tr><tr><td>ThirdPartyTotalAmount</td><td>Numeric</td><td>Enter the total amount charged by the third party.</td></tr><tr><td>ShipFromAddrName </td><td>Text</td><td>Enter the name of the address from where the goods will be shipped, such as Main, Office, Warehouse, etc. </td></tr><tr><td>ShipFromFirstName </td><td>Text</td><td>Enter the first name of the contact person at the shipping location from where the order will be dispatched.</td></tr><tr><td>ShipFromLastName </td><td>Text</td><td>Enter the last name of the contact person at the shipping location from where the order will be dispatched.</td></tr><tr><td>ShipFromName</td><td>Text</td><td>Enter the company name of the store from where the order will be dispatched.</td></tr><tr><td>ShipFromAddr</td><td>Text</td><td>Enter the address details of the store from where the order will be dispatched.</td></tr><tr><td>ShipFromAddr2</td><td>Text</td><td>This is an additional field to capture the address of the store.</td></tr><tr><td>ShipFromCity</td><td>Text</td><td>Enter the city of the shipping store.</td></tr><tr><td>ShipFromState</td><td>Text</td><td>Enter the state of the shipping store.</td></tr><tr><td>ShipFromStateAbbr</td><td>Text</td><td>Enter the abbreviated code that represents the state or province from which the order will be shipped.</td></tr><tr><td>ShipFromZpCode </td><td>Text</td><td>Enter the zip code of the state or province from which the order will be shipped.</td></tr><tr><td>ShipFromCountry</td><td>Text</td><td>Enter the country of the shipping store.</td></tr><tr><td>ShipFromCountryISO2</td><td>Text</td><td>Enter the ISO 2 code that respresents the country of the shipping store.</td></tr><tr><td>ShipFromPhoneNumber</td><td>Numeric</td><td>Enter the phone number of the shipping store.</td></tr><tr><td>ShipFromEmail</td><td>Text</td><td>Enter the contact email of the shipping store.</td></tr><tr><td>BaseUomCode</td><td>Text</td><td>Enter the unit of measurement for storing the item.</td></tr><tr><td>SellUomCode</td><td>Text</td><td>Enter the unit of measurement for selling the item.</td></tr><tr><td>VASItemName</td><td>Text</td><td>If a VAS item has been applied, enter the VAS (Value-Added Service) item name.</td></tr><tr><td>VASItemCost</td><td>Text</td><td>Enter the cost for the VAS (Value-Added Service) item.</td></tr><tr><td>ReCalcTaxesFlag</td><td>Text</td><td>Enter "Y" to trigger the recalculation of the taxes.</td></tr><tr><td>ReCalcShippingTaxesFlag</td><td>Text</td><td>Enter "Y" to trigger the recalculation of the shipping taxes.</td></tr><tr><td>CustomerItemNumber</td><td>Text</td><td>Enter the item number assigned by the customer in the item customer mapping module.</td></tr><tr><td>IsEdiFlag</td><td>Text</td><td>Enter "Y" if the order is sent from the EDI integrator.</td></tr><tr><td>IsEdiConfirmationSentFlag</td><td>Text</td><td>This flag shows whether we have received the confirmation from the EDI. Acceptable values: "Y" or "N".</td></tr><tr><td>OrderLineClassName</td><td>Text</td><td>Enter the item class name here.</td></tr><tr><td>OrderLineClassCode</td><td>Text</td><td>Enter the item class code here.</td></tr><tr><td>DefaultLocationName</td><td>Text</td><td>Enter the default location from where the item will be picked.</td></tr><tr><td>QtyRemainingToShip</td><td>Text</td><td>Enter the quantity of the item remaining to be shipped.</td></tr><tr><td>AutoReleaseSalesOrder</td><td>Text</td><td>Enter "Y" to automatically release the sales order.</td></tr><tr><td>AutoWaveSalesOrder</td><td>Text</td><td>Enter "Y" to automatically wave the sales order.</td></tr><tr><td>WaveAllocationCode</td><td>Text</td><td>Enter the method of allocation for the sales order, such as "Full Qty Line(s) Only",  "Allocate What's Available", or "Full Order(s) Only".</td></tr><tr><td>AutoLockWave</td><td>Text</td><td>This field allows you to lock the wave line. Enter "Y" here to lock the wave.</td></tr><tr><td>LineNumber</td><td>Text</td><td>This field allows you to enter the unique identifier for a specific line item within the sales order.</td></tr><tr><td>CustomerParentName</td><td>Text</td><td>If the customer is a child customer, please enter the parent customer here.</td></tr><tr><td>EdiStatusId</td><td>Text</td><td>This flag depicts whether the order is accepted, rejected, or accepted with change by the EDI.</td></tr><tr><td>IsEdiAckRequiredFlag</td><td>Text</td><td>If this flag is set to true, after fetching the order, the order file will be sent back for confirmation. Acceptable values: "Y" or "N".</td></tr><tr><td>ItemIdentifierCode</td><td>Text</td><td>This field allows you to input a unique code or identifier that represents each individual item in the sales order.</td></tr><tr><td>ItemUnitCost</td><td>Numeric</td><td>Enter the unit cost of the item.</td></tr><tr><td>TotalTaxAmount</td><td>Numeric</td><td>Enter the total ax amount for the order.</td></tr><tr><td>ReCalcPricing </td><td>Text</td><td>Enter "Y" here to enable recalculation of the item price.</td></tr><tr><td>LineStatus</td><td>Text</td><td>This field is used to indicate the current status of the line within the sales order.</td></tr><tr><td>ShipStatus</td><td>Text</td><td>Indicate the shipping status of the item, selecting either "Allocated," "Partially Allocated," or "Shipped".</td></tr><tr><td>IsBcPstTaxExempt</td><td>Text</td><td>Enter "Y" if the sales order qualifies for exemption from British Columbia PST tax. Enter "N" to apply the tax.</td></tr><tr><td>IsMbPstTaxExempt</td><td>Text</td><td>Enter "Y" if the sales order qualifies for exemption from Manitoba PST tax. Enter "N" to apply the tax.</td></tr><tr><td>IsSkPstTaxExempt</td><td>Text</td><td>Enter "Y" if the sales order qualifies for exemption from Saskatchewan PST tax. Enter "N" to apply the tax.</td></tr><tr><td>IsQbPstTaxExempt</td><td>Text</td><td>Enter "Y" if the sales order qualifies for exemption from Quebec PST tax. Enter "N" to apply the tax.</td></tr><tr><td>OrderThirdPartyRefNumber</td><td>Text</td><td>If the order is from an E-Commerce platform or an older system, then the order number or the order ID from there can be used. Repeat the same number multiple times contiguously to indicate which row(s) belong to one order.</td></tr><tr><td>ThirdPartyRefName</td><td>Text</td><td>This column allows you to input a reference name for a third party associated with the sales order. It could be a shipping company, logistics provider, or any external entity relevant to the order.</td></tr><tr><td>AutoApplyVASRule</td><td>Text</td><td>Enter "Y" if you want to automatically apply the VAS rule to the order.</td></tr><tr><td>AddressVerificationIdentifierCode</td><td>Text</td><td><p></p><p>Enter the address verification identifier code here. Address verification identifier code column specifies how the addresses are going to be validated in the system. Below are the valid identifier codes to be used in upload purchase order.</p><ul><li>10 Do not validate address.</li><li>20 Validate address with warning.</li><li>30 Validate address with error.</li></ul></td></tr><tr><td>VoidAndCreate</td><td>Text</td><td>This field is used for updating an existing order. Enter "Y" to trigger the process. If this flag is enabled, the existing order will be voided and a new sales order will be created with the updated details.</td></tr><tr><td>KeepOriginalOrderNumber</td><td>Text</td><td>When updating the sales order, input "Y" here to retain the original order number for the updated order.</td></tr><tr><td>ProductCategoryName</td><td>Text</td><td>This field allows you to enter the product category associated with the item.</td></tr><tr><td>AccountCode3PL</td><td>Text</td><td>This field allows you to enter the account code associated with the third-party logistics (3PL) provider.</td></tr><tr><td>ItemQualityCode</td><td>Text</td><td>This field allows you to specify the code representing the quality level of the item, such as “New,” “Refurbished,” or “Used.”</td></tr><tr><td>IsVASRequired</td><td>Text</td><td>This field allows you to indicate whether VAS are required for this order.</td></tr><tr><td>VASInstruction</td><td>Text</td><td>This field allows to defined additional instructions for VAS.</td></tr><tr><td>AlternativeItemNumber1</td><td>Text</td><td>This field allows you to enter an alternative item number1 for the item, providing additional identification.</td></tr><tr><td>AlternativeItemNumber2</td><td>Text</td><td>This field allows you to enter an alternative item number2 for the item, providing additional identification.</td></tr><tr><td>AlternativeItemNumber3</td><td>Text</td><td>This field allows you to enter an alternative item number3 for the item, providing additional identification.</td></tr><tr><td>LastShipDate</td><td>Date</td><td>This field allows you to enter the latest permissible date for shipping the order to meet customer delivery requirements.</td></tr><tr><td>QtyShipped</td><td>Numeric</td><td>This field allows you to enter the quantity of items that have been shipped as part of the order.</td></tr><tr><td>LastWaveAttemptDttm</td><td>Date</td><td>This field allows you to enter the date and time of the last wave associated with the order.</td></tr><tr><td>PickedDttm</td><td>Date</td><td>This field allows you to specify the date and time when the order was picked.</td></tr><tr><td>PackedDttm</td><td>Date</td><td>This field allows you to specify the date and time when the order was packed.</td></tr><tr><td>ReadyToShipDttm</td><td>Date</td><td>This field allows you to enter the date and time when the order was marked as ready to ship.</td></tr><tr><td>MinimumATSPercent</td><td>Numeric</td><td>This field allows you to enter the minimum available to sell percentage of the item required to proceed with the order.</td></tr><tr><td>FillRate</td><td>Numeric</td><td>This field allows you to enter the percentage of the ordered quantity that has to available for the order to be processed.</td></tr><tr><td>FillRateFailedFlag</td><td>Text</td><td>This flag indicates whether the fill rate for the order has fallen below the acceptable threshold. </td></tr><tr><td>RequirePackAndHold</td><td>Text</td><td>This is a flag indicating whether the order requires packing and holding services for additional processing.</td></tr><tr><td>EIN</td><td>Text </td><td>This field allows you to enter the Employer Identification Number (EIN) of the customer or vendor involved in the order.</td></tr><tr><td>DutyPaymentTerms</td><td>Text</td><td>This field allows you to enter the terms of payment for any applicable duties, such as “Prepaid” or “Collect.”</td></tr><tr><td>CustomComment</td><td>Text</td><td>This field provides you a space to add additional comments or notes related to the sales order, provided by the customer or sales representative.</td></tr><tr><td>ResidentialFlag</td><td>Text</td><td>This field is a flag indicating whether the delivery address is a residential location.</td></tr><tr><td>PriorityCode</td><td>Text</td><td>This field allows you to assign a priority to the wave associated with the order, if any.</td></tr><tr><td>Option1Value</td><td>Text</td><td>This field allows you to enter the value for Option 1 related to the item.</td></tr><tr><td>Option1Code</td><td>Text</td><td>This field allows you to specify the code associated with Option 1 for the item.</td></tr><tr><td>Option2Value</td><td>Text</td><td>his field allows you to enter the value for Option 2 related to the item.</td></tr><tr><td>Option2Code</td><td>Text</td><td>This field allows you to specify the code associated with Option 1 for the item.</td></tr><tr><td>BasePartNumber</td><td>Text</td><td>This field allows you to enter the product base part number associated with the item.</td></tr><tr><td>ProductTitle</td><td>Text</td><td>This field allows you to enter the title assigned to the product.</td></tr><tr><td>PtoId</td><td>Text</td><td></td></tr><tr><td>LastWaveNumber</td><td>Text</td><td>This field specifies the unique identifier of the last wave associated with the order.</td></tr><tr><td>LastWaveDatetime</td><td>Date</td><td>This field specifies the time and date when the latest wave associated with the order was generated.</td></tr><tr><td>PromiseDate</td><td>Text</td><td>Enter the promise date for the sales order. Users can batch upload the promise date from here. Please note that when a CSV file contains multiple records with the same reference number, the Promise Date from the first record will be applied to the Sales Order Header.</td></tr><tr><td>Season</td><td>Text</td><td>This field shows the season associated with the item.</td></tr><tr><td>TotalPrice</td><td>Numeric</td><td>Displays the total amount of the sales order line, calculated based on quantity, unit price, discounts, and applicable taxes.</td></tr><tr><td>ImportError</td><td>Text</td><td>If there any errors from an upload, they will be listed in this column.</td></tr><tr><td>CustomFields</td><td>Text</td><td>The custom fields columns allow you to enter data in the custom fields defined for the sales order entity. This feature provides the flexibility to capture and store additional information relevant to the sales order, tailoring the system to your unique business requirements</td></tr><tr><td>AutoPrintSalesOrder</td><td>Text</td><td>Enter <strong>"Y"</strong> to automatically send the Sales Order to the Print Service Queue upon creation via upload/API. Enter <strong>"N"</strong> or leave blank to create the Sales Order without generating a print request.</td></tr><tr><td>PrintRequesterName</td><td>Text</td><td>Enter the name of the requester for the print job. This value is used by the system to create and track the print request in the <strong>Print Service Queue</strong>.</td></tr><tr><td>BrandName</td><td>Text</td><td>Enter the brand name to associate with the sales order. This is a header-level field and is applied to the entire order.</td></tr></tbody></table>

{% hint style="info" %}
The **AutoPrintSalesOrder** and **PrintRequesterName** fields will work only when the **“Enable Xoro Print Service”** app configuration is enabled.
{% endhint %}

### Uploading the template

Once you have filled the CSV file with your data, you can follow the steps below to upload it to 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 fallback and use these specified default values.

  <figure><img src="/files/z40xqcQPWcqaBh8GW04t" alt=""><figcaption></figcaption></figure>
* Click **Browse** to select the saved CSV template file.

  <figure><img src="/files/WhPfbLFzUUG5K1cWzxrG" alt=""><figcaption></figcaption></figure>
* Then check the Re-Calculate Taxes if you want to re-calculate the taxes based on customer’s default tax code and ignore any tax information provided in the upload file.

  <figure><img src="/files/xuL13QrG90VzBVBoRqJr" alt=""><figcaption></figcaption></figure>
* You can check the Apply Pricing Rules if you want to overwrite the prices of order lines with the prices defined in the pricing rules module and ignore any unit price provided in the file. Please note that this can change the order totals.

  <figure><img src="/files/WgZFpFZStnD7ELeATnlg" alt=""><figcaption></figcaption></figure>
* You can also choose to automatically apply the VAS item. Check this option to auto-apply the VAS item and cost to order lines based on the custom VAS rules defined in the system. If this option is selected, then the system will ignore the VAS item provided in the upload file. *Please note that this may affect the order totals.*

  <figure><img src="/files/rDZZLQFG3dxh3QXAoVS3" alt=""><figcaption></figcaption></figure>
* If you are updating an existing sales order, you can check the "**Auto void and create new purchase order**" box. If you've opted for this, you'll subsequently be prompted about whether you wish to "**Keep Original SO Number".** Opting for this will automatically void the previous sales order and generate a new one with the same order number. \*\*Please Note: All linkings will be removed associated with the existing order.\
  However, if you have marked the respective flags in the upload file, you can skip this step.

  <figure><img src="/files/kygPdxHFhcFSnyPNvi8q" alt=""><figcaption></figcaption></figure>
* After the file has been selected, click on **Upload** to start importing.

  <figure><img src="/files/IQ82tr7hDLiBMFCPExs3" alt=""><figcaption></figcaption></figure>
* 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).
* Sales Orders 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.
* While uploading Sales Orders, the system will **not allow the upload if the Items have their Active & Sellable flags turned Off.** Only the Orders with Active and Sellable Items will be uploaded successfully.

### Updating the Sales Order via upload

XoroERP allows you to update the sales order via upload. This is useful when you want to update multiple sales order. “VoidandCreate” and “KeepOriginalOrderNumber” columns in the upload template are used to update the sales order.

If both of these fields are set to true, the existing Sales Order will be voided and a new Sales Order will be created with the same Order number. Additionally, you can set the “KeepOriginalOrderNumber” field to false to update the Sales Order number as well.

{% hint style="info" %}
Please Note: To update, the Order must be in “Open” or “Released” status and must be Unallocated.
{% endhint %}

**How does it work?**

* Navigate to the Data Export Centre and set the search by field to **“Sales Order Detail”**.
* Now, select the lines of the Sales Order you want to update and click on **Options > Export To Local – Selected**.
* Open the download file, make the desired updates, and save the file. Make sure to set the **“IsVoidAndCreate”** field to **“Y”**. This will void the existing Order and create a new order with the updated information.
* If you want to keep the original Order number, input the value **“Y”** in the column **“KeepOriginalOrderNumber”**. Alternatively, input **“N”** to change the Order number.
* Now, go to the Upload Sales Order module and upload the file.
* The existing Sales Order will be voided, and a new Sales Order will be created in the system with the same number and updated details. The new Order will be created with **“Open”** status.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xorosoft.com/xoroerp-1/utilities/data-imports/upload-sales-order.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
