fiveanddime Product Tutorials About Open the app
Tutorial · Inventory & reports

Barcodes & labels

Generate Code 128 label sheets straight from your spreadsheet, print on Avery layouts (or plain paper), scan with the phone you already have at the booth. No dedicated barcode hardware to buy.

Time: ~15 minutes the first time Hardware: Any printer + Avery sheets, or plain paper Cost: ~$10–$20 for a stack of label sheets

Why bother with barcodes

At a busy booth, scanning is faster than searching, especially for products with similar names ("Birth Flower Bookmark, January" vs. "Birth Flower Bookmark, February"). And because every label has the SKU printed in human-readable text right beside the barcode, you can always fall back to typing if the camera can't get a clean read. Scanning speeds you up, but it's never required.

What you'll need

Step 1: Generate a label sheet

1.1

Open the Labels menu in your spreadsheet

Open your fiveanddime spreadsheet in a browser. Look at the menu bar at the top of the sheet. Alongside the standard Google menus (File, Edit, View, ...) you'll see a fiveanddime menu. Click it, then hover over Labels.

Spreadsheet menu open at fiveanddime then Labels showing the submenu items
The fiveanddime → Labels submenu in your spreadsheet's menu bar.
1.2

Pick the kind of output you want

Two flavors. Pick based on what you want at the booth:

Each format shows SKU + price + name on the label.

1.3

For stick-on labels: populate the Labels scratchpad first

The Avery 5160 / 5167 builders read from a Labels sheet in your spreadsheet. Each row is one SKU and a quantity (how many labels to print for that SKU). Three workflows for getting rows into it, depending on what you're doing:

Build it by hand. Open the Labels tab. (If it doesn't exist yet, the fiveanddime menu's Inventory panel has a one-tap setup that creates it with the right structure and SKU dropdown.) Click a cell in column A and pick a SKU from the dropdown; the dropdown only shows real SKUs from Products_Master, so typos are impossible. Type the quantity in column B. Repeat for each product you want labels for. This is the "first-time labeling of a fresh catalog" workflow or the "I want labels just for these specific items" workflow.

Labels sheet with SKU and Qty columns populated
The Labels scratchpad sheet. Column A is SKU, column B is the quantity of labels to print.
Labels sheet with the SKU dropdown opened on a cell
Click a cell in column A and pick a SKU from the dropdown. Only real SKUs from Products_Master appear, so typos are impossible.

Edit an existing scratchpad. The Labels sheet is a regular spreadsheet tab; you edit it like any other Sheets tab. Change a quantity by clicking the cell and retyping. Delete a row you don't need by right-clicking the row number and picking "Delete row." Add more rows at the bottom for products you've decided to label. Useful when you've auto-queued from an event (see the next section) but want to tweak: bring extras of some items, skip others, add a few new pieces. The label builder reads whatever's in the sheet at the moment you tap the menu, so any edits you make are included.

Auto-queue from event sales. Use the restock workflow described in the next section. fiveanddime fills the Labels sheet with exactly what you sold at the event so the next print gives you replacement labels for what you need to remake. Most efficient for ongoing season management.

If the Labels sheet is empty when you tap an Avery menu item, the script alerts you to add rows first. After a successful build, the script prompts to clear the Labels sheet so the next batch starts fresh; choose yes if you've finished printing what's there, or skip the prompt if you want to print again.

1.4

Generate the actual sheet

Click the menu item matching the layout you want. The script generates a new tab in your spreadsheet (named something like BarcodeSheet-2026-05-10 or Labels-5160-2026-05-10) with the labels laid out at the right size. Reference sheets pull from your catalog; stick-on labels pull from the Labels scratchpad you just populated.

1.5

Test on plain paper first

For stick-on Avery prints especially: print one copy on regular paper before committing a real Avery sheet. Hold the printout against a blank Avery sheet up to the light. The label boxes should line up. If they don't, your printer's scaling is off; turn off "Fit to page" in print settings and try again at 100% scale.

Why this matters Avery sheets are not cheap, and a single off-by-3-millimeters print run wastes a whole sheet. Five seconds of plain-paper testing saves a packet.

Step 2: Print the labels

First time only: you'll see the "App isn't verified" warning again

When you tap Export ALL Label PDFs for the first time, Google asks for one new permission (it needs to fetch the PDF from itself and save it to your Drive). You'll see the same yellow "App isn't verified" screen you saw on first deploy. Click AdvancedGo to (your script name) (unsafe)Continue. Same expected flow, one-time only. The full walkthrough is in Setup Step 2 if you need a refresher.

2.1

Print directly from the sheet, or export to PDF first

Two paths:

2.2

Stick the labels on your products

Each label shows the SKU, price, and product name. Stick wherever it'll stay put: bottom of a coaster, back of a frame, under a charm, on the tag string of a knit item. Couple of practical notes:

Clean up generated tabs when you're done

Each time you generate a label sheet, the script adds a new tab to your spreadsheet (named something like BarcodeSheet-2026-05-10 or Labels-5160-2026-05-10). They pile up over a season. To clear them out, open the fiveanddime menu → LabelsClean up generated label/barcode tabs. The script deletes only the generated label tabs; your real sheets (Products_Master, Sales, Events, etc.) are never touched. Same approach for the PDF exports in your Drive's LabelPages folder if you want to tidy those.

Restocking after an event: queue labels for what you sold

The most useful barcode workflow for makers: after each event, print labels for exactly the items you need to remake. fiveanddime can populate the Labels scratchpad sheet automatically based on what was sold at a specific event.

R.1

Open the Inventory panel

In your spreadsheet, open the fiveanddime menu → Inventory…. A side panel opens with several inventory-related tools.

R.2

Tap "Queue labels for sold items"

Pick the event from the dropdown. The script counts up everything sold at that event (per SKU, excluding voided sales) and writes those quantities to the Labels scratchpad sheet.

If the Labels sheet already has rows from a previous run, you'll be asked whether to Replace them with the new event's quantities, Append on top, or Cancel. Most of the time you want Replace (you've already printed labels for the previous batch).

Inventory panel with Queue labels for sold items highlighted and the event picker
"Queue labels for sold items" populates the Labels scratchpad with exactly what was sold at the picked event.
R.3

Generate the Avery sheet from the menu

Now that the Labels scratchpad has the quantities you need, click the fiveanddime menu → LabelsAvery 5160 (or 5167, whichever you use). The script reads the Labels scratchpad and builds the sheet with exactly that many labels per SKU. Print on real Avery stock.

R.4

Stick the labels on the items as you remake them

As you finish each replacement piece in your workshop, stick its label on. By the time you've remade everything you sold, the entire stack of labels is used and your new inventory is pre-labeled for the next event.

Pairs well with end-of-event posting

The natural after-event sequence: post sales to inventory (Events tab → Post sales to inventory) so QuantityOnHand reflects what you have left, then queue labels for the same event so the Labels sheet has exactly what you need to remake. Same event picker, two operations a few seconds apart. Full inventory tracking covered in the Tracking inventory tutorial.

Step 3: Scan at the booth

3.1

Open the scanner in the Sale view

In the app, open the Sale tab. Tap the scan button. The camera opens with a viewfinder and a small set of controls.

Sale view with the scanner overlay open showing the camera viewfinder
The scanner overlay. Point the camera at a barcode; the item drops into the cart when it reads.
3.2

Pick a mode: Live or Tap to scan

The scanner has two modes. Tap the segment buttons in the overlay to toggle (Live / Tap to scan). Your choice persists, so if you mostly use one mode you can leave it permanently.

You'll see (and hear, if your sound is on) a quick confirmation when a scan registers. Keep going to add more items. Tap to exit scan mode when you're done; the cart is right there waiting to check out.

Browser support

Camera barcode scanning works reliably on iPhone (Safari) and Android (Chrome); these are the strongest. Windows Chrome camera support varies depending on browser version and the device's camera. If scanning doesn't work on a particular device, the manual SKU fallback below works on every browser.

Manual fallback when scanning won't cooperate

Sometimes the camera can't get a clean read: bad lighting, a wrinkled label, glare. The label still has you covered:

This is by design. Scanning speeds you up at a busy booth, but it's never a hard requirement. Every device (phone, tablet, laptop, with camera or without) can run a sale by typing.

Troubleshooting

Camera won't open / "permission denied"

Your browser is blocking camera access. On iPhone Safari: Settings → Safari → Camera → "Allow." On Android Chrome: tap the lock icon in the address bar → Permissions → Camera → Allow. Then reload the app.

Scanner sees the barcode but nothing happens

The SKU on the label probably doesn't match anything in your Products_Master sheet. Maybe you printed labels before adding a product, or the product was removed. Check that the SKU exists in the sheet, then pull from backend in Settings to refresh the app's catalog cache.

Wrong item added

Tap the × on the line in the cart to remove it, then scan the right one. Easy to recover from.

"Scanned twice by accident"

Tap the qty − button on that line in the cart to drop the count back down. Same as removing one of two.

One-time setup recap

← Back to all tutorials