Snap-a-Sale
Photograph your market tally sheet and turn it into real sales
The market-day notebook, imported
You just got home from a market with a tally sheet full of pen marks. Instead of typing each sale, photograph the page: Snap-a-Sale reads the dates, products, quantities, prices, and payment splits, matches everything to your catalog, and drafts the sales for you to review. When you commit, the sales are recorded as completed and your stock goes down — the same result as typing it all in, minus the typing.
Where to find it
The "Snap a sale" button lives in the table actions on the Transactions page and on Deliver → Sales. It's camera-first — on your phone it opens the rear camera straight away — so the natural workflow is to snap the sheet right at your stall. It accepts the same files as invoice import (PDF, PNG, JPG, WEBP, or HEIC), and captures queue in Optimize → Document Imports alongside your invoice and receipt imports.
Snap-a-Sale is gated by the same AI document capture consent toggle as invoice import — see AI Features.
What it can read
Snap-a-Sale is built for the paper that real selling produces — handwriting included:
- Tally sheets — pen-stroke counts next to product names.
- Order forms — a customer name with their items and prices.
- Market notebooks — a page of scribbled sales, possibly spanning several dates.
- Consignment statements — a shop's printed list of what sold on your behalf.
From those it extracts the sale date (or dates), the event name, each line's product, quantity, and price, payment-method breakdowns (cash, card, Venmo), and customer names when they appear.
How lines match your catalog
| What | How it's matched |
|---|---|
| Products | Matched against your sellable catalog only (products and services) — by name first, then SKU, then variant SKU. Ingredients and supplies are never matched, so a misread can't sell your raw materials. |
| Variants | Resolved from descriptive words on the page — "lavender", "large", "blue" — against the item's scent, size, and color variants. |
| Customers | Names are matched to your existing customers or created as new ones; sales with no name default to your anonymous walk-up customer. |
| Prices | Filled in order of trust: the price written on the document, then the customer's pricing-tier price, then your catalog price. A line with none of those is flagged as needing a price. |
Every filled-in price carries a provenance chip — "from document", "from your catalog", or "from tier: Wholesale" — so in review you can see at a glance which numbers came off the page and which were filled in for you.
One sale or many: dates and named orders
By default, one document becomes one aggregated sale per date — the right shape for a tally sheet, where you care about the day's totals rather than individual shoppers. In review you can change the split:
- No split — one sale per document per date (the default).
- Split by date — a notebook page covering a whole weekend becomes one sale per day.
- Split by named order — an order form with customer names becomes one sale per customer, each linked to that customer's record.
What happens when you commit
Committing creates real completed sale transactions: stock is decremented, payment methods are recorded with their fees, and the photo of your sheet is attached to the sale as its source document. The commit button tells you the stock impact before you click — for example, "Save sale — 22 items will leave stock" — so there are no surprises.
Until that click, nothing has touched your books. Discarding a draft costs nothing and changes nothing.
Etsy packing slips are blocked on purpose
If you snap an Etsy packing slip, Snap-a-Sale stops with a hard interstitial: "This looks like an Etsy order — those sync automatically. Importing it would double-count the sale." Connected Etsy shops already sync their orders into Ardent Seller, so importing the paper copy would count the same sale twice. See How Etsy Sync Works for what syncs automatically.
Good to know
- Unmatched lines never move stock. Snap-a-Sale does not create new products. A line it can't match to your catalog commits as a description-only line — the revenue is recorded, but no inventory quantity changes. If it should track stock, add the product first and re-match.
- Free items need a confirmation. Lines priced at $0 (samples, giveaways) sit behind an explicit confirmation so a misread price can't silently zero out revenue.
- Duplicate photos are caught. Snapping the same sheet twice trips a duplicate guard based on the date and document content for your account and location.
- It shares the document-import allowance. Each successful capture uses 1 unit of the same monthly pool as invoice and receipt imports (or 1 credit on Pay As You Go).
Related articles
AI Features
An overview of the AI features in Ardent Seller — invoice and receipt import, Snap-a-Sale, the listing copywriter, and the pricing advisor — plus the consent toggles, plan allowances, credits, and exactly what data is (and is never) sent.
AI Invoice & Receipt Import
Photograph or upload vendor invoices and expense receipts and let Ardent Seller draft the transaction — what gets extracted, the review step, email-to-import setup, costs, and limits.
How Etsy Sync Works
What the Etsy integration syncs and when — sales every 15 minutes, listings every 6 hours, inventory pushes on stock changes, fee tracking with Schedule C categories, manual sync controls, and daily reconciliation in Ardent Seller.