Managing a shop in Excel: how far it goes and where it breaks
Excel genuinely works for a while, and anyone who says otherwise has not seen your file. Here is the template in plain words, the rules that keep it alive, and exactly where it stops.
Published: September 6, 20265 min read

Before Tarmeh's boutique had a panel, it had a file. Running a shop in Excel was not a decision for her, it was the natural start: a few coats, an Instagram page, one sheet updated every night. That file carried the business for months. The template is here in plain words; and if you are asking whether Excel is enough: up to a point, and that point has a precise address.
How far a shop in Excel really goes
Excel is free, you know it, and it puts everything on one screen. For one person answering the DMs, a handful of orders and products with few variants, that is genuinely enough. Three conditions keep it working: only you open the file; nobody waits while you open it; and no product has more variants than one row can hold. When one breaks, the rest of this page is about you.
The five sheets that actually work
Most files passed around are one giant grid with products, orders and phone numbers mixed in, and that is what suffocates you a few weeks in. The layout that lasts is five sheets joined by one code:
| Sheet | Columns | Its one rule |
|---|---|---|
| Products | variant code, name, size, colour, cost, price, stock, alert level | one row per variant: cream 38 and cream 40 are two rows |
| Orders | order number, date, customer, variant code, quantity, price at sale, status, tracking code | type the price in, never pull it with a formula |
| Receipts | order number, amount, transfer time, last four card digits, approved by | every receipt attaches to an order number, never a name |
| Customers | name, phone, handle, order count, total spent, last purchase | update it with every order, or it lies |
| Weekly summary | sales, order count, top three products, items under alert level | formulas only, never filled in by hand |
No macros, no forms, no colour coding. The variant code is the thread: defined once in Products, only referenced everywhere else. One variant, one row.
Three rules that double the life of the file
- Type the price into the order row. A formula pulling it from Products rewrites every old order the day a price changes.
- Never delete a row; change its status. A cancelled order becomes cancelled, not invisible.
- Update every night, not whenever you remember. Stale stock is worse than none, because you trust it.
Those are exactly what clean online shop accounting needs too. Excel asks you to do them; a panel does them itself.
Where it breaks: five failures no formula fixes
None of these are fixed by a better file. Excel is a ledger, and a ledger does not know what happens outside it. Once two people, two customers or two different hours enter the picture, it falls behind.
Two people, one file
Your sister comes to help; the file is on your phone and a copy is on hers. That night you merge them: two orders share a number and one stock count was reduced twice. A shared online sheet fixes the typing, but you both still see a stock of one and both promise it.
Right in the sheet, wrong in the DM
Your file is current. But at eleven, when a customer asks whether cream 38 is still there, you answer from memory, because the file is on the laptop and you are in bed. The problem is the distance between the file and where the question is asked.
The last unit and two customers
There is a column no Excel template has: promised. Customer one says she will pay tonight; customer two asks an hour later; the sheet still says one, so you say yes to her too. Tomorrow one of them gets an apology, without a single wrong number in your file. Online shop inventory explains why stock without a reservation is not enough.
Receipts matched from memory
A customer sends a screenshot of a card transfer and you look for an order with that amount. Two orders with the same amount on the same day? You guess. The Receipts sheet reduces the guessing; it does not remove it.
The day a price changes
You change the cream coat's price in Products. In the DM you still quote yesterday's price; formula-linked orders from last week now show the new price; and nowhere is it written who changed the number, when, or why. A month later a customer disputes a quote, and nothing says who is right.
How to know it is time
- You typed "let me check" more than three times in one day.
- Someone else opens the file too, even occasionally.
- You have apologised to a customer for the last unit.
- A receipt you could not confidently match to an order.
- You have not opened the weekly summary in two weeks, because its numbers are off.
Moving from Excel to a panel without pausing sales for a week
The seven-day plan for the move itself is in the online shop management guide. What is here is what to do with the file, because most failed migrations fail on the file, not on the panel.
- 1Clean the Products sheet: one row per variant, no duplicates, nothing unsold for six months.
- 2Count stock once for real, from the shelf and not from the file.
- 3Separate the open orders, unpaid and unshipped. Only those go in; closed orders stay in Excel.
- 4For three or four days keep stock in both places and compare the two figures every night.
- 5At week's end, export the panel's orders to Excel beside your sheet. If they match, the file retires.
The checklist for choosing the panel itself lives in the online shop management panel guide. ProMall was built along this path: you enter products from your cleaned sheet, every variant keeps its own stock and reservations, a card-to-card receipt attaches to an order number, not to memory, and orders and products export to Excel whenever you want.
Tomorrow morning, before the DMs open, check whether every variant in your Products sheet has its own row. If not, fix it today, whether you stay or leave. If it does, count how many of the signs above you saw this week. Past two, your file has done its job. Retire it, with respect.
Frequently asked questions
Is a shop in Excel enough to start with?
Yes, as long as three conditions hold: you are the only one opening the file, products do not carry many variants, and no customer waits between a question and your answer. With five separate sheets and the one-row-per-variant rule it runs comfortably for months. The first condition to break marks the time to move.
What columns does an Excel order template need?
Order number, date, customer, variant code, quantity, price at the time of sale, status and tracking code. The key detail is typing the price rather than pulling it from the products sheet with a formula; otherwise the first price change rewrites the history of every earlier order.
Is Excel enough for online shop accounting?
For sales records a panel beats Excel, because every order is logged on its own and cannot be deleted, and you can export it to Excel afterwards. Other business costs such as rent and ads still need to be logged elsewhere, and tax is a conversation with an accountant. A panel is not an expense ledger.
Can I export orders from a panel back to Excel?
Yes, and it should be a condition for choosing any panel. The export serves your accountant and it serves the day you decide to migrate away. A panel that takes your data and does not give it back has not replaced Excel; it has become an Excel you do not hold the key to.
Hand your online shop to ProMall
See a free demo built on your own products. Setup takes under ten minutes.
Get a free demoRelated reading
Complete guide
Online Shop Management: The Complete Guide From DMs to Accounting
Orders, invoices, inventory, DMs, payment and accounting: everything running an online shop actually takes, in one guide.
Buyer's guide
Online Shop Management Panel: A Buyer's Guide and 12 Must-Haves
Before you pay for a panel, run this checklist against your options: the features that matter and the questions to ask first.
Inventory
Online shop inventory management: from counting by hand to stock you can trust
Good inventory means every answer you give a customer is read from something real, not memory. Here is how to get there.