Skip to content

Snap-a-Sale

Photograph your market tally sheet and turn it into real sales

Back to AI Features

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

WhatHow it's matched
ProductsMatched 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.
VariantsResolved from descriptive words on the page — "lavender", "large", "blue" — against the item's scent, size, and color variants.
CustomersNames are matched to your existing customers or created as new ones; sales with no name default to your anonymous walk-up customer.
PricesFilled 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