Skip to content
How it works

Eleven years of paper, turned into a record a stranger can check.

A black Mercedes-Benz 190E parked small in the frame beneath a vast pale coffered concrete canopy.

Forward it, photograph it, or type it. A suspension job is four facts — date, mileage, part, price — plus one reason only you know.

Nothing is saved until you approve it. No VIN required.

Step 01

Three ways in. One place it lands.

Whichever is easiest the moment the job ends.

Forwarded parts order

Order 88-41207 confirmed
2 × front control-arm bushing
$312.00

Forwarded from your own inbox.

Photographed invoiceA printed work order filled in by hand, with ruled columns of parts, labor, and totals, lying on dark wood.

Hilltop Motors · invoice 4471

Shot on the phone in the parking lot.

Typed entry

Front bushings, did it myself, March

What you remember, in your own words.

One event
Front control-arm bushings
March 14, 2024195,100 mi$880 itemized

Held as a draft, document attached, until you approve the fields.

Step 02

It proposes. You approve. Only then is it a record.

Invoice 4471, read into one event
1 — arrives
Mar 14 2024Unread
Hilltop Motors — invoice 4471.jpg
storedsha256 4b70e8…no fields yetnothing written
The file, exactly as it came
2 — proposed
Mar 14 2024ProposedInvoiced
Front suspension work billed
parts $312.00labor $568.00195,100 miHilltop Motors
Draft · nothing saved
3 — a record
Mar 14 2024Invoiced
Front suspension work billed
parts $312.00labor $568.00195,100 miHilltop Motors
Sourced · invoice 4471
A model reads the document. It never writes the record.

What is kept behind the fields

Storedinvoice-4471.jpgexactly as it arrived
Checksumsha256 4b70e8…parent: the message it came from
Attached1 eventcited by every approved field

The document is never edited and never replaced. A correction is a new revision beside it, and the old reading stays where it was.

Step 03

When the document doesn’t say, neither do we.

Currency$880.00£880.00¥880.00Needs your call
Odometer unit195,100 mi195,100 km
Date roleinvoiced March 14fitted March 14
Never a guessed currency, odometer unit, or date role. The readings it set aside stay on screen.
Step 04

Ordered, shipped, invoiced, serviced, fitted.

Three of these fall on March 14 and still do not merge into one.

OrderedFeb 28 2024
ShippedMar 04 2024
InvoicedMar 14 2024
ServicedMar 14 2024
FittedMar 14 2024
same day, three roles
Collapsing them into one date is how a record starts lying about when the work happened.
Hilltop MotorsInvoice 4471
LineDescriptionQtyCost
1Control-arm bushing, front lower2$312.00
2Labor, 4.0 hr$568.00
3Alignment, four wheel1included
Received Mar 14 2024 at 09:12 · odometer written on the page as 195,100

One sheet of paper, four columns, and three separate things that happened to the car on it.

Mar 14 2024Invoiced
Front suspension work billed
parts $312.00labor $568.00$880.00 totalHilltop Motors
Sourced · invoice 4471
Mar 14 2024Fitted
Front control-arm bushings
195,100 mipart 31-12-6-771-8972 of 2Installed by Hilltop Motors
Sourced · invoice 4471
Two cars with their wheels off in adjacent bays of a tidy shop under overhead strip lighting.
The bill, the service and the installation are one afternoon in a bay and three separate facts about the car.Renee Razumov / Pexels
Step 05

One approved event, in four places at once.

Approved
Front control-arm bushings
March 14, 2024195,100 mi$880 itemized
TimelineMarch 14, 2024 · 195,100 mi · Hilltop Motors
Expenses$880 · suspension · 2024
Buildchapter: front suspension refresh
Story highlightsfront control-arm bushings, documented
Entered once. Never copied, never counted twice.
The capture surfaces

One address, yours, that turns a parts order into an entry.

One per garage, or one per car if you keep the receipts separate. Nothing else on the internet has it.

ProvoryForwarding/forwarding
The 1994 coupe1994-coupe.k7fq@in.provory.com
CopyRotateRevoke
Arrivals
Mar 04shipment confirmation
Mar 14Hilltop Motors invoice 4471
Mar 21parts order 88-41207
Copy it once into the forwarding rule and the receipts arrive without you.
If it leaks
Live1994-coupe.k7fq@in.provory.com
Events already saved214
Documents already stored318
Anything lostnone
Revoked1994-coupe.k7fq@in.provory.com
Issued1994-coupe.p3dn@in.provory.com
Events already saved214
Documents already stored318
Anything lostnone
Revoking issues a new address. Everything the old one already brought in stays exactly where it is.

An address that leaks is an address you replace in 3 seconds, not an account you have to rebuild.

Set the rule once; the receipts arrive on their own.

The setup is four steps in your own mail client, with the address already on your clipboard.

GmailOutlookAnything else
  1. Open filters and blocked addresses

    Settings, then the filters tab. Create a new filter.

  2. Match the suppliers you buy from

    Sender contains the parts store, the shop, the marketplace. Add more any time.

  3. Forward to your Provory address

    Paste the address you just copied. Confirm it once.

  4. Apply it to messages already in the inbox

    Eleven years of receipts can go through on the same afternoon.

A newsletter from the same supplier is logged and left alone.
Printed forms and a pen laid out on a walnut desk, photographed from directly above.
A rule set once, in the place it belongs, and then left alone.2H Media / Unsplash
Guided setup

Gmail and Outlook are walked through screen by screen. Everything else gets the address and the one rule it needs.

Receipt detection

Orders, invoices and shipping confirmations are picked up. Marketing from the same sender is recorded as seen and ignored.

Every message, including the ones that failed.

A batch, a message, a draft, a failure, a saved event. Five states, and a message is always in exactly one of them.

ProvoryForwarded messages/processing
ArrivedSubjectOutcomeState
Mar 22 08:30Invoice 4471 (forwarded again)same file, kept as a third arrivalDuplicate
Mar 21 11:07Parts order 88-41207 (3 attachments)3 files, 2 drafts proposedBatch
Mar 18 14:55Invoice 4471 (forwarded again)same file, kept as a second arrivalDuplicate
Mar 14 09:12Hilltop Motors — invoice 44711 event, approved by youSaved
Mar 04 17:40Bushing set — shipping confirmationwaiting on youDraft
Mar 01 08:03Scan from the shop counterattachment unreadable — retryFailed
The failed row is on the screen, not swallowed. Retry runs against the file that was already stored, so nothing has to be forwarded twice.

Correcting a find pays more than confirming one.

The drafts in the table above are the queue this drains.

Pit Stop, working the drafts one at a time
1 left

The needle sweeps as you clear the queue and the lights go out one at a time. Four of the five finds from this batch are done; the last one is a currency the order never stated.

Confirmed as it stands15 sparks
Corrected before you kept it20 sparks
Queue emptyAll clear

Sparks are a tally, derived from your review history and never stored as a balance. There is nothing to spend them on and nothing to lose.

Correction pays more than confirmation because a corrected field is the one the record needed you for.

Ten kinds of thing that happen to a car.

A deposit is not a payment, a shipment is not an installation, and a return is not a refund. Each is read as the kind of thing it is.

DepositJan 08 · $200.00
PurchaseFeb 28 · $312.00
ShipmentMar 04 · 2 of 2
InvoiceMar 14 · 4471
PaymentMar 14 · $680.00
ServiceMar 14 · 4.0 hr
InstallationMar 14 · front axle
RemovalMar 14 · old pair
ReturnMar 21 · wrong bolt
RefundMar 26 · $18.40
Ten kinds, one job. The deposit, the invoice and the payment are three facts about the same $880, and the record says so.
A receding row of early Ford Mustangs on grass, the lead car's rear quarter and badge in focus.
Ten kinds of event exist because one part is ordered, shipped, billed, fitted and sometimes sent back.Darren Nunis / Unsplash

Forward it three times. One event, three arrivals.

Duplicate content is caught before extraction runs again, and every occurrence is kept.

An aisle of racked engine components in a bright, orderly parts store room.
Front control-arm bushingsMar 14 2024

invoice 4471 · 195,100 mi · $880.00 itemized

Three arrivals of one file
Arrival 1 · Mar 14

sha256 4b70e8c1…a92f — extracted

Arrival 2 · Mar 18

sha256 4b70e8c1…a92f — same file, logged

Arrival 3 · Mar 22

sha256 4b70e8c1…a92f — same file, logged

Three arrivals, one checksum, one event. Each arrival keeps the message it came from.

The checksum is taken on the bytes, before anything is read. A file that has arrived before is not sent to the model a second time, so a duplicate costs nothing and cannot propose a second, slightly different reading of the same invoice.

All 3 arrivals stay on the record. Forwarding something twice is not an error you need to clean up, and the history shows that it happened.

The 2016 timing belt has no email. Type it in.

Service, repair, modification, general and other. The form is the same whether the work was last month or in 2016.

ProvoryNew entry/vehicles/1994-coupe/history/new
Kind
ServiceRepairModificationGeneralOther
Date precisionSpring 2016
Odometer148,600
Unit
mikm
Neither unit is preselected.
DescriptionTiming belt, water pump and tensioner
Installed byOwner
Shopnot recorded
Itemized cost
Parts$265.00
Laborown time
Tagsmaintenance · engine
CancelSave to record
“Spring 2016” is a real answer, stored as the precision you actually have. It is not rounded up to a day you would be inventing.
A tied bundle of aged papers with a dip pen, an ink bottle, and loose photographs on a pale surface.
The years before the receipts were digital are still years.Joanna Kosinska / Unsplash
I did this in the spring before the Blue Ridge trip. No invoice — I bought the kit at the swap meet.
Recalled by the owner

A typed entry is marked as recalled, not as sourced, and it stays that way. It counts toward the record without pretending to be a document.

A spreadsheet, read back to you before a row is written.

CSV or XLSX. Every row is shown as Provory read it, and the rows it is unsure about sort to the top.

ProvoryImport/vehicles/1994-coupe/import
2 rows flaggedservice-history.xlsx · 8 rows · nothing written yet
RowDateDescriptionCostRead as
403/04/2019Coolant flush64.00March 4 or April 3?
711 Aug 2021Rear shocks, pair410.00no currency in this column
114 Mar 2016Radiator and upper hose$188.00Serviced
202 Jun 2017Front brake pads and rotors$318.40Fitted
319 Sep 2018Annual service, oil and filters$188.00Serviced
507 May 2020Clutch master cylinder$142.00Fitted
623 Feb 2021Cam cover gasket$96.00Fitted
830 Oct 2022Four-wheel alignment$120.00Serviced
6 rows parse cleanlyAnswer 2 rows
Nothing is written until the flagged rows are answered. An import that guessed would put a wrong date and a guessed currency into the record and never mention it.

03/04/2019 is March 4 in one country and April 3 in another, and the spreadsheet does not say which one wrote it. That is 1 question to you, asked once, instead of a silent decision you would find years later.

Everything in capture.

  • Your own forwarding addressOne per garage, or one per car. Rotate or revoke it whenever you like.
  • Guided Gmail and Outlook setupFour steps in your own mail client, with the address already copied.
  • Receipt detectionOrders and invoices are picked up. Marketing from the same sender is left alone.
  • Photographed paperworkShoot the invoice on the counter. The photograph is the stored document.
  • Manual entryService, repair, modification, general and other, for work that never had an email.
  • Spreadsheet importCSV · XLSX · 8 rows · nothing written yet
  • Ten kinds of eventDeposit, purchase, shipment, invoice, payment, service, installation, removal, return, refund.
  • Five separate date rolesPurchase, shipment, invoice, service and installation never collapse into one.
  • Nothing guessedCurrency, odometer unit, VIN, part number and date role are asked, never assumed.
  • Duplicate detection3 arrivals · 1 checksum · 1 event
  • Batches of attachmentsOne message with three files becomes three drafts, and one bad file does not stop the others.
  • Failures you can seeA failed message stays on the table with the reason, and retry runs against the stored file.
  • The document behind the fieldEvery approved number cites the file it came from, by checksum.
  • Review before anything is savedA find stays a draft until you approve it. Nothing writes itself.

Forward the last parts order you got.

One sourced event, before the coffee is finished. No VIN, no setup, and nothing saved until you have read it back.