This article was written with AI assistance and reviewed before publishing.
If you sell online from Etsy, Shopify, eBay, or your own site, you probably know this problem. An order comes in, you pack it, you ship it, and three days later a customer asks "where's my package?" Then you're searching through emails and courier tabs to find the tracking number.
A single spreadsheet fixes most of that. Here's a layout that works in Excel or Google Sheets, with nothing to install.
1. One row per order
Make these columns:
| Column | Example |
|---|---|
| Order ID | 1042 |
| Order date | 2026-10-27 |
| Customer | J. Smith |
| Channel | Etsy |
| Items | 2 × mug |
| Order total | 38.00 |
| Paid? | Yes |
| Ship-by date | 2026-10-29 |
| Shipped date | |
| Carrier | USPS / Royal Mail / DHL |
| Tracking number | |
| Status | |
| Notes |
Use one currency per sheet. If you sell in more than one currency, add a Currency column and don't add totals across currencies.
2. Let the sheet set the status
You don't have to type the status. Put this in Status (row 2):
=IF(I2<>"","Shipped",IF(TODAY()>H2,"LATE","To ship"))
- If there's a shipped date, it says Shipped.
- If the ship-by date has passed, it says LATE.
- Otherwise it says To ship.
Then add conditional formatting so that "LATE" turns red and "To ship" turns amber. Now you can see your packing list for the day at a glance.
3. A ship-by date from your handling time
If you promise to ship within 2 business days:
=WORKDAY(B2,2)
WORKDAY skips weekends. You can also give it a list of holidays as a third argument.
4. A clickable tracking link
Keep one cell (for example Settings!B1) for the carrier's tracking URL prefix, then:
=IF(K2="","",HYPERLINK(Settings!B1&K2,"Track"))
When a customer messages you, find their row and click Track.
5. A small summary block
Orders to ship today: =COUNTIFS(L:L,"To ship",H:H,"<="&TODAY())
Late orders: =COUNTIF(L:L,"LATE")
Unpaid orders: =COUNTIF(G:G,"No")
Revenue this month: =SUMIFS(F:F,B:B,">="&EOMONTH(TODAY(),-1)+1)
6. Habits that keep it useful
- Add the row when the order arrives, not when you ship it.
- Paste the tracking number the moment you buy the label.
- Once a week, filter Status = Shipped and older than 14 days, and move those rows to an Archive tab.
That's it: one tab, about a dozen columns, and three formulas. It isn't a full inventory system, but it answers "what do I ship today?" and "where's that order?" in seconds.
What do you track that I left out? Returns, maybe, or shipping cost per order? Tell me in the comments.
Top comments (0)