To import a large hardware item list into a new POS, clean the file first, test a small batch, import one department at a time, and load stock quantities from a fresh count, not from old system numbers. The upload takes minutes. The cleanup takes days. Three things go wrong most often in a hardware store POS import: duplicate model numbers, unit-of-measure mix-ups (each, box, foot), and starting stock nobody trusts. Rentals and key cutting are a separate question. They are service lines, and many retail systems only half handle them, so decide how you will sell them before you choose software.
Why is a hardware item list harder to import than other retail files?
A clothing shop has a few hundred styles. A hardware store has thousands of near-identical items: the same screw in five lengths, three finishes and two pack sizes, bought by the case and sold by the each. Add loose fasteners with no barcode, plumbing fittings that look alike on the shelf, and the same product listed under a vendor part number and a manufacturer model number. The file that comes out of an old POS usually carries every one of those problems.
A POS item import is the one-time load of your catalog (names, SKUs, barcodes, prices, costs, vendors and starting stock) into the new system, so the first sale rings the right price and takes down the right quantity.
Because the file is big, the way you fix it matters. Say you have 12,000 rows and you correct each one by hand at 30 seconds a row. That is 100 hours. Fix by pattern instead: sort, filter, and change a whole group at once. A column of 600 items sold by the box all need the same unit fix, and a filter does it in a minute.
What should each row in the file contain?
Match your columns to the template of the system you are moving to, but plan to have these ready for every row:
- Name: brand, product, size, then model number, in the same order every time. "Brand Drill Driver 20V Kit DCD-123" beats "drill kit blue".
- SKU: one unique code per sellable item. Never reuse a SKU for a different pack size.
- Barcode: the manufacturer UPC or EAN stored as text so leading zeros survive. The GS1 US site explains how those numbers are assigned if you need to check one.
- Selling unit and buying unit: each, box of 100, foot, pound. Put the conversion in its own column (1 box = 100 each).
- Price and cost: both as plain numbers with no currency symbol. A missing cost makes margin reports meaningless.
- Vendor and vendor part number: so purchase orders and reorders pull the right line.
- Category or department: one list of values, not free text.
- Variants: size, length, finish, or voltage as options on one product when they truly are one product.
- Quantity on hand: per location, but see the stock section below before you trust it.
Our brand and model SKU structure guide for hardware stores covers how to name items so that battery platforms and chargers stay findable. Fix the naming before the import, because renaming 12,000 items afterward is the work you were trying to avoid.
How do I clean thousands of rows without losing a month?
Work through the file in the same order every time. This is the sequence that saves the most hours:
- Export everything from the old system and keep one untouched copy. Work on a duplicate.
- Delete dead items. Pick a cutoff, such as nothing sold and nothing on the shelf for two years, and remove them. Fewer rows means fewer errors and a faster search at the counter.
- Merge duplicates. Sort by barcode, then by manufacturer part number. Two rows for one product split your stock count and your sales history.
- Set the selling unit on every row. This is the step that prevents a cashier from selling a 100-count box at the price of one screw.
- Fill missing costs. If you must estimate, mark the row so you can find it later.
- Fix missing prices with a formula, not a guess. Price = cost ÷ (1 − target margin). A $4.20 cost at a 40% margin gives $7.00.
- Run a 200-row test batch that includes every department, then ring up ten of those items and check the price, tax and stock change.
- Import department by department. If something is wrong, you fix one department, not the whole catalog.
Margin and markup are not the same number. A 40% markup on a $4.20 cost gives a $5.88 price, which is only a 29% margin. Pick one and use it in every formula in the file.
How does Retailer OS import a hardware catalog?
Retailer OS imports items, customers and vendors from CSV, and you review everything before it goes live. Each item can carry a SKU, barcodes, units of measure, variants in a matrix, and serial numbers where you track them. Stock is held per item and per location with a movement ledger, so the opening count you load leaves a record, and every later sale, receipt, transfer and adjustment does too. Retailer OS lists hardware and industrial supply among the store types it has dedicated flows for.
Other file types are possible too. AI-assisted import of other files, such as a supplier invoice, needs a Messaging & AI plan (Starter $39.99, Growth $69.99, Pro $99.99 a month). If you are coming from a Shopify store, you connect your Shopify account and the Retailer OS team moves the catalog, customers and orders for you. It is not a self-serve import, so plan a conversation with the team before your cutover date. The Shopify to POS migration guide shows what to prepare. A full data export is available, so you are never locked into a file you cannot take with you.
After the import, purchase orders, receiving against those orders and reorder points work from the same catalog. Barcode scanners and label printing handle the shelf-side work. Pricing is $99.99 a month per store plus $9.99 a month per user seat, so one store with the owner as the only seat is $109.98 a month. The first 14 days are free with no card required, which is enough time to run your 200-row test batch and ring a few sales. See the full Retailer OS pricing.
How should I load opening stock?
Do not trust the quantity column from your old system. It carries every missed receipt, every unrecorded breakage and every sale rung to the wrong item. Count, then load the count.
Pick a slow day. Count by aisle and bay, not by item list, so nothing is skipped. Write the counts on the sheet or enter them on a device, and record any deliveries that arrive that day separately. Load the counted quantity as the opening balance. Your starting inventory value is the sum of quantity times cost across all rows, so a missing cost shows up right away as an item worth nothing.
Then keep counting. In the first month, cycle-count the 100 fastest sellers each week, because those are where small errors turn into stockouts. Our step-by-step physical inventory count lays out the routine. Small stores can do the whole shop over a weekend. A big shop should split it over several mornings and freeze each section after it is counted.
How do I sell rentals and key cutting from a POS?
Treat both as service lines with their own rules, and be honest about what your system covers. Retailer OS does not have a rental agreement workflow, with items checked out and back in against a contract. It does have serial-number tracking, which can identify a unit, but that is not the same as managing a rental fleet. If rentals are more than a side line, ask any vendor, including us, to show the whole path in a demo.
This is what to look for in any POS if you rent equipment:
- A record for each rentable unit, with its serial number and a status of in, out or in repair.
- Rates by hour, day, week and weekend, plus a way to add late or damage fees.
- A deposit that is held at checkout and released or applied at return.
- A return step that records condition and who checked it in.
- Rental revenue reported separately from retail sales, since the margin profile and tax treatment can differ. Confirm the tax rules with your accountant.
Key cutting is simpler, but the numbers are easy to get wrong. The clean way is two lines on one ticket: the key blank, which is stock that goes down by one, and the cut fee, which is a service with no stock. As an example, a blank that costs $0.60 sold with a $3.49 cut leaves $2.89 in gross profit, about 83%. Ring the blank by its own item so you can reorder it. In any POS, check that a service item can be sold without a stock count, and that your blank types (the many key profiles) can be tracked by unit with a reorder point. Retailer OS supports units of measure and reorder points on regular items, so confirm the service-item part in a demo with your own key list.
What mistakes cost hardware stores the most?
- Importing quantities from the old system instead of a fresh count.
- Leaving selling units blank, then discovering a box of 100 sold for the price of one.
- Loading one product three times under different vendor part numbers.
- Skipping the test batch and finding a tax or price rule wrong after 500 sales.
- Switching during a contractor-heavy season, with no time to correct the first week.
- Forgetting trade customers. Import them with their accounts, and read how contractor accounts and price tiers work before the first account is rung.
Most of these cost nothing to prevent. They only need an order of work: clean, test, import by department, count, then go live. Choose a start date at least two weeks before your busiest stretch, and keep the old system readable for a month so you can look up a past price or a returned item.
Next step: export your item list today, count the rows, and note how many have a blank unit, cost or barcode. Bring that file to a Retailer OS demo and ask to see a test import, or start the 14-day free trial and load your first 200 rows yourself.
Last updated November 10, 2026