Back

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

  1. Settings: taxes, warehouses, price lists, apps, chart of accounts.
  2. Suppliers with their opening balances.
  3. Clients with their opening balances.
  4. Products with their quantities in the warehouses.
  5. The balances of the rest of the accounts (treasuries, banks, assets, capital…) with an opening entry.
  6. 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)

  1. Open the import screen: Import Clients, Import Suppliers, or Import Products (from the Import Products button in the products list).
  2. In the file to be imported, choose a CSV, XLS, or XLSX file.
  3. If the file is CSV, choose the delimiter (comma, semicolon, or Tab).
  4. Enable Import the first row of the file only if the first row is data rather than column headers.
  5. Click Next Step.
  6. 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.
  7. 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.
  8. Click Import.
  9. 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.
Email 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).

  1. Download the example file from the import entries screen.
  2. 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.
  3. Choose the entry status: Draft to review it before posting, or Issue.
  4. 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.