# Upload Customers

Customers in Xoro systems are usually imported via third-party sales channels like Shopify or WooCommerce or are created through the Customer module. However, you can bulk upload customers through the **“Upload Customers”** module.

### Uploading the Customers

You can upload the customer using the steps mentioned below:

* Download the latest CSV template from the Upload Customers module.
* Copy the customer information into the CSV template.
* Upload the CSV template into Xoro.

### Downloading the CSV template file

* Go to the **"Upload Customers"** module using the Search Menu.
* Click on “**Download Template**“.

### 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 the first row 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.

#### Upload Customer Template Fields

<table><thead><tr><th width="280">Column Name</th><th width="160">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>**CompanyName</td><td>Text</td><td>The Customer’s Company Name.</td></tr><tr><td>FirstName</td><td>Text</td><td>The Customer’s First Name.</td></tr><tr><td>LastName</td><td>Text</td><td>The Customer’s Last Name.</td></tr><tr><td>EmailMain</td><td>Text</td><td>The Customer’s Main Email. The invitation to a customer’s system portal will be sent to this email.</td></tr><tr><td>EmailCC</td><td>Text</td><td>The Customer’s CC Email.</td></tr><tr><td>DefaultBillingEmail</td><td>Text</td><td>The Customer’s DefaultBillingEmail.</td></tr><tr><td>DefaultShipmentUpdatesEmail</td><td>Text</td><td>The Customer’s DefaultShipmentUpdatesEmail.</td></tr><tr><td>**MainPhone</td><td>Numeric</td><td>The Customer’s Main Phone Number.</td></tr><tr><td>MobilePhone</td><td>Numeric</td><td>The Customer’s Mobile Phone Number.</td></tr><tr><td>WorkPhone</td><td>Numeric</td><td>The Customer’s Work Phone Number.</td></tr><tr><td>Fax</td><td>Numeric</td><td>The Customer’s Fax Number.</td></tr><tr><td>OtherContactInfo</td><td>Text</td><td>Any Other Contact Information of the customer.</td></tr><tr><td>BillToFirstName</td><td>Text</td><td>The Customer’s BillToFirstName.</td></tr><tr><td>BillToLastName</td><td>Text</td><td>The Customer’s BillToLastName.</td></tr><tr><td>BillToCompanyName</td><td>Text</td><td>The Customer’s BillToCompanyName.</td></tr><tr><td>**BillToAddr</td><td>Text</td><td>The Customer’s BillToAddr.</td></tr><tr><td>BillToAddr2</td><td>Text</td><td>The Customer’s BillToAddr2.</td></tr><tr><td>**BillToCity</td><td>Text</td><td>The Customer’s BillToCity.</td></tr><tr><td>**BillToState</td><td>Text</td><td>The Customer’s BillToState.</td></tr><tr><td>**BillToCountry</td><td>Text</td><td>The Customer’s BillToCountry.</td></tr><tr><td>**BillToPostalZipCode</td><td>Text</td><td>The Customer’s BillToPostalZipCode.</td></tr><tr><td>BillToEmail</td><td>Text</td><td>The Customer’s BillToEmail.</td></tr><tr><td>BillToPhoneNumber</td><td>Numeric</td><td>The Customer’s BillToPhoneNumber.</td></tr><tr><td>**BillToName</td><td>Text</td><td>The Customer’s BillToName.</td></tr><tr><td>ShipToFirstName</td><td>Text</td><td>The Customer’s ShipToFirstName.</td></tr><tr><td>ShipToLastName</td><td>Text</td><td>The Customer’s ShipToLastName.</td></tr><tr><td>ShipToCompanyName</td><td>Text</td><td>The Customer’s ShipToCompanyName.</td></tr><tr><td>ShipToAddr</td><td>Text</td><td>The Customer’s ShipToAddr.</td></tr><tr><td>ShipToAddr2</td><td>Text</td><td>The Customer’s ShipToAddr2.</td></tr><tr><td>ShipToCity</td><td>Text</td><td>The Customer’s ShipToCity.</td></tr><tr><td>ShipToState</td><td>Text</td><td>The Customer’s ShipToState.</td></tr><tr><td>ShipToCountry</td><td>Text</td><td>The Customer’s ShipToCountry.</td></tr><tr><td>ShipToPostalZipCode</td><td>Text</td><td>The Customer’s ShipToPostalZipCode.</td></tr><tr><td>ShipToEmail</td><td>Text</td><td>The Customer’s ShipToEmail.</td></tr><tr><td>ShipToPhoneNumber</td><td>Numeric</td><td>The Customer’s ShipToPhoneNumber.</td></tr><tr><td>ShipToName</td><td>Text</td><td>The Customer’s ShipToName.</td></tr><tr><td>**CustomerTypeName</td><td>Text</td><td><p>Enter Customer Type Name from”Indiviual” or “Company” .</p><p><strong>Note:- List (Individual, Company)</strong></p></td></tr><tr><td>TaxableFlagStr</td><td>Text</td><td>Select the TaxableFlagStr acceptable values: “Y” or “N” if it is taxable or not.</td></tr><tr><td>TaxCodeChar</td><td>Text</td><td>Select the Tax Code for the Customer.</td></tr><tr><td>ForceCustomerTaxCodeStr</td><td>Text</td><td>Select the ForceCustomerTaxCodeStr acceptable values: “Y” or “N”.</td></tr><tr><td>**CurrencyCode</td><td>Text</td><td>Enter the Currency Code for the Customer.</td></tr><tr><td>CreditLimit</td><td>Numeric</td><td>This field allows you to set a credit limit for the customer.</td></tr><tr><td>**RepId</td><td>Text</td><td><p>The sales representative ID for this Customer.</p><p><strong>Note:- Available in User Centre (Module)</strong></p></td></tr><tr><td>CsrId</td><td>Text</td><td><p>Enter the Customer Service Rep ID.</p><p><strong>Note:- Available in User Centre (Module)</strong></p></td></tr><tr><td>CustomerId</td><td>Numeric</td><td>Enter an ID for the customer that acts as a unique identifier for the customer. If left blank, the system will automatically assign an ID to the customer.</td></tr><tr><td>**DefaultAccountReceivableName</td><td>Text</td><td><p>Select the default AR for this customer. This account will automatically be fetched in the relevant modules when this customer is selected.</p><p><strong>Note:-Available in Chart of Accounts (Module)</strong></p></td></tr><tr><td>DefaultLiabilityAccountName</td><td>Text</td><td><p>Select the DefaultLiabilityAccountName for this customer. This account will automatically be fetched in the relevant modules when this customer is selected.</p><p><strong>Note:-Available in Chart of Accounts (Module)</strong></p></td></tr><tr><td>DefaultDepositAccountName</td><td>Text</td><td><p>Select the DefaultDepositAccountName for this customer. This account will automatically be fetched in the relevant modules when this customer is selected.</p><p><strong>Note:-Available in Chart of Accounts (Module)</strong></p></td></tr><tr><td>**DefaultBillingMethodTypeName</td><td>Text</td><td><p>The Customer’s DefaultBillingMethodTypeName.</p><p><strong>Note:- List (Email, Mail)</strong></p></td></tr><tr><td>DefaultPaymentMethodName</td><td>Text</td><td><p>Enter the Customer’s DefaultPaymentMethodName.</p><p><strong>Note:- Available in Payment Method Centre (Module)</strong>. </p></td></tr><tr><td>DefaultPaymentTermName</td><td>Text</td><td><p>Enter the Customer’sDefaultPaymentTermName.</p><p><strong>Note:-Available in Payment Term Centre (Module)</strong></p></td></tr><tr><td>DefaultProjectClassName</td><td>Text</td><td><p>Enter the Customer’s DefaultProjectClassName.</p><p><strong>Note:-Available in Project/Class Centre (Module)</strong> </p></td></tr><tr><td>**DefaultDeliveryMethodName</td><td>Text</td><td><p>Enter the Customer’s DefaultDeliveryMethodName .</p><p><strong>Note:-List (Pick Up, Delivery (Own Truck), Delivery (Third Party))</strong> </p></td></tr><tr><td>DefaultShippingTermName</td><td>Text</td><td><p>Enter the Customer’s DefaultShippingTermName.</p><p><strong>Note:-Available in Shipping Term Centre (Module)</strong></p></td></tr><tr><td>DefaultCarrierName</td><td>Text</td><td>Enter the Customer’s DefaultCarrierName <strong>Note:-Available in Carrier Centre (Module)</strong>.</td></tr><tr><td>DefaultShipServiceName</td><td>Text</td><td><p>Enter the Customer’s DefaultShipServiceName.</p><p><strong>Note:-Available in Ship Service Centre (Module)</strong></p></td></tr><tr><td>DefaultOrderTypeName</td><td>Text</td><td>Enter the default order type (such as standard, express, bulk, etc.) that will be applied to the customer's orders unless otherwise specified.</td></tr><tr><td>ShippingAccountNumber</td><td>Numeric</td><td>Enter the customer’s Shipping Account Number.</td></tr><tr><td>DefaultFOBName</td><td>Text</td><td><p>Enter the Customer’s DefaultFOBName</p><p><strong>Note:-Available in Fob Point Centre (Module)</strong>.</p></td></tr><tr><td>CustomerSinceDate</td><td>Date</td><td>The Customer has been with the company since this date.</td></tr><tr><td>CustomerJobFlagStr</td><td>Text</td><td><p>Select the CustomerJobFlagStr acceptable values: “Y” or “N” if it is “Y” then Enter ther Customer Name in the ParentName Field else leave it as empty.</p><p><strong>Note:-List (Y, N)</strong></p></td></tr><tr><td>ParentName</td><td>Text</td><td><p>Enter ther Customer Parent Name.</p><p><strong>Note:-Available in Customer Centre (Module).</strong></p></td></tr><tr><td>CustomerGroupName</td><td>Text</td><td><p>The Customer’s group if it is a part of one.</p><p><strong>Note-Available in Customer Group Centre (Module)</strong></p></td></tr><tr><td>Tags</td><td>Text</td><td>Enter the Tags for the Customers.</td></tr><tr><td>AccountNumber</td><td>Numeric</td><td>The Customer’s Account Number.</td></tr><tr><td>BusinessNumber</td><td>Numeric</td><td>The Customer’s Business Number.</td></tr><tr><td>JobTitle</td><td>Text</td><td>The Customer’s Job title.</td></tr><tr><td>TaxNumber1</td><td>Text</td><td>A Tax Number for the Customer.</td></tr><tr><td>TaxNumber2</td><td>Text</td><td>A second Tax Number for the Customer.</td></tr><tr><td>AlertNote</td><td>Text</td><td>Enter an Alert Note here for a Customer that will be displayed when the customer is selected in some modules.</td></tr><tr><td>Website</td><td>Text</td><td>The Customer’s Website.</td></tr><tr><td>**ActiveFlagStr</td><td>Text</td><td><p>Acceptable values: “Y” or “N” to Active or Deactivate the Customer.</p><p><strong>Note:-List (Y, N)</strong></p></td></tr><tr><td>IsPortalUser</td><td>Text</td><td>Enter "Y" to designate the user as a portal user, or enter "N" if you prefer this user not to have portal access.</td></tr><tr><td>PortalAccountNumber</td><td>Text</td><td>If the customer is a portal user, enter the portal account number in this field. </td></tr><tr><td>DefaultCustomerMessage</td><td>Text</td><td>In this field, you can enter a personalized message for the customer or choose from pre-written messages to include in the transactions associated with the customer.</td></tr><tr><td>DepositRequiredTypeName</td><td>Text</td><td>If a deposit is required for a customer, specify "Percentage" to set the deposit as a percentage of the total amount, or choose "Amount" to establish a flat deposit value.</td></tr><tr><td>DepositRequiredAmount</td><td>Text</td><td>If a deposit is necessary for the customer, enter the required deposit amount in this field.</td></tr><tr><td>Brands</td><td>Text</td><td>This option is meant for B2B module. Enter the brands to limit for the customer only in B2B ordering modules. The customer will only be able to see products belonging to the selected brands. If you leave it empty, customers will be able to see all products.</td></tr><tr><td>IsRestricted</td><td>Text</td><td>Enter "Y" to enable this. If this setting is enabled, the selected brands in the "Brands" option will not be available for customer to order in B2B modules. If not enabled, customer can only order from the selected brands.</td></tr><tr><td>DisableSellPackageAllocationStr</td><td>Text</td><td>Enter "Y" to enable this setting. If this is enabled, then the wave will only be created if the qty is equal or in multiple of sell package.</td></tr><tr><td>PermissionGroup</td><td>Text</td><td>Enter the permission group to associate with the customer.</td></tr><tr><td>DefaultWaveTemplate</td><td>Text</td><td>Enter the default wave template to associate with the customer.</td></tr><tr><td>DefaultDepositAccountName</td><td>Text</td><td>Select the default account where any deposits made by the customer will be recorded. This account will automatically be fetched in the relevant modules when this customer is selected.</td></tr><tr><td>OpeningBalance</td><td>Numeric</td><td>If necessary, enter a positive or negative amount here for the opening balance. This will generate an invoice or credit memo for the customer and is handy when creating customers that already have an existing balance.</td></tr><tr><td>OpeningBalanceDate</td><td>Date</td><td>Enter the date of the Opening Balance.</td></tr><tr><td>ExchangeRate</td><td>Numeric</td><td>Enter the ExchangeRate.</td></tr><tr><td>StoreCode</td><td>Text</td><td><p>Enter the StoreCode .</p><p><strong>Note:-Available in Store Centre</strong> <strong>(Module)</strong></p></td></tr><tr><td>On Hold</td><td>Text</td><td>This field indicates if the customer is on hold. Enter "Y" if the customer is on hold.</td></tr><tr><td>On Hold Message</td><td>Text</td><td>This field allows you to enter a message for putting the customer on hold.</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>RestrictReleaseSoEmailFlag</td><td>Text</td><td>Enter "Y" in this field if you want to restrict the automatic email sent upon releasing the customer's sales order.</td></tr><tr><td>RestrictOverdueInvoiceEmailFlag</td><td>Text</td><td>Enter Y" to prevent automatic email notifications about overdue invoices from being sent to the customer.</td></tr><tr><td>RestrictDueInvoiceEmailFlag</td><td>Text</td><td>Enter Y" to prevent automatic email notifications about due invoices from being sent to the customer.</td></tr><tr><td>RestrictShipConfirmationEmailFlag</td><td>Text</td><td>Enter "Y" in this field if you want to restrict the automatic email sent to the customer regarding shipping confirmations of their orders.</td></tr><tr><td>RestrictDailyInvoiceEmailFlag</td><td>Text</td><td>Enter "Y" in this field if you want to restrict the daily automatic email notifications related to invoices sent to a specific customer.</td></tr><tr><td>IsBcPstTaxExempt</td><td>Text</td><td>Enter "Y" in this field if you want to exempt the client from BC PST tax.</td></tr><tr><td>IsMbPstTaxExempt</td><td>Text</td><td>Enter "Y" in this field if you want to exempt the client from MB PST tax.</td></tr><tr><td>IsSkPstTaxExempt</td><td>Text</td><td>Enter "Y" in this field if you want to exempt the client from SK PST tax.</td></tr><tr><td>IsQbPstTaxExempt</td><td>Text</td><td>Enter "Y" in this field if you want to exempt the client from QB PST tax.</td></tr><tr><td>ThirdPartyRefNo</td><td>Text</td><td>Enter the third-party reference number to associate with the customer.</td></tr><tr><td>ThirdPartySource</td><td>Text</td><td>Enter the third-party source associated with the customer.</td></tr><tr><td>ThirdPartyDisplayName</td><td>Text</td><td>Enter the name to be displayed for the third party.</td></tr><tr><td>AutoProcessPayment</td><td>Text</td><td>Enter "Y" to enable auto-processing of selected cards to make payments concerning the customer.</td></tr><tr><td>AutoProcessPaymentMethodName</td><td>Text</td><td>Select the payment method to be used when processing auto payment. </td></tr><tr><td>ProcessCardAsDefault</td><td>Text</td><td>Enter "Y" designate a specific card as the default payment method for the specified customer.</td></tr><tr><td>DefaultIncomeAccntName</td><td>Text</td><td>Enter the default income or revenue account to be linked to the customer.</td></tr><tr><td>DefaultIncomeReturnAccntName</td><td>Text</td><td>Enter the default return account to be linked to the customer in case of returns.</td></tr><tr><td>CustomFields</td><td>Text</td><td>The custom fields allow you to enter data in the custom fields defined for the customer, allowing you to capture and store additional information relevant to the customer.</td></tr><tr><td>IsPortalUser</td><td>Text</td><td><p>Enter the IsPortalUser Flag .</p><p><strong>Note:-List (Y, N)</strong></p></td></tr><tr><td>DepositRequiredTypeName</td><td>Text</td><td><p>Enter the DepositRequiredTypeName .</p><p><strong>Note:-List (Percentage, Amount)</strong></p></td></tr><tr><td>IsRestricted</td><td>Text</td><td><p>Enter the IsRestricted Flag .</p><p><strong>Note:-List (Y, N)</strong></p></td></tr><tr><td>Brands</td><td>Text</td><td><p>Enter the Brands .</p><p><strong>Note:-Available in Item Brand Centre (Module)</strong></p></td></tr><tr><td>PriceTicketRequired</td><td>Text</td><td><p>Enter the PriceTicketRequired Flag .</p><p><strong>Note:-List (Y, N)</strong></p></td></tr></tbody></table>

### Uploading 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.
* Click **Browse** to select the saved CSV Template file.
* After the file has been selected, click **Verify & 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).
* Customers 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.

{% hint style="info" %}
If you want to batch update the existing data, you can download the existing Customers by clicking on **Download Existing Customers,** update the necessary values in the CSV file, and upload it back into Xoro.
{% endhint %}

### How to Remove Existing Customer Data via Upload

When updating existing customers using the upload feature, you may also need to remove values from certain fields, such as **DefaultIncomeAccntName**.

To attempt this through upload, follow the steps below:

* Navigate to the **Batch Upload Customers** module and download the existing customers using the **Download Existing Customers** option.

<figure><img src="/files/XToJAx27bHqTlhmi8iOS" alt=""><figcaption></figcaption></figure>

* Locate the customer record you want to update in the CSV file and clear the value in the required field (e.g., *DefaultIncomeAccntName*).

<figure><img src="/files/duqpeZHqTT6W1XyQhqdL" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/bAcYUJoHx9rfnn6j4zZr" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/CnAWxs57isBTxE6t1rha" alt=""><figcaption></figcaption></figure>

* Upload the updated file back into the system. A success message will appear showing the number of customer records updated.

However, leaving a field blank does not always guarantee that the existing value will be removed. In some cases, the system may retain the previous value or fall back to a default configuration.

If the value is not cleared through upload, update it manually by following the steps below:

* Navigate to **Menu → Sales → Customer Section → Customer Centre**

<figure><img src="/files/kk9KkPrTKVVGO4Zc4pJM" alt=""><figcaption></figcaption></figure>

* Double-click on the required customer record whose **Default Income Account** you want to remove.

<figure><img src="/files/dzKweuSDZuK9xt55SVs0" alt=""><figcaption></figcaption></figure>

* In the customer page, go to the **Accounts** section and set the value in the **Default Income Account** field to **"Use Item Income Account"**.

<figure><img src="/files/ZTAhMj3l89Ss7ESLfxSF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ym94NwzF8G7ZQG61yMx3" alt=""><figcaption></figcaption></figure>

* Click **Save**, then go to the **Customer Centre** to view the updated changes.

<figure><img src="/files/cZ2l8oeqpg8DsU989zRF" alt=""><figcaption></figcaption></figure>

This ensures the field is properly cleared when upload behavior does not override existing data.


---

# 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-customers.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.
