Receipts
A barcode or a photo is one thing at a time. A receipt is a whole haul: what you bought, where, when, and what it cost. Cobblr reads one into a purchase and a set of inbox lines you confirm like any other scan.
The loop:
- Get the receipt in: the Receipt button, the camera pointed at the paper, a forwarded email, or a standing inbound address.
- It lands in your inbox as its own
Receipt · <store>session, and the purchase is recorded straight away. - Check the lines. Cobblr has already checked them against the total.
- File the session in one phrase, and the lines become things you own.
Four ways one gets in
- The Receipt button on the scan page. Pick a CSV, a PDF, or a photo of one.
- The camera scanner, pointed at the paper. Nothing extra to press. One
inbox line per item under a
Receipt · <store>session, plus the purchase. - Forwarding it by email to the
receipts+…@address on the scan page (tap Copy). Works even when the receipt is the email body with nothing attached. You always get a reply saying what landed. - A standing inbound address that vendors and systems send to on their own, so order confirmations and shipping notices arrive as confirm-ready rows.
- Both email doors need an admin or the operator to set them up. Until then they do not appear.
How the camera and email doors behave at the edges
Camera: the pass that normally identifies a product reports when it is looking at a receipt, and the picture goes to the same reader a PDF does, so you get a line per item rather than one item named after whatever text was legible. It is deliberately hard to trigger by accident. A photo that was identified as a product is never treated as a receipt, however much its packaging mentions invoices, and a dark or unreadable frame is treated as a bad photo. A recognised receipt whose lines cannot be read stays in your inbox with a note saying so.
Email: Cobblr reads the body and its HTML, splits an item list into rows, and saves anything it cannot split as a single note to sort. The reply says how many items imported, that it was already imported, that it was saved as one note, or that no receipt was found. The receipt is stored the moment it arrives, so a hiccup during processing never loses it.
How it is read
- Most receipts need no AI. A CSV or a ruled table parses directly, and a plain till receipt is read line by line for free. A photo falls through to a vision read. A text receipt whose arithmetic does not reconcile falls through to an AI text read.
- The lines are checked against the total. Cobblr compares what it read to what you paid and tells you when they disagree, which stops a confident wrong price.
- A coupon comes off the line it discounts, never dropped or made a row of its own. The line keeps its rung-up price and records what came off, so two coupons on a 2-for-0.49 pair of croissants leave them costing nothing and the items add up to what you paid. No row to triage for something nobody owns.
- A product number printed beside a line is kept, so the line resolves to a real catalog name and picture instead of the till's abbreviation. Nothing is invented for a receipt with no codes.
- A model number printed beside a line ("Model #: GA605WI-XS96") is recorded on the item exactly as printed, on a receipt or an order email.
The session in your inbox
Each receipt is its own labelled session, so a whole haul reads and triages as one thing instead of scattering into whatever else you were scanning.
- Name, number, date and item count sit together on the left as one phrase. The date is the one printed on the receipt, not the upload date.
- Tap the number to edit it where you read it. A session with no number offers to add one in the same spot.
- The chevron folds the session. Tapping the name does not, because reading a title and hiding it should not be the same gesture.
- Original opens the source full screen (PDF, photo, or email). Click the dark area around it to close.
- Re-parse reads it again and replaces the still-pending lines, for a weak first read or after you turn on AI.
- A tracked parcel's delivery status sits on the row too, a fact about the session rather than an action.
- When something is arriving shows on the row ("arriving tomorrow", "arriving Friday"), read from the receipt's own estimate. The earliest date wins when an order ships in parts. A passed estimate reads "was due", because an estimate is not a delivery.
- Duplicates are caught. Same store and same order number as one already imported, and Cobblr says so and offers Import anyway. A receipt with no order number is never treated as a duplicate.
It becomes a purchase order straight away
- The purchase is recorded the moment the receipt is read, with every line on the order immediately, not once you triage.
- A line becomes an item you own only when you confirm it. Plenty on a receipt gets used up rather than kept: the purchase is what you spent, and the inbox lines are the question of what you want to track.
- Discarding the whole receipt cancels the order it created.
- Several receipts waiting (with Purchases enabled) collapse into one line, "3 receipts to confirm as purchase orders", with Confirm all, or expand it to confirm each on its own.
Turning lines into things you own
- Lines look for their own picture, searching the shop the receipt came from, so a "Croissant" off a supermarket receipt looks for that supermarket's croissant. Each line shows its shop under its name.
- Till abbreviations match what you already track. "SHRD MOZZ 8Z" matches "Shredded Mozzarella" and offers to add to it instead of creating a second part every shopping trip.
- Filing the whole session is one phrase. "Place and file all 3 as Mugs" when it still has to ask where, "File all 11 as Figurine" when it knows. Into only ever means a place, and as only ever means a category.
- A table you do not have yet installs from the same destination pill every other item uses, not from a second button beside it.
What a confirmed receipt fills in
- Fields marked acquired from, acquired on or acquired for get where you bought it, when, and what it cost after any discount. Matching is on what a field means, not its name, so "Acquired from", "Source" and "Bought from" all work.
- A forwarded receipt keeps the whole purchase, not just the items: who sold it, what it cost after discount, and when it is due to arrive.
- On a marketplace the shop and the seller are separate facts, because you shop at the one again and probably never deal with the other twice.
- Groceries records the day you bought it in its own Bought on date, read from the receipt, so shelf life counts from the purchase even if you scan the receipt a week later. With Provenance switched on too you get one date field rather than two, because they deliberately share a name.
Filling in where things came from
Turning a set of fields on (Provenance: acquired from, on, and for) gives your next scans somewhere to land. Things you filed earlier already had their receipts read, and everything those receipts said was kept, so the answers can move across.
-
Ask Cobb to "fill in where my things came from", or call it directly as an owner or admin:
POST /api/v1/orgs/<slug>/modules/core-scan/receipts/backfill-fields?dry_run=true -
Read the dry run. It reports how many items it looked at, how many it would fill, how many already had answers, and how many never came from a receipt, and it writes nothing.
-
Run it again without
dry_runto fill them.
- Only an empty field is filled. "A gift from Mum" typed into Acquired from is never overwritten by a receipt that disagrees.
Filing paperwork behind something you already have
Two doors run in opposite directions.
- The upload button at the top of the inbox is an intake: the receipt arrives first and its lines become your items.
- The camera button on a scan card is the reverse: the item exists and you are filing paperwork behind it. Choose a PDF or CSV there and Cobblr reads it into a purchase, records every line, links the item to that purchase, and puts nothing new in your inbox.
- The other lines are recorded, not owned. The item's card says "This receipt lists 4 other items" and opens to list them with quantities and prices. Nothing there becomes an item unless you say so.
- The link survives a re-run of the AI. Which receipt something was bought on is a fact about the purchase, not a guess a model made.
Following the parcel
A receipt with a tracking number is followed while it is still in your inbox, so you are told when it arrives without having triaged it first. See Parcels.