Importing Data

Moving in from spreadsheets or another system? Svalog bulk-imports your master data - products, customers, suppliers, bills of materials and users - from Excel or CSV. Download a ready-made template, fill it in, and upload; existing records are never overwritten.

Overview

Svalog lets you bulk-import master data from Excel (.xlsx) or CSV files. This is useful when setting up a new company, migrating from another system, or adding large numbers of records at once.

The following entities support import:

  • Products - from the Products list page
  • Customers - from the Customers list page
  • Suppliers - from the Suppliers list page (Purchasing module)
  • Bills of Materials - from the Bills of Materials list page (Manufacturing module)
  • Users - from the Users page (admin only)
Import requires Manager or Admin role (Users import requires Admin).

How to Import

The import workflow is the same for all entity types:

  • 1. Go to the list page for the entity you want to import (e.g. Products).
  • 2. Click Download Template - this downloads a pre-formatted Excel file with column headers, example rows, and dropdown validation where applicable.
  • 3. Fill in the template. Delete the example rows. Required columns are highlighted in yellow.
  • 4. Save the file as .xlsx or .csv.
  • 5. Click Import on the same list page and select your file.
  • 6. Svalog processes each row and reports how many records were created, skipped (already exist), and any errors.
Existing records are never overwritten - rows that match an existing code or email are skipped. Check the result summary after each import for details.

Products Import

Required columns (highlighted yellow in the template): sku, product_name, product_type.

All columns:

  • sku - Unique product code. Rows with an existing SKU are skipped.
  • product_name - Display name of the product.
  • description - Optional longer description.
  • sell_price - Selling price (default: 0 if left blank).
  • base_cost - Purchase/production cost (default: 0 if left blank).
  • product_type - Must be one of: finished_good, raw_material, service. A dropdown is provided in the template.
  • category - Optional free-text category label.
  • is_saleable - true/false. If left blank, defaults to true for finished_good and service, false for raw_material.
  • is_purchasable - true/false. If left blank, defaults to true for raw_material, false otherwise.
  • is_manufactured - true/false. If left blank, defaults to true for finished_good, false otherwise.
  • is_component - true/false. If left blank, defaults to true for raw_material, false otherwise.
  • reorder_point - Stock level that triggers a reorder alert.
  • reorder_quantity - How many units to reorder.
  • lead_time_days - Supplier lead time in days.
  • uom_name - Name of the unit of measure (must match an existing UoM in Svalog, e.g. "kg", "pcs").
The product_type column has a dropdown in Excel. Smart defaults are applied automatically for the flag columns (is_saleable, is_purchasable, is_manufactured, is_component) based on product_type if you leave those columns blank.

Customers Import

Required columns: customer_code, customer_name.

All columns:

  • customer_code - Unique customer identifier. Rows with an existing code are skipped.
  • customer_name - Full name of the customer or company.
  • customer_type - company or individual (dropdown in template). Defaults to company if blank.
  • email - Contact email address.
  • phone - Contact phone number.
  • tax_id - VAT or tax registration number.
  • billing_address_line1 - First line of billing address.
  • billing_address_line2 - Second line (optional).
  • billing_city - City.
  • billing_postal_code - Postal / ZIP code.
  • billing_country - Country name or code.
  • payment_terms - Default payment terms in days (e.g. 30).
  • currency - Default currency code (e.g. EUR, USD).
  • notes - Internal notes.

Suppliers Import

Required columns: supplier_name.

All columns:

  • supplier_code - Optional unique code. If omitted, one is auto-generated.
  • supplier_name - Full name of the supplier. Rows with the same name are skipped.
  • contact_person - Primary contact name.
  • email - Contact email address.
  • phone - Contact phone number.
  • tax_id - VAT or tax registration number.
  • payment_terms - Default payment terms in days.
  • currency - Default currency code.
  • notes - Internal notes.

Bills of Materials Import

BOM import uses one row per component. A BOM with multiple components spans multiple rows - the bom_name, output_product_sku, and output_qty columns repeat on each row for the same BOM.

Required columns: bom_name, output_product_sku, output_qty, component_sku, component_qty.

All columns:

  • bom_name - Name of the Bill of Materials. BOMs with the same name are skipped.
  • output_product_sku - SKU of the finished product this BOM produces. Must exist in Svalog.
  • output_qty - How many units of the finished product this BOM produces.
  • output_uom_name - Unit of measure for the output quantity (optional; must match an existing UoM).
  • version - Optional version label (e.g. "1.0", "Rev B").
  • component_sku - SKU of the component used. Must exist in Svalog.
  • component_qty - Quantity of the component required per production run.
  • component_uom_name - Unit of measure for the component quantity (optional).
  • scrap_factor - Extra material allowance as a decimal, e.g. 0.05 = 5% extra. Leave blank or 0 for no scrap.
  • notes - Notes for this component line.
All products referenced (output and components) must already exist in Svalog before importing BOMs.

Users Import

Admin only. Required columns: email, full_name, role.

All columns:

  • email - Login email address. Must be unique. Rows with an existing email are skipped.
  • full_name - The user's display name.
  • username - Optional alternative login identifier.
  • role - Must be one of: admin, manager, staff (dropdown in template).
  • allowed_modules - Comma-separated list of modules the user can access, e.g. "sales,analytics". Leave blank to allow all company modules. Not applicable for admin role.
Imported users are created without a password. An invite link must be shared with each user so they can set their own password. You can find the invite link on each user's detail page after import.