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)
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.
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").
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.
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.