Importing your data

User guide · Article 2 of 10

Customers, vendors, stock with its cost, and open orders, from a spreadsheet, with a dry run before anything is written.

Where the importer is

Each import lives on the page that holds the records it creates. On Items, Vendors and Customers, open New and take Import from file at the top of the dialog: adding one record and adding a spreadsheet of them are the same door. Devices, Purchase Orders and Sales Orders keep an Import button in the toolbar. Each one keeps its own history of what was brought in.

WhatWhereWhat each row isCost arrives as
CustomersCustomers, New, Import from fileone customer with contact details and addressesnot applicable
VendorsVendors, New, Import from fileone suppliernot applicable
Serialized stockDevices, Importone unit: model, storage, colour, IMEI or serial, grade, condition, bin, costa cost layer on the unit
Bulk stockItems, New, Import from fileone product with a quantity on handa cost layer for that quantity, at that cost
Open purchase ordersPurchase Orders, Importone line of an order not yet receivedthe line's unit cost
Open sales ordersSales Orders, Importone line of an order not yet shippednot applicable

Open purchase orders and open sales orders are one file, told apart by its type column, so the same page opens from either order list.

One kind per run, as a CSV or a spreadsheet.

Cost arrives as a layer, not a flat number overwritten onto the product. That is what lets the ledger report what the stock you hold actually cost, and what a later sale actually earned, rather than an average that forgets its history.

The four steps

  1. Template. Download the template for the kind you are importing. The column names are the contract; the order does not matter and extra columns are ignored.
  2. Validate. Upload the file. Every row is checked against your lists (a condition that does not exist, a warehouse that is not yours, an IMEI that is already in the workspace) and every problem is shown beside its row with the reason. Nothing is written yet.
  3. Dry run. The wizard shows exactly what would be created, matched or skipped, with counts. A row that matches an existing record (a customer by email, a product by SKU) updates it rather than duplicating it, and the dry run says which.
  4. Commit. The rows are written in one batch, and the batch is recorded with who ran it, when, and what changed. A batch can be reviewed afterwards from the History tab on the same page, which lists that kind's imports only.

Size and speed

A file up to the stated limit on the upload step is processed in one run; a larger history is split by date or by kind. A few thousand units takes a minute or two; the page stays open and reports as it goes.

What is not imported

  • Photos. Images are attached after the import: per unit from the record, or in bulk through the photo tools under Inventory.
  • Sold history older than the workspace's import floor. A workspace created on a date never imports a sale dated before it, so a channel's own history cannot arrive twice as revenue.
  • Listings. Marketplace listings come from the channel connection, not from a file.

After the import

Open Inventory and Products and spot-check a handful of records against the source. The analytics Inventory tab shows the on-hand count and the cost basis the import produced; if the total does not match what you expected, the batch record shows which rows were skipped and why.