Register result
Exact penny-free total
$10.00
Ends in 0¢See register breakdown
Register result
Exact shelf price
$10.00
Rings up to $10.00See register breakdown
Nothing saved yet. When a price works out, tap “Save this calculation” on the receipt and it will live here — on this device, in this browser. No account, no tracking, just your list.
A preset is a named set of taxes and fees — food, alcohol, tobacco, medication, whatever you sell. Program each one once, then pick it on the calculator and the whole setup swaps in. Add as many charge slots as a category needs.
Point the camera at a preset QR code.
Convert a whole price list in one pass, using the setup on the calculator right now: Custom setup. Change the preset or the fees on the Calculator tab and the results here follow.
Point the camera at a QR code holding a price list.
Add what's being bought — from a Batch list, from a calculator price, by scanning a tag, or by hand below. Every item keeps the tax setup it was priced under, so a mixed sale keeps its taxes straight: each category is figured on its own subtotal, once, the way a register does it.
Point the camera at a tag or QR code.
Shoppers scan a printed label and land on that item's page on your shopper page (shop.html): its story, its price, and an Add to Cart button. Their cart becomes one code; scan it with the register's scan button and the sale rings up here, at this register's own prices — the register stays in charge.
Put the downloaded penny-free-catalog.json on your site next to shop.html, and set label QRs to “Shopper page link” so a label carries a shopper straight to the item.
The total is carried into your own payment app — the customer pays you there; Penny-Free never touches the money and never goes online for it.
Set up the apps you already take money with, and they appear at checkout with the sale's total carried in. Leave blank anything you don't use. For the direct Square handoff (amount locked, confirmation sent back here), a Square application ID goes in the last field — a one-time registration.
Set up the things you sell every day — a name, its tag price, and the category it was priced under — and they appear as big tap tiles on the Register. Modifiers are the add-ons and sizes: Large +$2.00, Extra cheese +$1.00, or No onions +$0.00.
Keep a second device (your phone as a scanner gun, say) on the same official price list: show the catalog QR here and scan it on the other device, or trade the catalog file. Same items, same prices, same categories.
Enter a starting price, taxes, and register fees. Penny-Free works backward to calculate the exact shelf price whose final total already ends in 0¢ or 5¢—the total itself is never rounded.
1. Find penny-free total
Enter your starting shelf price, then choose how the shelf price may move: Closest price, Never lower, or Never higher. The total itself is never rounded — only the shelf price moves. Add your taxes and register fees, as many as you need, each one either a percentage of the shelf price or a flat dollar amount. The receipt gives you the exact shelf price to put on the shelf and the register total that already ends in 0¢ or 5¢. Tap “See register breakdown” on the receipt to watch the math happen line by line.
2. Work backward from total
Know the final register price you want to ring up? Enter it, add the same taxes and fees, and Penny-Free finds the exact shelf price that produces it — what to write on the tag so the register lands on your number.
3. Your setup is remembered
Your taxes, fees, mode, and prices are kept on this device, so your local tax rate is already in place the next time you open the calculator. Set it once, then check any price in seconds.
4. Save and export results
When a price works out, add a label if you like and tap “Save this calculation” on the receipt. Saved results live under the Saved tab, newest first. Load puts any of them back on the calculator with its price, taxes, and fees restored. Download CSV saves the whole list as penny-free-saved.csv, ready for a spreadsheet. Copy as text puts the list on your clipboard to paste anywhere. Clear all wipes the list.
5. Swap setups with presets
Different goods carry different taxes — groceries, alcohol, tobacco, medication, and the rest. Program each setup once on the Presets tab: name it, set its taxes and fees, and add as many charge slots as the category needs. Then, on the calculator, pick the preset and the whole setup swaps in. If you change a setup for a single price, the calculator drops back to Custom — tap “Save current” next to the preset picker to store the setup you're looking at, under a name you choose. To hand a setup to someone else — a second register, a fellow vendor at the same fair — tap “Share QR” on the preset and let their phone scan it from the Presets tab; the whole setup lands on their device, ready to use.
6. Send a preset by QR code
The fastest way to clone your setup onto another phone — your register iPad, a second booth, a fellow vendor. On the phone that has the preset: open the Presets tab and tap “Share QR” on it — a code appears holding the preset's name and every tax and fee in it. On the other phone: open Presets, tap “Scan a preset code,” and point the camera at the code. The setup is added to its preset list, ready to pick — if that phone already has a preset with the same name, the new one gets a number added rather than overwriting anything. The scanners sort the app's other codes out on their own, too: scan a tag's code at the Register and the item rings up; scan a list code in Batch and the whole list loads.
7. Convert a whole list with Batch
The Batch tab converts a price list in one pass, under whatever preset the calculator is set to. Bring the list four ways: take a photo of it (a shelf list, a menu, a page of tags), upload a CSV or text file, paste it in — one item per line, name and price in any order the price can be spotted — or scan a QR code that holds a list. Photos are read on the device by an open-source reader that downloads the first time you use it, so that first read needs a connection. Always check the list it makes: fix any name or price it misread, and the results update as you type. Items that arrive with a category baked in — scanned from your own tags or a shared list — keep it: they convert under their own taxes, shown beside the result, not the calculator's. Then download the converted list as a CSV, save every result to the Saved tab at once, or turn the list into a QR code of its own, with each item's category baked in, ready for someone else to scan.
8. Print the shelf tags
A converted price only helps once it's on the shelf. Under any batch list — and on each calculator receipt — you'll find label printing. Four styles: Classic (name, shelf price, and the total with tax), Minimal (one big price), Total up front (the full amount a customer hands you, big, with the shelf price small — made for cash tables), and With QR (the tag carries a code holding that item's name, its shelf price, and the tax category it was priced under, baked in — scan it at the Register and the item rings up under its own taxes). Four sizes cover common label rolls and an Avery 5160 sheet for plain-paper printing. Printing runs through your device's print dialog: choose your label printer there, and set scaling to 100% so tags come out true to size. Make the tags yours in the label setup above the print button: add your shop name and an extra line (a booth number, a website, a thank-you) and they print on every label, and when the QR style is on, choose what its code holds — the item (for scanning back in), your shop name with the item, or a link you pick, like your shop page, for customers to scan.
9. Ring up the sale in Register mode
Tap “Register” at the top and the screen turns olive — that's the register; “Pricing” (the cream screen) is where prices are made. Add what's being bought four ways: send items over with “+ Register” on a Batch row or a calculator receipt, scan a tag (its category is baked into its code), tap an item tile, or type a name and tag price by hand. Hand entries ring under the tax keys: category keys (Food, Alcohol, your own presets) light a whole tax setup in one press, and charge keys below them — state tax, local tax, a vice tax, a service fee — can be lit in any combination for an item nobody preloaded. Ringing an item closes the chord, so the next press starts fresh; Hold keeps the chord lit across a run of same-tax items, and Clear empties it for a no-tax item. A chord you compose can be saved as its own category key, right there. If the setup blocks ever crowd the selling, the Register view option switches to Condensed — selling surface only — and remembers your choice. Each category is totaled and taxed on its own subtotal, once — food at the food rate, alcohol at the alcohol rate — so a mixed sale keeps its taxes straight. If the total doesn't land, nothing gets repriced: a penny discount — a few cents off the top, always down, never up — lands it, booked in the discount column where it belongs. It's the vendor's choice, set once and remembered: issue the penny discount or not, and if so, land on nickels (5¢), quarters only (25¢), or dollars only ($1) if you'd rather never touch coins at all. The discount line can ride on the receipt or stay invisible there; it's in the day's books either way. Then take the cash: enter what's tendered, or tap a bill, and it shows the change — no pennies in it, either. “Print receipt” puts the whole sale on paper for the customer.
10. Sell from item tiles, and count what's left
The things you sell every day belong on tiles. Set them up in Item tiles (Register mode): a name, its tag price, the category it was priced under, and any modifiers — a size or an add-on with its added price, like Large +$2.00. Selling is then one tap per item; a tap on a tile with options asks which apply. Give a tile a stock count and a restock level and every completed sale counts the stock down. At the end of the day, the Day tab shows what's left of everything for tomorrow and what to make more of — with a “Made them” button when you've restocked it.
11. Discounts and tips
A discount — a percent off or a dollar amount — comes off before tax, spread across the sale's categories in proportion, so each is still taxed on what it actually sold for. A tip is added after tax and is never taxed itself; the quick buttons are 10, 15, and 20 percent of the total, or type a custom amount. The amount due, the change, and the receipt all account for both, and a tip rides along in the total when a sale is handed to a pay app.
12. The Day tab and the cash drawer
Every completed sale is recorded on the Day tab: the day's count and gross, how much came in by cash and by each pay app, and the tax collected — total and per category, ready for filing. Void a sale that shouldn't count and it leaves the totals (and returns its items to stock); “Receipt” reprints any of them, and the day downloads as a CSV. The drawer sits there too: enter your opening float in the morning — the app suggests one way to build it in bills and coins — and at close, count what's in the drawer. Expected is float plus the day's cash sales — card and app money never touches the drawer — and it tells you right on, over, or short.
13. Card and pay apps — the handoff
Penny-Free never touches card money and never goes online to take a payment. Set up the payment apps you already use in “Your payment apps” (Register), and at checkout the sale's exact total — tip included — is carried into your Venmo, PayPal, or Cash App, or into Square through your own Square pay link: the customer pays you in your app, and you tap “Paid — record the sale” back here so the day's books stay whole. For Square's direct handoff, where the amount is locked and a confirmation comes back to this screen, a Square application ID goes in the last setup field — a one-time registration. Either way, the money moves entirely inside your own accounts; this app is the register, not the bank.
Everything in the Penny-Free manual, built into the app — no connection needed to read it. New here? Chapters 1–3 get you set up and selling. The rest is the same ideas in more depth, plus troubleshooting. Penny-Free · build r22
1. What Penny-Free is
Penny-Free is a price calculator and cash register for craft fairs, market booths, and small cash sales. It exists to solve one problem: pennies are going away, and totals that end in 1, 2, 3, 4, 6, 7, 8, or 9 cents force somebody to round, scrounge, or make change that no longer exists.
Penny-Free never rounds your total. Instead, it moves the shelf price by a few cents so the exact total — tax and all — already lands on 0¢ or 5¢. At the register, if a sale still doesn't land, a small penny discount (a few cents off, always down, never up) lands it instead. Your tag prices never change, and tax is always figured on the full sale.
What it is
- A pricing calculator that finds the exact shelf price for a penny-free total — in both directions.
- A register with item tiles, stock counts, a sales log, and a cash drawer that closes out against the day.
- A label printer for shelf tags, including tags with a QR code that rings the item back up when scanned.
- An app that works completely offline once it has loaded. No account, no signal needed at the booth.
What it isn't
- It is not a card processor. Penny-Free never touches card money and never sees a card number. At checkout it carries the sale's total into your own Venmo, PayPal, Cash App, or Square, and the customer pays you there.
- It is not a subscription. One purchase, and it's yours. No rent, no per-sale cut from us. (Your payment apps charge whatever they charge — that's between you and them.)
- It is not tax advice. It does the arithmetic the way a typical register does; confirm your local rules before you change posted prices.
Where your data lives
Everything — your tax setups, items, sales, and stock — is stored on the device you're using, in the app itself. There is no account and no cloud copy. That is deliberate: the register works in a field with no signal. It also means one important rule, covered in Troubleshooting: clearing your browser's site data erases the app's memory. Export your day's CSV and keep your setups shared to a second device (Chapter 10) as your backup.
2. Set up once, at home
Do this part at the kitchen table, not at the booth. Ten minutes, once.
- Open the app and add it to your home screen. It then opens like a regular app and works offline.
- Set your taxes. In Pricing (the cream screen), add each charge your register applies: name it (State tax, Local tax, a service fee), enter the amount, and pick % (a percentage of the shelf price) or $ flat. Add as many lines as you need. Each percentage is figured on the shelf price alone and rounded to the nearest cent by itself — the way a typical register does it. Charges do not stack on each other.
- Save it as a preset. If different goods are taxed differently — food at one rate, alcohol at another — build each setup once on the Presets tab and name it (Food, Alcohol, Tobacco, your own). At the register these become one-tap tax keys.
- Add your payment apps. In Register (the olive screen), find Your payment apps and fill in only what you use: Venmo username, PayPal.me name, Cash App $tag, Square pay link. Leave the rest blank.
- Set the penny discount. Also in Register: turn the Penny discount on or off, and choose what totals land on — 5¢ (nickels), 25¢ (quarters only), or $1 (dollars only, if you'd rather never touch coins at all). Choose whether the discount line shows on the receipt. Set it once; the app remembers.
- Make your item tiles. Still in Register, open Item tiles and add the things you sell every day: name, tag price, the category it was priced under. Add a stock count and a restock level if you want the app to count what's left. Add modifiers (sizes, add-ons) with their added prices — Large +$2.00, Extra shot +$1.00, Gift wrap +$0.00. You can also write each piece a short Story — that's the note shoppers read on the piece's own page if you add Press2Shop (Chapter 11).
- Print a test tag and scan it back. Print one QR tag (Chapter 5), then scan it at the Register. If it rings up, your printer size and scale are right and fair day will go smoothly. While you're at the tiles, try the Show tag button on one of them (Chapter 7) — a full-screen tag you can hold up to a scanner, no printer involved.
3. Quick start — your first sale
Price a tag (Pricing, cream screen)
- Type the shelf price you had in mind.
- Pick how the price may move: Closest price, Never lower, or Never higher. Only the shelf price moves — the total is never rounded.
- Read the receipt: it gives you the exact shelf price to write on the tag and the register total, already ending in 0¢ or 5¢. Tap See register breakdown to watch the math line by line.
Working the other way? If you know the total you want to charge, use Work backward from total: enter the final register price and Penny-Free finds the shelf price that produces it. A few totals have no exact shelf price; the calculator says No exact price rather than round anything. Nudge the total to the nearest 0¢ or 5¢.
Ring the sale (Register, olive screen)
- Add each item: tap its tile, scan its tag, send it over from a priced list, or type a name and tag price by hand and tap the tax keys for its category.
- Check the total. If it doesn't land, the penny discount lands it — a few cents off, shown in the discount column.
- Cash? Tap Complete sale — cash, enter what's tendered (or tap a bill button), and the change is shown — no pennies in it.
- Card or pay app? Tap Card / pay app, pick the app, and the total is carried into your payment app. When the customer has paid, come back and tap Paid — record the sale. If you switched apps to take the payment, the app asks as soon as you return — “You sent $12.50 to Venmo — did they pay?” — with Paid — record the sale, Not yet, and Cancel sale right there (Chapter 9).
That's a sale. Everything below is the same ideas in more depth.
4. Pricing in depth
The two directions
- Find penny-free total — start from a shelf price; get the penny-free shelf price and its exact total.
- Work backward from total — start from the register total you want; get the shelf price to put on the tag.
Presets
A preset is a whole tax setup under one name. Pick one on the calculator and the entire setup swaps in. If you tweak a setup for one price, the calculator drops back to Custom — tap Save current next to the preset picker to store what you're looking at under a new name.
Batch — convert a whole list at once
The Batch tab converts a price list in one pass. Bring the list four ways:
- Photo of a shelf list, menu, or page of tags. The photo reader runs on your device; it downloads the first time you use it, so do the first one at home on Wi-Fi. Always check the list it makes — fix any name or price it misread; results update as you type.
- Upload a CSV or text file.
- Paste the list — one item per line, name and price in any order the price can be spotted.
- Scan a QR code that holds a list (see Chapter 10).
Items that arrive with a category baked in — from your own tags or a shared list — keep it: they convert under their own taxes, shown beside the result. When the list is right, you can download it as a CSV, save every result to Saved at once, or turn the list into a QR code with categories baked in, ready for someone else to scan.
Saved
Tap Save this calculation on any receipt to keep it. Saved results live under the Saved tab, newest first. Load puts one back on the calculator with its price, taxes, and fees restored. Download CSV saves the list for a spreadsheet; Copy as text puts it on your clipboard; Clear all wipes it.
5. Shelf tags and labels
Under any batch list — and on each calculator receipt — you'll find label printing. Four styles:
- Classic — name, shelf price, and the total with tax.
- Minimal — one big price.
- Total up front — the full amount a customer hands you, big, with the shelf price small. Made for cash tables.
- With QR — the tag carries a code holding the item's name, its shelf price, and the tax category it was priced under. Scan it at the Register and the item rings up under its own taxes.
Four sizes cover common label rolls, plus an Avery 5160 sheet for plain-paper printing. Printing runs through your device's print dialog: choose your label printer there, and set scaling to 100% so tags come out true to size.
Make the tags yours in the label setup above the print button: add your shop name and an extra line (a booth number, a website, a thank-you) and they print on every label. With the QR style on, choose what the code holds: the item itself (for scanning back in), your shop name with the item, a link you choose — your shop page, for customers to scan — or, once Press2Shop is turned on (Chapter 11), a Shopper page link that carries the shopper straight to that item's page.
Show tag — a tag on the screen, no printer
Every item tile has a Show tag button. Tap it and the tile's tag fills the screen: your shop name at the top, the QR code with the price printed right in the middle of the code, the total with tax under the code, and the item's name big at the bottom. Hold it up to the register or a shopper's phone to scan it back in. It's the tag to use for one-off pieces, a market table with no printer, or testing a tag before you print a whole roll. One first-use note: the code maker downloads the first time any tag is shown or printed, so show one tag at home on Wi-Fi before fair day — after that it works offline like everything else.
6. The register in depth
Tap Register at the top; the screen turns olive. Pricing (cream) is where prices are made; Register (olive) is where they're sold.
Adding items — four ways
- Tap a tile (Chapter 7). A tap on a tile with options asks which modifiers apply.
- Scan a tag — the category baked into its code rings it up under its own taxes.
- Send it over — + Register on a Batch row or a calculator receipt adds it to the current sale.
- Type it by hand — name and tag price, then the tax keys.
With the Press2Scan upgrade turned on, there's a fifth way: scan a shopper's cart code and the whole cart rings up at once (Chapter 11).
Tax keys and chords
Hand entries ring under the tax keys. Category keys (Food, Alcohol, your own presets) light a whole tax setup in one press. The charge keys below them — state tax, local tax, a vice tax, a service fee — can be lit in any combination for an item nobody preloaded; that combination is a chord.
- Ringing an item closes the chord, so the next press starts fresh.
- Hold keeps the chord lit across a run of same-tax items.
- Clear empties the chord — use it for a no-tax item.
- A chord you compose can be saved as its own category key, right there.
If the setup blocks ever crowd the selling, the Register view option switches to Condensed — selling surface only — and remembers your choice.
How a mixed sale is taxed
Each category is totaled and taxed on its own subtotal, once — food at the food rate, alcohol at the alcohol rate — so a mixed basket keeps its taxes straight.
The penny discount at the register
If the total doesn't land, nothing gets repriced. The penny discount takes a few cents off the amount due — always down, never up — and lands it on your chosen step (5¢, 25¢, or $1). Tax was already figured on the full sale; the discount is booked in the discount column, where it belongs, and the day's total of penny discounts given is kept on the Day tab whether or not the line shows on receipts.
Ordinary discounts and tips
- A discount — percent off or dollars off — comes off before tax, spread across the sale's categories in proportion, so each is still taxed on what it actually sold for.
- A tip is added after tax and is never taxed itself. Quick buttons: 10%, 15%, 20% of the total, or type a custom amount. A tip rides along in the total when a sale is handed to a pay app.
Cash, change, and receipts
Enter what's tendered, or tap Exact / $5 / $10 / $20, and the change is shown — with no pennies in it. Print receipt puts the whole sale on paper for the customer. Clear sale empties the current sale without recording anything.
7. Item tiles and stock
Set tiles up in Item tiles (Register mode). Your tiles are your catalog — the one official price list the register, your tags, and (with the upgrade) the shopper page all read from.
- Name and tag price.
- Priced under — the category the item was priced under, so it rings with the right taxes.
- Stock on hand — how many you have. Leave it blank if you don't want to track that item.
- Restock level — the count at or below which the item gets flagged for tomorrow.
- Modifiers — sizes and add-ons, each with its added price (including $0 ones, like “No onions”).
- Story — a few lines about the piece. This is what a shopper reads on the piece's own page with Press2Shop (Chapter 11); it's optional, and it changes nothing at the register.
Every tile also carries a Show tag button — the item's tag full-screen, price in the middle of the code, ready to scan (Chapter 5).
Every completed sale counts stock down. At the end of the day, the Day tab shows what's left of everything and what to make more of — tap Made them when you've restocked something.
8. The Day tab and the cash drawer
Every completed sale is recorded on the Day tab:
- The day's count and gross; how much came in by cash and by each pay app; the tax collected, total and per category, ready for filing.
- Penny discounts given for the day.
- The sales list, newest first. Receipt reprints any sale. Void removes a sale that shouldn't count — it leaves the totals and returns its items to stock.
The drawer
- In the morning, enter your opening float. The app suggests one way to build it in bills and coins.
- At close, tap Count drawer and enter what's actually in it.
- Expected is float plus the day's cash sales — card and app money never touches the drawer. The app tells you right on, over, or short, and by how much.
Download today's CSV before you pack up. That file is your day's ledger — keep it with your records.
9. Payment apps — the handoff
Penny-Free never touches card money and never goes online to take a payment. Here's the handoff, step by step:
- Set up your apps once (Chapter 2, step 4).
- At checkout, tap Card / pay app. The sale's exact total — tip included — is carried into your Venmo, PayPal, or Cash App, or into Square through your own Square pay link.
- The customer pays you, in your app.
- Come back to Penny-Free and tap Paid — record the sale. This is the step that keeps the day's books whole — the sale counts, stock counts down, and the drawer stays honest (app money is never counted as cash).
“Did they pay?” — the app asks, so a sale can't slip away
If you left Penny-Free to take a payment, the app keeps track. When you come back with a handoff still open, a banner asks: “You sent $12.50 to Venmo — did they pay?”
- Paid — record the sale books it, exactly as if you'd tapped it at the counter.
- Not yet puts the banner away for now; the sale stays open on the register.
- Cancel sale clears the open sale without recording anything.
The banner waits until you're actually back — it won't pop up in the first few seconds — and a handoff left hanging for hours is quietly set aside rather than nagging you about a customer long gone. The sale itself is never touched either way; if the banner is gone, the open sale is still on the register to record or clear by hand.
Square's direct handoff goes one step further: the amount is locked and a confirmation comes back to this screen on its own. It needs a Square application ID in the last field of the payment setup — a one-time registration with Square. If you skip it, the Square pay link works fine; you just confirm payment yourself, like the other apps.
10. Sharing setups and a second device
Your phone and a register tablet can run the same booth — phone for pricing and labeling, tablet at checkout. Setups travel by QR code, no signal needed:
- Share a preset: on the device that has it, open Presets and tap Share QR on the preset. On the other device, open Presets, tap Scan a preset code, and point the camera at the code. The whole setup lands, ready to pick. If that device already has a preset with the same name, the new one gets a number added — nothing is overwritten.
- Share a whole list: Batch can turn a converted list into a QR code with each item's category baked in. Scan it in Batch on the other device and the whole list loads.
- The scanners sort the app's codes out on their own: a tag's code rings up at the Register, a preset code loads in Presets, a list code loads in Batch.
Share the whole catalog — same price list on both devices
Your item tiles are one catalog, and the whole thing can travel at once. In Item tiles, find Catalog — sync & share:
- Catalog QR — sync a device: tap it and the app shows one code holding your whole catalog — names, prices, categories, modifiers, stock, and stories. Scan it with any of the app's scanners on the other device (the Register's scan button does it, too). The catalogs merge: an item the other device already has is updated to match, new items are added, and nothing else on that device is disturbed. Sync again whenever prices change and both devices are back on the same list.
- Download catalog file / Import catalog file: the same catalog as a file instead of a code — send it however you like (AirDrop, email, a cable) and import it on the other device. The file is the bridge when you'd rather not scan, and a copy kept with your records is a spare catalog if a device is ever lost. (This file carries your catalog only — it is not a backup of sales or settings.)
Sales themselves live on the device that recorded them — close each device's day on its own Day tab and add the CSVs together.
On an iPad, open the register page (the “iPad” link at the foot of the app) for the big-screen register: a number pad and display window like a mechanical register, the running tape of the sale, and the checkout bar pinned where your thumb expects it. Same app, same items, same books — wearing a register's face.
11. Upgrades: Press2Scan and Press2Shop
Upgrade features. Press2Scan and Press2Shop are optional upgrades — additional purchases, not part of the base app. Everything in Chapters 1–10 works without them. They're described here so you can see what they add.
The upgrades live behind one switch. In the Register settings you'll find a row labeled Press2Scan / Press2Shop; it ships set to Off — upgrade not added. If you've added the upgrade, set it to On. The shopper-page settings below it appear, the label code gains its shopper-page option, and the register starts accepting shopper cart codes. Leave it off and the base app behaves exactly as the rest of this manual describes.
The base app's tags already scan back into the register. The upgrades turn that one trick into a whole way of running the booth.
Press2Shop — your booth, shopping itself
With Press2Shop, the printed label on each piece becomes the door to that piece's own page:
- A shopper points their phone's camera at a tag — no app to install, nothing to join. The tag opens that item's page: the story you wrote for the piece (Chapter 7), the price, and an Add to Cart button.
- The page stays open. The shopper keeps browsing your booth, adding pieces as they go, and watches a running total build — prices and tax from the same price list your register uses.
- When they're done, they tap I'm done and the page shows one code holding their whole cart — just the items and how many of each, nothing else.
- They bring the code — and the goods — to you. That's the whole shopping trip: like an online shopping experience, but it has the added step of actually paying someone.
Setting it up: with the switch on, set your Shopper page address in the Register settings, tap Download shopper catalog (JSON), and put the penny-free-catalog.json file it gives you on your site next to the shopper page (shop.html). Re-download it whenever prices or stories change — shoppers always read the freshest copy. Then set your label codes to Shopper page link — Press2Shop so each printed label carries a shopper straight to the piece.
Who it's for: sellers who don't love performing for a crowd, who are tired by 3 p.m., or who leave the booth with a sitter who can't answer questions about the work. The page tells the stories and keeps the total, all day, without wearing anybody out. The booth carries its own knowledge — the register holds the prices, the page holds the stories — so a borrowed pair of hands can run the booth properly.
The shopper's total is an estimate for their convenience. Your register stays the master at checkout — its total is the bill.
Press2Scan — checkout by scanning
Press2Scan is the register side of the same idea:
- Cart verification: scan the shopper's cart code and the whole cart lands on the register at once — priced from this register's own catalog, never from the shopper's phone. Check it against the goods in their hands, and ring it up. No re-tapping items, no re-adding. If a code names something your catalog doesn't carry, the register tells you how many items it couldn't place — ring those by hand.
- Your phone as a scanner gun: your phone carries the same official price list as the register — synced by the catalog code (Chapter 10), right there at the booth, no signal needed — and works as a second scanner at checkout. Scan tags with it and items ring from the same list. A helper on a phone becomes a second checkout lane.
- Tags on a screen: the full-screen tag is already in the base app — Show tag on any tile (Chapter 5) — upgrade or not.
12. Troubleshooting
The camera won't scan at all
- Likely cause: the browser doesn't have camera permission, or another app is holding the camera.
- Fix: allow camera access for the app when asked (on iPhone: Settings → the browser → Camera). Close other camera apps and try again. If the live camera still won't behave, use Take a photo or pick an image — the app reads codes from a still photo too.
The code won't read in bright sun
- Likely cause: glare and washed-out contrast — outdoor fairs are the hardest place to scan anything.
- Fix: shade the tag with your hand or body, tilt the tag so it isn't reflecting the sky, and move the phone closer rather than zooming. A matte tag beats a glossy one outdoors. If a printed code is faded or tiny, reprint it bigger — and remember the test from setup: print one, scan it back, before fair day.
A tag's code is missing, or shows an error
- Likely cause: the code maker downloads the first time a tag is shown or printed, and that one download needs a connection. An item with a very long story may also hold more than one code can carry.
- Fix: show or print one tag at home on Wi-Fi, once — after that, tags work offline. If a single item still won't make a code, shorten its story; the item still rings up from its tile either way.
A shopper's cart code won't ring up
- Press2Scan off? Cart codes only work with the Press2Scan / Press2Shop switch on in the Register settings (Chapter 11). With it off, the register says so and nothing is rung.
- Item not in your catalog? The register prices cart codes from its own catalog. Anything it can't match is counted for you — ring those pieces by hand. Sync your catalog (Chapter 10) if a device is behind.
The total looks wrong
Work through these, in order — one of them is almost always it:
- Wrong category. An item rung under Food when it should be Alcohol (or the reverse) taxes the whole category subtotal at the wrong rate. Check the category on the item or tile — “Priced under” is where a tile's taxes come from.
- A chord left lit. If Hold kept the last item's charge keys lit, the next item picked them up too. Watch the tax keys as you ring; Clear empties the chord.
- The penny discount is doing its job. A total a few cents under the tag math, booked in the discount column, is the penny discount landing the total — not an error. Check its on/off and landing step (5¢ / 25¢ / $1) in the Register settings.
- A discount or tip is on. A percent/dollars-off discount comes off before tax; a tip goes on after tax. Both show on the receipt and the register breakdown.
- A cent off from another register. Penny-Free figures each percentage on the shelf price alone, rounded by itself, and taxes each category once on its subtotal. A register that stacks charges or taxes item-by-item can differ by a cent. The math is consistent — tap See register breakdown and follow it line by line.
“No exact price” (working backward)
A few final totals have no exact shelf price at all. The calculator says so rather than round. Nudge the total to the nearest 0¢ or 5¢ and it will find the tag price.
A basket of penny-free items still doesn't land
Pricing one item at a time can't promise the basket lands — tax on the whole basket is figured on the combined subtotal. That's what Register mode is for: it taxes each category once, on the whole sale, and the penny discount lands what's left.
Labels print the wrong size
- Likely cause: the print dialog shrank the page to fit.
- Fix: in the print dialog, set scaling to 100% (not “fit to page”), pick the label printer and the right label size, and print a single test tag. Scan it back before printing the roll.
The printer won't print at all
Check the printer is on, paired/connected to this device, and selected in the print dialog. Penny-Free prints through the device's own print dialog — if other apps can't print either, the problem is the printer setup, not the app.
A sale was recorded wrong
- Open the Day tab and find the sale in the list (newest first).
- Tap Void. The sale leaves the day's totals and its items go back into stock.
- Ring the sale again, correctly. If the customer needs the paper, tap Receipt on any listed sale to reprint it.
Voided a cash sale after the money moved? The drawer count at close will tell you the truth — count what's actually there and let the variance line say its piece.
Pennies are still appearing
- Penny discount off? Check the Register setting — On lands every sale automatically; Off charges the exact total, pennies and all.
- Set to 5¢ but change includes pennies? The discount lands the total; if a customer pays with exact change plus a penny-heavy tender, the change shown assumes your till. Land on 25¢ or $1 if you'd rather never touch coins at all.
- Pricing one item at a time? Single-item pricing doesn't govern a whole basket — ring the sale in Register mode (see above).
The app “forgot” my settings, items, or sales
- Likely cause: the browser's site data was cleared — by hand, by a “cleaner” app, or by the phone making room. The app's memory lives in the browser on that device; there is no cloud copy to restore from.
- Fix, going forward: don't clear site data for the app; keep the home-screen app and open it from there. Download the Day CSV each day. Share your presets to a second device by QR (Chapter 10) so a copy of your setups lives somewhere else — and keep a downloaded catalog file with your records, too.
- If the app looks old rather than empty — an out-of-date build — open it once with a connection and let it refresh itself, then it will work offline again. (The build you're running is printed at the top of this manual.)
My phone died / I'm switching devices mid-day
Sales live on the device that recorded them — there's no live sync to fail over to. Finish the day on the second device if it's set up (that's what the preset QR and the catalog sync are for), close each device's day on its own Day tab, download both CSVs, and add them together. Count the one drawer by hand as usual.
The payment handoff confuses my customer (or me)
- The customer pays in your app — Venmo, PayPal, Cash App, or Square — never inside Penny-Free. Say it that way at the table: “I'll pull it up in Venmo — you'll pay me there.”
- If a method button is missing at checkout, it isn't filled in under Your payment apps (Register). Blank fields don't appear.
- Square: the pay link path opens your Square checkout with the total carried in. The direct handoff (amount locked, confirmation returns here on its own) needs your Square application ID in the last setup field — without it, use the link and confirm payment yourself.
- Whatever app they paid in, tap Paid — record the sale when you're back — or answer the “Did they pay?” banner (Chapter 9). Until the sale is recorded, it isn't in the day's books and stock hasn't counted down.
The first photo list read fails
The photo reader downloads the first time you use it, so that first read needs a connection. Do one photo list at home on Wi-Fi; after that, photos read on the device, offline. And always check the list it makes — a misread price is a wrong price until you fix it.
13. Limits worth knowing
- US-style tax added at the register. If tax is already baked into your shelf prices, the forward pricing mode isn't modeling your setup.
- Charges don't stack. Each percentage is figured on the shelf price alone. If your state figures tax on a running total or uses a bracket table, results can differ by a cent.
- Your data stays on this device. No account, no sync, no tracking — and clearing the browser's site data erases it (see Troubleshooting). The catalog file and preset codes move setups between your devices; sales are never merged between devices — each device closes its own day.
- The register never needs the internet. The only moments a connection helps are the one-time photo reader and tag-code downloads, app updates, and the payment apps themselves — which are your apps, doing their own job.
Penny-Free · pennyfreeapp.com · Made by Penny-Free Press
- The calculator prices one item at a time. Tax on a whole basket is figured on the combined subtotal, so several penny-free items rung up together can still produce a total that isn't. For the sale itself, use Register mode — it taxes each category once, on the whole sale, and a small penny discount (a few cents, always down, booked as a discount) lands the total.
- Charges don't stack. Each percentage is figured on the shelf price alone and rounded to the nearest cent by itself, like a typical register. If your register or your state figures tax on a running total, or uses a bracket table, the result can differ by a cent.
- Some totals can't be built. Working backward, a few final totals have no exact shelf price at all. The calculator says “No exact price” rather than round anything — nudge the total to the nearest 0¢ or 5¢.
- Made for tax added at the register — US-style sales tax and register fees. If tax is already baked into your shelf prices, the forward mode isn't modeling your setup.
- Card and app payments run through your own payment app — Venmo, PayPal, Cash App, or Square. Penny-Free carries the total over and records the sale; it never processes, stores, or even sees a card number, and the register side works entirely offline.
- Your data stays on this device. Settings, presets, saved calculations, sales, and stock live in this browser only — no account, no sync — and clearing the browser's site data erases them.
- Not tax advice. Confirm your local tax rules before changing posted prices.
How it works
1. Pennies are going away
The mint has stopped making new pennies, and shops are running out of them. When a total ends in 1, 2, 3, 4, 6, 7, 8, or 9 cents, somebody has to round, scrounge, or make change that no longer exists.
2. Move the price, not the total
Penny-Free never rounds your total. It nudges the shelf price by a few cents until the exact total — tax and all — already lands on 0¢ or 5¢. Nickels and up cover it, and no pennies change hands.
3. Works both directions
Start from a shelf price and find its penny-free neighbor, or start from the total you want to ring up and work backward to the shelf price that produces it. Set your local tax rate once and check any price in seconds.
Tip: add this page to your home screen and it opens like an app — no account, no tracking, and it works offline once loaded.