Skip to main content
GiroPS
Data Migration
5 min read

How to migrate from Excel spreadsheets to an inventory and contact app without losing data

Excel spreadsheets are a great starting point when you open a small business, but as soon as multiple people update stock, broken formulas, duplicate rows, and outdated file versions start costing real money. Moving your product catalog and customer-supplier records from Excel into a dedicated inventory app takes less than an afternoon when you clean your columns first and follow a structured bulk import order.

Key Takeaway

To switch from Excel to an inventory app cleanly, first merge and deduplicate your spreadsheets, then bulk-import your product list using the template (including SKUs, barcodes, prices, tax rates, low-stock alerts, and initial stock with its target warehouse). Next, bulk-import your customer and supplier contacts, enter each contact's opening balance via a Balance Adjustment or open invoice, and archive the old spreadsheet as read-only.

When Excel spreadsheets start hurting your daily stock and cash control

Spreadsheets feel flexible because any cell accepts any text, yet that same lack of rules is why inventory sheets slowly drift away from reality. One accidental sort applied to a single column instead of the whole table scrambles prices across hundreds of products, while copying a file between a laptop and a phone creates conflicting versions like 'Stock_Final_v3.xlsx' where nobody knows which count is current.

Even more importantly, a static spreadsheet cannot connect a sale to your stock and your customer ledger at the same time. When you sell an item on credit in Excel, you have to manually subtract the quantity on the inventory tab, type a row on the customer tab, and later update the cash tab when payment arrives. Migrating to a structured inventory and contact app turns those three manual edits into a single transaction.

Bulk importing your product catalog and initial warehouse stock from Excel

Before uploading your product file, spend twenty minutes cleaning your existing sheet so you do not bring years of messy rows into your new system. Remove discontinued items you will never restock, standardize measurement units (such as Piece, Kg, Box, or Meter), and check that every barcode and stock code (SKU) is unique.

When you transfer your cleaned columns into the GiroPS product Excel template, you can import both your catalog details and your starting physical quantities in one step. Alongside the product name, SKU, barcode, unit, purchase price, sales price, VAT/tax rate, and low-stock alert threshold, the template lets you enter the initial stock quantity and specify which warehouse those items will enter.

  • Fill in core catalog fields: product name, unique stock code (SKU), barcode, and measurement unit
  • Enter purchase price, sales price, and applicable VAT/tax rate without currency symbols inside number cells
  • Set a critical stock (low-stock alert) level for fast-moving items so reorder notifications work from day one
  • Include the initial stock quantity and target warehouse name to generate opening stock movements automatically

Bulk importing customer and supplier contacts vs. setting opening balances

Your second Excel import brings over everyone you do business with—customers, suppliers, and other commercial contacts. Using the contact import template, you can upload the contact name, contact code, contact type (Customer, Supplier, or Other), phone number, email address, street address, tax office and tax ID number, and the contact's default currency in a single batch.

Pay close attention to one critical rule during migration: contact opening balances are not included inside the contact Excel template. Putting historical debt figures directly into a static contact profile sheet often causes duplicate entries or mismatched currency totals. Instead, once your contacts are imported, open each contact's detail page and record their current agreed receivable or payable using a 'Balance Adjustment / Opening Balance' transaction—or enter the unpaid open invoices directly.

Data CategoryFields Included in the Excel Import TemplateHow Opening Quantities / Balances Are SetPre-Import Check to Run
Product CatalogName, SKU, barcode, unit, buy/sell price, VAT rate, critical stockIncluded directly in the product Excel rowRemove duplicate barcodes and text inside price cells
Initial StockInitial stock quantity and target warehouse columnCreated automatically into the selected warehouse on importEnsure the warehouse name matches an existing warehouse
Contact DirectoryName, code, type (Customer/Supplier/Other), phone, email, address, tax info, currencyImported as clean contact profiles with zero starting balanceVerify contact type and ISO currency code per contact
Contact Opening BalanceNot part of the contact Excel templateEntered per contact via Balance Adjustment / Opening Balance or open invoiceReconcile net receivable or payable total before entry

Formatting rules that prevent Excel import errors on the first try

Most spreadsheet import errors happen because cells contain hidden formatting meant for human eyes rather than software parsers. Numeric columns—such as purchase price, sales price, tax percentage, critical stock level, and initial stock—must contain pure numbers without currency abbreviations, 'pcs' suffixes, or merged header rows.

Barcode and phone number columns require special care in Excel because spreadsheets often convert long digit strings into scientific notation (such as 8.69E+12) or strip leading zeros. Format barcode, SKU, tax ID, and phone columns as Plain Text before saving, and review the import preview screen to confirm every column maps cleanly before confirming.

  • Delete empty summary rows, subtotals, and merged title banners at the top or bottom of the sheet
  • Format barcode, stock code, and phone number columns as Text so long numbers are never rounded
  • Keep prices and quantities strictly numeric without text labels like 'units' or currency symbols
  • Split giant spreadsheets with thousands of rows into logical batches by category for faster verification

First-week checklist: archiving old sheets and verifying stock accuracy

The biggest threat to a successful migration is not a technical error—it is staff continuing to type into the old Excel file out of habit while others record sales in the app. On switch-over day, move all old spreadsheets into a dated archive folder and mark them read-only so they remain available for historical reference without allowing new edits.

During your first week live in GiroPS, run a quick cycle count on your top twenty best-selling products using your phone's barcode scanner, and compare your top ten customer and supplier balances against your archived sheet. Once those core numbers match, your team can issue invoices, log collections, and track stock from mobile or web with complete confidence.

Step-by-Step Implementation

1. Clean and deduplicate your existing Excel sheets

Remove inactive products, merge duplicate customer names, format barcode columns as text, and strip currency text out of numeric price cells.

2. Create your warehouses and import the product Excel template

Download the product template, fill in product name, SKU, barcode, unit, buy/sell prices, VAT rate, critical stock level, initial stock, and warehouse, then upload.

3. Bulk import your Customers, Suppliers, and Other contacts

Populate the contact template with contact name, code, type (Customer/Supplier/Other), phone, email, address, tax office/number, and currency, then run the import.

4. Enter contact opening balances via Balance Adjustment or open invoices

Since contact opening balances are not in the Excel template, open each contact profile with an active balance and record a Balance Adjustment / Opening Balance or unpaid invoice.

5. Lock the old Excel file as read-only and run a first-week spot check

Archive your old spreadsheets as read-only to prevent double entry, and perform a quick barcode stock check on your fastest-moving items during week one.

Practical scenario

Example: Weekend Excel migration for an electrical and lighting supply shop

Marcus runs a lighting and electrical shop with 640 active products and 85 trade contacts tracked across four separate Excel workbooks. On Saturday afternoon, he deletes 90 obsolete items, pastes the remaining 640 items into the product import template with their Main Warehouse initial stock, and imports all 85 customer and supplier records in two minutes. He then spends thirty minutes entering opening balances for the 22 contacts who currently have open receivables or payables, marks his old Excel folder read-only, and opens Monday morning entirely on the app.

Migration StageSource Data in Old ExcelAction Taken in the AppTime Spent & Result
1. Product & Stock Import640 items with barcodes, prices, VAT, and shelf countsUploaded via Product Excel Template into Main Warehouse25 mins cleanup, instant import of catalog and stock
2. Contact List Import65 Customers and 20 Suppliers with phone, tax ID, currencyUploaded via Contact Excel Template with type and currency10 mins formatting, 85 contact cards created cleanly
3. Opening Balances17 customer tabs and 5 supplier payables outstandingEntered via Balance Adjustment / Opening Balance in contact details30 mins entry, 100% match with final spreadsheet totals
4. Week-One VerificationOld workbooks moved to a read-only archive folderQuick barcode count on top 30 fast-moving electrical itemsZero double entry and accurate low-stock alerts

Common Pitfalls & How to Avoid Them

Looking for an opening balance column inside the contact Excel import template.
Import contact cards first using the template, then set each contact's starting receivable or payable from their detail page via Balance Adjustment / Opening Balance or open invoices.
Leaving currency symbols or measurement words inside price and quantity cells.
Keep price, VAT rate, critical stock, and initial stock cells strictly numeric; put the unit name and currency code in their dedicated columns.
Allowing Excel to turn 13-digit EAN barcodes into scientific notation like 8.69E+12.
Format the barcode and SKU columns as Text before saving your file so every digit imports intact.
Continuing to update the old Excel sheet 'just in case' after switching to the app.
Set the old spreadsheet to read-only on migration day; updating two systems in parallel guarantees conflicting stock and balance numbers within days.

Frequently Asked Questions

Can I import initial stock quantities together with my product list?

Yes. The product Excel template includes columns for initial stock quantity and the target warehouse, so your product cards and opening warehouse stock are created in a single import.

Why isn't there an opening balance column in the contact Excel template?

Contact balances affect financial ledgers and currency accounts. To keep your ledger clean and auditable, you import contact profiles first and then enter their starting debt or credit from the contact's detail screen using Balance Adjustment / Opening Balance or by recording open invoices.

What if I have both customers and suppliers in my spreadsheet?

You can specify the contact type—Customer, Supplier, or Other—right inside the contact Excel template so each record is categorized properly upon import.

What happens if my Excel file has a formatting mistake on a few rows?

The import tool validates your rows before saving and flags any missing required fields or invalid numbers so you can fix them and complete the import cleanly without corrupting existing data.

Do I need barcodes on every single product to import from Excel?

No. Barcodes are optional; you can import products with just a name, unit, and prices, and add or scan barcodes later from your phone whenever needed.

See your business in real app screens

Screens use fictional business data. Some features require Premium; appearance may vary by platform and version.
Explore This Feature

Track products and warehouse stock with ease

Record stock movements, warehouse transfers and counts. See low stock and record sales with negative stock when needed.

Inventory & Warehouse