# Migrate transactions

{% hint style="info" %}
Also, see [Import Data Templates](https://helpwith.salesorder.com/setup/import-data-templates).
{% endhint %}

## Retaining access to your legacy accounting data

**You should retain** your original accounting system at the minimum cost from the legacy vendor. Historical transaction trails are recorded and completed in your old system.

## Which transactions to migrate?

### Historical (Completed) Transactions

In the [Transaction Migration Primer](https://helpwith.salesorder.com/live-in-5/must-read-data-migration/transaction-migration-primer), I highlighted why you need historical data, here's a reminder. If you haven't read this please read it now.

1. **Customer or Supplier reference:** In both cases, it's useful to be able to refer back to transactions to answer questions about what happened and when. For example, who bought what, or what did you buy from whom? Or how much did they pay, or what did you pay?
2. **Supply and demand forecasting:** Inventory forecasting is critical to making sure you have the right products and their respective quantities at the right time. Buying enough stock to fulfill every order on time, or not holding stock you can't sell is good practice. You know this. You want to make the best use of your working capital right?

So it follows, that you only need Purchase and Sales Order data from your old system.&#x20;

{% hint style="warning" %}
**The above is our opinion**, you can disagree. Our Inventory Forecasting, Standard Sales and Purchasing Reports, and Transaction History on Customer and Supplier Masters just need the above to satisfy the above requirements in (1) and (2).
{% endhint %}

### Open transactions

Transactions that have not completed their journey, specifically Open Sales Orders, Open Sales Quotes, and Open Purchase Orders.&#x20;

If you're using Purchase Quotes, include these.

## Minimum Transaction Data

Here's what you need to export to meet the requirements as described above:

### Sales Orders

Go to <mark style="color:orange;">Setup>Import Data>Upload Transactions</mark> and download the .xlsx template, then open the 'Sales Orders sheet.  Follow the instructions below to add your data.

For Sales Quotes, follow the guidelines below.

**Col.#** - the Column ID in the .xlsx template.

<table><thead><tr><th width="116">Col.#</th><th width="374">Import Template Column Name</th><th>Field Name and Location in Salesorder</th></tr></thead><tbody><tr><td></td><td><mark style="color:blue;">Customer Data</mark></td><td></td></tr><tr><td>A</td><td><p><strong>TP Ref# -</strong> The Ref# as created on the Customer Master in Salesorder. </p><p></p><p>You will have already imported your Customer Masters, and the Ref #s will have been set.</p></td><td><mark style="color:orange;">Customer>Ref #</mark></td></tr><tr><td>B</td><td><p><strong>Ref# -</strong> The original ID of the Transaction being migrated, e.g. Order Number. </p><p></p><p><strong>This must be a unique ID</strong>.</p></td><td><mark style="color:orange;">Sales Order>Ref #</mark> </td></tr><tr><td>C</td><td><strong>Date -</strong> The original date of the Transaction being migrated.</td><td><mark style="color:orange;">Sales Order>Date</mark></td></tr><tr><td>D</td><td><strong>Status -</strong> HISTORICAL for Completed Sales Orders. OPEN for incompleted Sales Orders. See</td><td><mark style="color:orange;">Sales Order>Status</mark></td></tr><tr><td>E</td><td><strong>Owner</strong> - This is optional, if you don't populate this field it will default to the Master Admin user. However, if you populate your Workers list (who have logins) you can add the Worker Name. See <a href="../../company/workers-and-users">Workers and Users</a>. </td><td><mark style="color:orange;">Sales Order>Owner</mark></td></tr><tr><td>F</td><td><strong>Tax Code</strong> - Sales Orders inherit Tax Codes from the Customer Master. For USA wholesalers this is irrelevant to B2B transactions. If you are collecting Tax, i.e. VAT, then set up your <a href="../../accounting/tax">Tax Codes</a> before importing. Then make sure what you enter matches.</td><td><mark style="color:orange;">Sales Order>Tax Code/Group</mark></td></tr><tr><td>G</td><td><strong>Terms</strong> - Sales Orders inherit Payment Terms from the Customer Master. Set up your <a href="../../accounting/payment-terms">Payment Terms</a> before importing. Then make sure what you enter matches.</td><td><mark style="color:orange;">Sales Order>Terms</mark></td></tr><tr><td>I</td><td><strong>Default Site</strong> - The default site is inherited from the Customer Master, and normally set to WHI. You can edit the name on the <a href="../../products-services/sites">Site</a>, and add more Sites. </td><td><mark style="color:orange;">Sales Order>Default Site</mark></td></tr><tr><td>J</td><td><strong>Customer Ref</strong> - The original Customer Purchase Order ID or # on the transaction being migrated.</td><td><mark style="color:orange;">Sales Order>Customer Ref</mark></td></tr><tr><td>K</td><td><strong>Customer Contact</strong> - For COMPLETED Orders, add the name. For OPEN orders, make sure you've imported your <a href="../../organizer/contacts">Contacts</a>.</td><td><mark style="color:orange;">Sales Order>Contact</mark></td></tr><tr><td>L</td><td><strong>Contact</strong> <strong>Tel</strong> - For OPEN orders, make sure you've imported your <a href="../../organizer/contacts">Contacts</a>.</td><td><mark style="color:orange;">Sales Order>Telephone</mark></td></tr><tr><td>M</td><td><strong>Email</strong> - For OPEN orders, make sure you've imported your <a href="../../organizer/contacts">Contacts</a>.</td><td><mark style="color:orange;">Sales Order>Email</mark></td></tr><tr><td>R</td><td><p><strong>Currency</strong> - The Currency of the original transaction being migrated, e.g. USD.</p><p></p><p>You will have already set the Currency on the original Customer when it was imported. </p><p></p><p>To check the Currency acronym, go to <mark style="color:orange;">Accounting>Multi Currency>Add(+) Currency</mark> and refer to the value in the dropdown.</p></td><td><mark style="color:orange;">Sales Order>Currency</mark></td></tr><tr><td>S</td><td><strong>Xrate</strong> - Up to 6 decimal places.</td><td><mark style="color:orange;">Sales Order>Exchange Rate</mark></td></tr><tr><td>T</td><td><strong>Doc Ref</strong> - Must be a preceding Transaction Ref#, e.g. Sales Quote. It will become a Link.</td><td><mark style="color:orange;">Sales Order>Our Ref</mark></td></tr><tr><td>U - AP</td><td><p><strong>Billing And Shipping Addresses</strong></p><p></p><p>Complete as per Field name. </p><p></p><p>Use the State acronym, i.e. AZ for Arizona or whatever your Shipping Carriers mandate. </p><p></p><p>Check Country Names match the names in the 'Country' dropdown List in the Sales Order.</p></td><td><mark style="color:orange;">Sales Order>Addresses</mark></td></tr><tr><td>AQ - AW</td><td><p><strong>Shipping Tracking</strong> </p><p></p><p>Complete as available or required. Contact support@salesorder.com if you're not sure. </p><p></p><p>See <a href="../../setup/configuration/shipping-carriers">Shipping Carriers</a> before proceeding.</p></td><td><mark style="color:orange;">Sales Order>Shipping</mark></td></tr><tr><td>AX - AZ</td><td><strong>Class 1 - 3</strong> - If you're using Classes, set up your <a href="../../setup/configuration/classifications">Classifications</a> before you import.</td><td><mark style="color:orange;">Sales Order>Classification</mark></td></tr><tr><td></td><td><mark style="color:blue;">Line Items</mark></td><td></td></tr><tr><td>BA</td><td><strong>Item Code -</strong> </td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BB</td><td><strong>Description -</strong> </td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BC</td><td><strong>Site -</strong> See Default Site (above)</td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BD</td><td><strong>Quantity -</strong> </td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BE</td><td><strong>UOM</strong> - <em>Unit of Measure</em> (Sales)</td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BF</td><td><strong>Discount</strong> - </td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BH</td><td><strong>Unit Cost -</strong></td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BI</td><td><strong>Tax Code</strong> - See Tax Code (above)</td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BJ</td><td><strong>Tax Rate</strong> - </td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BK</td><td><strong>Sub Total</strong> - </td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BL</td><td><strong>Tax Amount</strong> - </td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr><tr><td>BM</td><td><strong>Total</strong> -</td><td><mark style="color:orange;">Sales Order>Line Item Table</mark></td></tr></tbody></table>

{% hint style="warning" %}
**Import a single transaction and check** it's correct.&#x20;

If you encounter any issues, work with the error message, or send full details including the **SOAXXXXXX** and the **Import Template** to <support@salesorder.com>
{% endhint %}

### Purchase Orders

Go to <mark style="color:orange;">Setup>Import Data>Upload Transactions</mark> and download the .xlsx template, then open the 'Sales Orders sheet.  Follow the instructions below to add your data.

For Purchase Quotes, follow the guidelines below.

**Col.#** - the Column ID in the .xlsx template.

<table><thead><tr><th width="115">Col.#</th><th>Import Template Column Name</th><th>Field Name and Location in Salesorder</th></tr></thead><tbody><tr><td></td><td><mark style="color:blue;">Supplier Data</mark></td><td></td></tr><tr><td>A</td><td><p><strong>TP Ref# -</strong> The Ref# as created on the Supplier Master in Salesorder. </p><p></p><p>You will have already imported your Supplier Masters, and the Ref #s will have been set.</p></td><td><mark style="color:orange;">Supplier>Ref #</mark></td></tr><tr><td>B</td><td><p><strong>Ref# -</strong> The original ID of the Transaction being migrated, e.g. Order Number. </p><p></p><p><strong>This must be a unique ID</strong>.</p></td><td><mark style="color:orange;">Purchase Order>Ref #</mark> </td></tr><tr><td>C</td><td><strong>Date -</strong> The original date of the Transaction being migrated.</td><td><mark style="color:orange;">Purchase Order>Date</mark></td></tr><tr><td>D</td><td><strong>Status -</strong> HISTORICAL for Completed Purchase Orders. OPEN for incompleted Purchase Orders. </td><td><mark style="color:orange;">Purchase Order>Status</mark></td></tr><tr><td>E</td><td><strong>Owner</strong> - This is optional, if you don't populate this field it will default to the Master Admin user. However, if you populate your Workers list (who have logins) you can add the Worker Name. See <a href="../../company/workers-and-users">Workers and Users</a>. </td><td><mark style="color:orange;">Purchase Order>Owner</mark></td></tr><tr><td>F</td><td><strong>Tax Code</strong> - Purchase Orders inherit Tax Codes from the Supplier Master. For USA wholesalers this is irrelevant to B2B transactions. If you are collecting Tax, i.e. VAT, then set up your <a href="../../accounting/tax">Tax Codes</a> before importing. Then make sure what you enter matches.</td><td><mark style="color:orange;">Purchase Order>Tax Code/Group</mark></td></tr><tr><td>G</td><td><strong>Terms</strong> - Purchase Orders inherit Payment Terms from the Supplier Master. Set up your <a href="../../accounting/payment-terms">Payment Terms</a> before importing. Then make sure what you enter matches.</td><td><mark style="color:orange;">Purchase Order>Terms</mark></td></tr><tr><td>I</td><td><strong>Default Site</strong> - The default site is inherited from the Purchase Master, and normally set to WHI. You can edit the name on the <a href="../../products-services/sites">Site</a>, and add more Sites. </td><td><mark style="color:orange;">Purchase Order>Default Site</mark></td></tr><tr><td>J</td><td><strong>Supplier Ref</strong> - The original Supplier Sales Order ID or # on the transaction being migrated.</td><td><mark style="color:orange;">Purchase Order>Customer Ref</mark></td></tr><tr><td>K</td><td><strong>Supplier Contact</strong> - For COMPLETED Orders, add the name. For OPEN orders, make sure you've imported your <a href="../../organizer/contacts">Contacts</a>.</td><td><mark style="color:orange;">Purchase Order>Contact</mark></td></tr><tr><td>L</td><td><strong>Contact</strong> <strong>Tel</strong> - For OPEN orders, make sure you've imported your <a href="../../organizer/contacts">Contacts</a>.</td><td><mark style="color:orange;">Purchase Order>Telephone</mark></td></tr><tr><td>M</td><td><strong>Email</strong> - For OPEN orders, make sure you've imported your <a href="../../organizer/contacts">Contacts</a>.</td><td><mark style="color:orange;">Purchase Order>Email</mark></td></tr><tr><td>R</td><td><p><strong>Currency</strong> - The Currency of the original transaction being migrated, e.g. USD.</p><p></p><p>You will have already set the Currency on the original Supplier when it was imported. </p><p></p><p>To check the Currency acronym, go to <mark style="color:orange;">Accounting>Multi Currency>Add(+) Currency</mark> and refer to the value in the dropdown.</p></td><td><mark style="color:orange;">Purchase Order>Currency</mark></td></tr><tr><td>S</td><td><strong>Xrate</strong> - Up to 6 decimal places.</td><td><mark style="color:orange;">Purchase Order>Exchange Rate</mark></td></tr><tr><td>T</td><td><strong>Doc Ref</strong> - Must be a preceding Transaction Ref#, e.g. Purchase Quote. It will become a Link.</td><td><mark style="color:orange;">Purchase Order>Our Re</mark></td></tr><tr><td>U - AP</td><td><p><strong>Payment And Shipping Addresses</strong></p><p></p><p>Complete as per Field name. </p><p></p><p>Use the State acronym, i.e. AZ for Arizona or whatever your Supplier Shipping Carriers mandate. </p><p></p><p>Check Country Names match the names in the 'Country' dropdown List in the Purchase Order.</p></td><td><mark style="color:orange;">Purchase Order>Addresses</mark></td></tr><tr><td>AQ - AW</td><td><p><strong>Shipping Tracking</strong> </p><p></p><p>Complete as available or required. Contact support@salesorder.com if you're not sure. </p><p></p><p>See <a href="../../setup/configuration/shipping-carriers">Shipping Carriers</a>.</p></td><td><mark style="color:orange;">Purchase Order>Shipping</mark></td></tr><tr><td>AX - AZ</td><td><strong>Class 1 - 3</strong> - If you're using Classes, set up your <a href="../../setup/configuration/classifications">Classifications</a> before you import.</td><td><mark style="color:orange;">Purchase Order>Classification</mark></td></tr><tr><td></td><td><mark style="color:blue;">Line Items</mark></td><td></td></tr><tr><td>BA</td><td><strong>Item Code -</strong> </td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BB</td><td><strong>Description -</strong> </td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BC</td><td><strong>Site -</strong> See Default Site (above)</td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BD</td><td><strong>Quantity -</strong> </td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BE</td><td><strong>UOM</strong> - <em>Unit of Measure</em> (Purchasing)</td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BF</td><td><strong>Discount</strong> - </td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BG</td><td><strong>Unit Price -</strong></td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BI</td><td><strong>Tax Code</strong> - See Tax Code (above)</td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BJ</td><td><strong>Tax Rate</strong> - </td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BK</td><td><strong>Sub Total</strong> - </td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BL</td><td><strong>Tax Amount</strong> - </td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr><tr><td>BM</td><td><strong>Total</strong> -</td><td><mark style="color:orange;">Purchase Order>Line Item Table</mark></td></tr></tbody></table>

{% hint style="warning" %}
**Import a single transaction and check** it's correct.&#x20;

If you encounter any issues, work with the error message, or send full details including the **SOAXXXXXX** and the **Import Template** to <support@salesorder.com>
{% endhint %}

## Importing Transactions with Customer Item Codes

Customer Item Codes are substitutes for your original Item Code. So your Sales Orders in your old system will contain Customer Item Codes.

{% hint style="warning" %}
**August 2023:** &#x20;

**Importing Completed (Historical) Sales Orders**

When you export <mark style="color:red;">COMPLETED</mark> Sales Orders from your old system, make sure you export the column containing your base Item Code as well as the Customer Item code. Keep this export file safe.&#x20;

When you import <mark style="color:red;">COMPLETED</mark> Sales Order data, add the original Item Code in the Item Code Column. Your <mark style="color:red;">COMPLETED</mark> Sales Orders in your system will contain your base Item Code.&#x20;

**Reporting**

This means you can still report Sales by Line Item by Customer, but the report will show your Item Code instead of the Customer Item Code.

In a future release of Salesorder, we'll be addressing this.

**Importing OPEN Sales Orders**

When you export OPEN Sales Orders from your old system, you can use the Customer Item Code in the Item Code column.&#x20;
{% endhint %}

## 'Upload Transactions' Import Template

The 'Upload Transactions' template is located in <mark style="color:orange;">Setup>Import Data</mark>

This template can also be used for extraordinary tasks like importing Purchase Orders received from Customers in Excel format and creating the respective Sales Orders in your Sales Order system.&#x20;

{% hint style="info" %}
**Using QuickBooks?** See this article '[Migrate from QuickBooks](https://helpwith.salesorder.com/live-in-5/must-read-data-migration/migrate-from-quickbooks)'.
{% endhint %}

This template uploads the following transactions:

<table><thead><tr><th width="287">Transaction</th><th>Notes</th></tr></thead><tbody><tr><td>Sales Order</td><td><p><strong>Importing new orders?</strong> </p><p></p><p>Specifically, orders that have NOT been allocated, picked, or partially shipped.</p><p></p><p>You have two options:</p><p></p><p><strong>Open Order:</strong> Leave the 'Status' column (D) blank. As a result, the import will set the Status of the new order to 'OPEN'. </p><p></p><p><strong>Pending Order:</strong> Set the 'Status' column (D) to 'PENDING'. As a result, the import will set the Status of the new order to 'PENDING'.  </p><p></p><p><strong>Importing historical orders?</strong> </p><p></p><p>Specifically, orders that are completed (Shipped and Invoiced). Use this option to bring in Sales Orders whose data will be used for reference or analysis, e.g. forecasting. </p><p></p><p>You have one option: </p><p></p><p><strong>Historical Order:</strong> Set the 'Status' column (D) to 'HISTORICAL'. As a result, the import will set the Status of the new order to 'HISTORICAL'. </p></td></tr><tr><td>Sales Invoice</td><td>Sales Invoices normally post to the General Ledger. To prevent duplication of accounting transactions you should ALWAYS import Sales Invoices with a Status column (D) to 'HISTORICAL'. </td></tr><tr><td>Sales Quote</td><td>Sales Quote Status should not be blank and be set to one of the following values: OPEN, ACCEPTED, REJECTED, On Hold, No Response.</td></tr><tr><td>Sales Refund</td><td>Process these before cut off.</td></tr><tr><td>Cash Sale</td><td>Process these before cut off.</td></tr><tr><td>Customer Credit Note</td><td></td></tr><tr><td>Purchase Order</td><td><p><strong>Importing new orders?</strong> </p><p></p><p>Specifically, orders that have NOT received</p><p></p><p>You have two options:</p><p></p><p><strong>Open Order:</strong> Leave the 'Status' column (D) blank. As a result the import will set the Status of the new order to 'OPEN'. </p><p></p><p><strong>Pending Order:</strong> Set the 'Status' column (D) to 'PENDING'. As a result the import will set the Status of the new order to 'PENDING'.  </p><p></p><p>I<strong>mporting historical orders?</strong> </p><p></p><p>Specifically orders that are completed (Shipped and Invoiced). Use this option to bring in Purchase Orders whose data will be used for reference or analysis, e.g. forecasting. </p><p></p><p>You have one option: </p><p></p><p><strong>Historical Order:</strong> Set the 'Status' column (D) to 'HISTORICAL'. As a result the import will set the Status of the imprted order to 'HISTORICAL'. </p></td></tr><tr><td>Purchase Invoice (Bill)</td><td>Purchase Invoices (Bills) post to the General Ledger. To prevent duplication of accounting transactions you should ALWAYS import Purchase Invoices with a Status column (D) to 'HISTORICAL'.   </td></tr><tr><td>Supplier Credit Note</td><td></td></tr><tr><td>Cash Purchase</td><td></td></tr></tbody></table>

### **Imported your ASIC data?**&#x20;

Before migrating any transactions, you must have completed the import of your ASIC data, specifically:

**A**ccounts: Your Chart of Accounts.

**S**uppliers: Trading partners that supply you with products.

**I**tems: Your product catalo&#x67;**.**

**C**ustomers: Trading Partners that buy goods from you.&#x20;

### Transaction unique identifiers (Ref #s) <a href="#mczmzjbo4ug" id="mczmzjbo4ug"></a>

Decide before you start how you are going to continue any sequences in the new system. Make sure you check transaction unique identifiers, e.g. Invoice number, Order number, etc.

Study the list of Document types in the Lists on the Explorer and go to <mark style="color:orange;">Setup>Configuration</mark> to set the values for the Ref# s. See [Ref#](https://helpwith.salesorder.com/setup/configuration/ref).

### &#x20;<a href="#trlg6fd1o0e6" id="trlg6fd1o0e6"></a>
