Migrating and Setting Up Data from Another System into your Account
If you are moving to the system from another accounting program or from Excel files, you can migrate your core data by importing Excel (XLS or XLSX) or CSV files instead of entering it manually: clients and suppliers with their opening balances, products with their quantities in the warehouses, the balances of the rest of the accounts with an opening entry, and previous invoices if you want. This guide explains the correct order of migration, the import steps, the columns of each file, and how the system records the balances.
🛈
Note: the order matters: taxes, warehouses, and price lists are written in the import files by name, so they must already be added in the system before you import the files that refer to them.
Before You Start
- Export your data from the old system to Excel: clients, suppliers, products, stock balances, and the trial balance on the migration date.
- Choose the migration date (such as the first day of the month or of the financial year), and use it as the date for all opening balances.
- Add in the system beforehand: taxes, warehouses, price lists, and unit templates if you use them.
- Review the chart of accounts in the system, and add the accounts you need with the same names or codes as your old accounts; there is no import for the chart of accounts, and entries are imported onto existing accounts.
- Write the dates in the files in the date format set in your account, or in the year-month-day format.
Recommended Order
- Settings: taxes, warehouses, price lists, apps, chart of accounts.
- Suppliers with their opening balances.
- Clients with their opening balances.
- Products with their quantities in the warehouses.
- The balances of the rest of the accounts (treasuries, banks, assets, capital…) with an opening entry.
- Previous invoices (optional) if you want to keep the old sales record.
⚠
Warning: don’t import the clients’, suppliers’, or inventory balance a second time inside the opening entry; the system records their entries automatically when they are imported, and repeating them doubles the balances.
Import Steps (Clients, Suppliers, and Products)
- Open the import screen: Import Clients, Import Suppliers, or Import Products (from the Import Products button in the products list).
- In the file to be imported, choose a CSV, XLS, or XLSX file.
- If the file is CSV, choose the delimiter (comma, semicolon, or Tab).
- Enable Import the first row of the file only if the first row is data rather than column headers.
- Click Next Step.
- In Map Fields, link each System Field to its Field in the File. The system suggests the mapping based on your column headers; review it. Fields marked with * are mandatory.
- To update existing records instead of creating new ones, enable Update existing … data with the new data and choose the field the system uses to match the records.
- Click Import.
- Follow the result: clients and products are imported in the background, and a screen appears showing the number of successful and failed records and the reason for each error. The result for suppliers appears directly.
If a background import stops for more than 3 minutes without completing, a Resume button appears to continue it.
Importing Suppliers
| System Field | Mandatory | What to Enter |
|---|---|---|
| Business Name | Yes | The supplier’s name. |
| Supplier Number | No | If left blank, it is created automatically. |
| Email, Phone, Mobile | No | Contact details. |
| First Name, Last Name | No | The contact person’s name. |
| Address, City, State, Postal Code, Country | No | The country by name or by code. |
| Opening Balance | No | The amount due to the supplier on the migration date, in your account’s default currency. |
| Opening Balance Date | No | The migration date. |
Existing suppliers can be matched by email, supplier number, or business name. If a matching supplier exists and you haven’t enabled updating, the row is rejected as a duplicate row.
Importing Clients
| System Field | Mandatory | What to Enter |
|---|---|---|
| Business Name | Yes | The client’s name. |
| Client Code | No | If left blank, it is created automatically. |
| No | Must be valid and not used for another client. | |
| Phone, Mobile, Address, Country | No | Contact details. |
| Type | No | 1 or Individual for an individual, 2 or Business for a company. |
| Price Groups | No | The name of an existing price group. |
| Category | No | Created automatically if it doesn’t exist. |
| Credit Limit, Credit Period | No | Appear when credit management is enabled. |
| Opening Balance | No | The amount due from the client on the migration date. |
| Opening Balance Date | No | The migration date; if left blank, today’s date is used. |
Existing clients can be matched by email, client code, phone, or mobile. In Saudi accounts, the national address fields appear (building number, street name, district…).
Importing Products
| System Field | Mandatory | What to Enter |
|---|---|---|
| Name | Yes | The product name. |
| Product Code, Barcode | No | The barcode is at least 5 digits and not used for another product. |
| Type | No | product for a product, service for a service, bundle for a bundle product. The default is product. |
| Selling Price, Purchase Price, Minimum Selling Price | No | Numbers. The purchase price is used as the cost of the imported quantity. |
| Tax 1, Tax 2 | No | The name of an existing tax; if left blank, the products’ default taxes are applied. |
| Category, Brand, Supplier | No | Created automatically if they don’t exist. |
| Track Stock | No | 1 or 0. |
| Stock Quantity | No | The balance on the migration date. |
| Warehouse | No | The name of an existing warehouse; if left blank, the quantity is added to the main warehouse. |
| Tracking Type | No | quantity_only, serial, lot, expiry_date, or lot_and_expiry_date. |
| Price Lists | No | A column for each price list, by its name. |
Click Download Example on the import products screen to get a file with the columns suited to your account’s settings. Existing products can be matched by name, product code, or barcode.
How the System Works
Opening Balances for Clients and Suppliers
- Each client’s or supplier’s balance is recorded as an opening balance in their account, and appears in their account statement.
- An automatic entry is created between the client’s or supplier’s account and the Opening Balances account.
- The client’s balance is recorded in the client’s default currency if there is one, and the supplier’s balance in your account’s default currency.
- If you re-import a client or supplier that has an opening balance in the same currency, the old balance is replaced by the new one and is not added to it.
Product Quantities
- The stock quantity value is the required balance, not a quantity to be added: the system calculates the difference between the number and the current balance and adds or deducts it.
- The differences are recorded in approved stock requisitions of the type Manual Import Inbound or Manual Import Outbound, one requisition per warehouse (with up to 500 lines in the requisition).
- The quantity is recorded at the purchase price in the file, and a new product’s average cost becomes equal to the purchase price.
Example: a new product, the stock quantity in the file is 50, and the purchase price is 20: a Manual Import Inbound requisition is created for 50 units at a cost of 1,000, and the average cost becomes 20. If you re-import with a quantity of 60, only 10 is added.
⚠
Warning: the quantities of products tracked by serial number, lot number, or expiry date cannot be entered through import. Import the products without a quantity, then add their quantities with a stock addition requisition or a stocktaking sheet with the tracking data.
Balances of the Rest of the Accounts (the Opening Entry)
To migrate the balances of treasuries, banks, assets, liabilities, and capital, import an opening entry from Import Entries (from the Import button in the entries list).
- Download the example file from the import entries screen.
- Write a row for each account: the entry code (the same code for all the entry’s rows), the date, the account name or code, and the debit or credit.
- Choose the entry status: Draft to review it before posting, or Issue.
- Upload the file, map the columns, then click Import.
- All the rows that carry the same entry code form a single entry, and the date, currency, and description must be identical in them.
- The maximum is 10,000 rows in the file, and 500 rows in a single entry.
- Debit and credit are positive numbers. Put the difference between debit and credit on the Opening Balances account or the capital account so that the entry balances.
- Don’t put the clients’, suppliers’, and inventory balances in this entry if you have already imported them.
Previous Invoices (Optional)
You can import old sales invoices from Import Invoices, choosing their status (Draft or Issue) and numbering them automatically. The maximum is 10,000 rows and 500 lines per invoice.
⚠
Warning: imported invoices create entries, deduct stock, and increase clients’ balances. If you imported the opening balances of clients and inventory, don’t import the invoices that preceded the migration date with the same effect; otherwise the balances are duplicated.
Validation Rules
The system rejects the entire file in the following cases:
- A CSV file without a delimiter chosen.
- A file with only one column.
- A file in which the number of columns differs from one row to another.
- A file with no data rows.
- A mandatory field that isn’t mapped to a column.
And it skips the row alone (stating the reason in the results) in the following cases:
- A mandatory field is empty, a date is in an incorrect format, or a number is negative.
- An email that is invalid or used for another client.
- A record that matches an existing record and you haven’t enabled updating.
- A warehouse, tax, or unit template that doesn’t exist.
- A barcode that is already used or is fewer than 5 digits.
- A quantity for a product tracked by serial number, lot number, or expiry date.
- Exceeding the client count limit in your plan.
Frequently Asked Questions
- Can I import the chart of accounts? No, add the accounts manually in the chart of accounts before importing entries.
- I imported the products twice and they were duplicated. Why? Because the import creates new records unless you enable updating and choose the matching field (such as the product code).
- I changed a product’s quantity in the file and re-imported. Is the quantity added? No, the balance is adjusted to become the number written.
- Why did the client’s balance appear with today’s date? Because the opening balance date was empty or in an incorrect format.
- Can I import purchase invoices? There is no import for purchase invoices; migrate the amounts due to suppliers as an opening balance.
- How do I migrate the quantities of products that have a serial number? Import the products without a quantity, then add them with a stock addition requisition or a stocktaking sheet with the serial numbers.
- Is there an example file for clients and suppliers? No, use the field names shown in this guide as column headers so the system suggests the mapping automatically.