Migrate from Zoho, QuickBooks, Wave, or any platform via CSV/Excel
Names, contact info, credit limits, payment terms
Vendor names, contacts, payment terms
SKUs, prices, categories, opening stock levels
Historical invoices with line items (customers must exist first)
Quotations/estimates with line items
Expense records with categories, amounts, payees
The import wizard is a 5-step process that handles messy real-world data — informal names, missing fields, varied column headers from any platform.
Select what you want to import: customers, suppliers, products, invoices, quotes, or expenses. Download a CSV template for the exact format expected.
Drag and drop a .csv, .xlsx, or .xls file. StockPulse reads the file in your browser — nothing is uploaded to the server until import time. Excel files with multiple header rows are handled automatically.
StockPulse auto-detects common column names from Zoho, QuickBooks, Wave, and other platforms. Review the auto-mapping and adjust any columns manually. Set duplicate handling (skip or update) and entity-specific options.
See a full table preview of your data as StockPulse will import it. Rows with issues (missing required fields, invalid values) are flagged in red. Fix issues in the source file and re-upload, or proceed with valid rows.
Click Import and the records are created in batches of 50. Categories, brands, and expense categories are auto-created if they don't exist. At the end you get a summary of created, skipped, and errored rows.
The importer recognises many common column name variations from popular platforms. Only bold fields are required — everything else is optional.
| Field | Auto-detected Names |
|---|---|
| Product Name * | name, product name, item, description |
| SKU / Code | sku, code, product code, item code, part # |
| Cost Price | cost, cost price, buying price, purchase price, purchase rate |
| Selling Price | price, retail price, selling price, unit price, rate, sales rate |
| Quantity | qty, quantity, in stock, stock, on hand, opening stock |
| Category | category, group, type, product type |
| Brand | brand, manufacturer, make |
| Barcode | barcode, ean, upc |
| Unit | uom, unit, unit of measure |
| Field | Auto-detected Names |
|---|---|
| Customer Name * | name, customer name, company, business name, client |
| email, email address, customer email | |
| Phone | phone, mobile, telephone, contact number |
| Address | address, street, billing address, location |
| KRA PIN | tax pin, kra pin, vat number, tin |
| Credit Limit | credit limit, credit, limit |
| Payment Terms | payment terms, terms, net days, credit days |
Each row is one line item. Rows with the same invoice number are grouped into a single invoice.
| Field | Auto-detected Names |
|---|---|
| Invoice Number * | invoice number, invoice no, invoice #, inv no |
| Customer Name | customer name, customer, client, bill to |
| Invoice Date | date, invoice date, issue date |
| Due Date | due date, payment due |
| Description * | description, item, product, line item, particulars |
| Quantity | qty, quantity |
| Unit Price | unit price, price, rate, amount |
| Discount % | discount, discount % |
| Tax Rate % | tax rate, tax %, vat rate |
| Field | Auto-detected Names |
|---|---|
| Amount * | amount, total, expense amount, cost |
| Date | date, expense date, transaction date |
| Category | category, expense category, type, account |
| Description | description, details, memo, narration |
| Payee | payee, paid to, vendor, supplier |
| Payment Method | payment method, method, mode of payment |
| Reference | reference, ref, receipt no, transaction id |
Choose to skip duplicates (default) or update existing records. Customers are matched by name+phone or email. Suppliers by name or email. Invoices and quotes are always skip-only (financial records cannot be overwritten).
When importing products, enable stock import to record opening stock levels. Select the target warehouse and the cost column will be used to calculate weighted average cost.
Categories, brands, and expense categories are automatically created if they don't already exist. No need to set them up beforehand.
Imported invoices are created as "finalized" with full balance (no payments recorded). Stock is not deducted — these are historical records. Record payments separately after import.
Download a template CSV for each data type to see the expected column format. Templates include example rows and notes.