Marked-up bid sheets in. Clean, priced line data out.
Drop in the district’s bid sheet with your handwriting on it. Every line comes back as data — the printed spec and your written response, kept separate. An 86-line sheet that took an hour to key reads in 84 seconds.
problem
A district sends a bid sheet. Someone at your company prices it by hand — writing on the page, because that is how the sheet arrives and that is how the category manager thinks. Then someone retypes all 86 lines into the order system.
The retyping is the whole problem. It takes an hour a sheet, it happens five times a day in season, and it is the step where a pack size gets read as a unit price and a $4,000 line goes out wrong. The pricing judgment was already made correctly on paper.
So this does not try to replace the judgment. It reads the sheet you already marked up — print and pen, kept separate — and gives you back the data, with the arithmetic done in software and the uncertain lines flagged.
Five sheets a day is 1,300 hours a year.
What it takes to key one 5–7 page district bid sheet — line by line, pack size by pack size, into the order system.
Measured on a live district bid. Every one needs the printed spec, your response, the pack size and the price captured correctly.
Five sheets a day, five days a week. That is a full-time position spent retyping paper that already exists.
Sheet on the desk to structured data in under two minutes.
Drop in the marked-up sheet
The district's bid sheet, printed from EDS, with your pricing and compliance notes written on it. PDF or a photo of the page.
It reads print and pen together
The printed spec and your handwritten response come back in separate fields — your substitute never overwrites the district's wording.
Every line is kept, including no-bids
Nothing is dropped or summarized, so the output reconciles against the original page for page. A no-bid is data, not a gap.
The math runs in software
Extended price, each-counts and price-per-each are computed deterministically — not generated. Same sheet in, same totals out, every time.
Unsure lines are flagged
Instead of one confident answer for all 86 rows, it tells you which to check. Across the two live bids carrying handwritten responses that was 19.9% of lines — 31 of 156.
One 7-page sheet, 86 line items.
Measured on a live district bid — not modeled.
Of those twenty minutes, 84 seconds is the machine reading the sheet, at $0.83. The rest is a person checking the flagged lines and spot-checking the others. The estimate deliberately allows review to take ten times longer than the read.
| Volume | Keyed by hand | With bid capture | Saved |
|---|---|---|---|
| 5 / day | 5 hrs · $175 | 1.7 hrs · $63 | 3.3 hrs · $113 |
| 25 / week | 25 hrs · $875 | 8.3 hrs · $313 | 16.7 hrs · $563 |
| 108 / month | 108 hrs · $3,790 | 36 hrs · $1,353 | 72 hrs · $2,437 |
Your response and the district’s spec, never merged.
Response, per line
You're bidding the district's item exactly as printed.
Your equivalent, captured alongside the district's spec rather than replacing it.
Preserved as an explicit answer, so the sheet reconciles line for line.
Nothing written on the line. Flagged rather than guessed.
Price basis, per line
Priced each.
Priced by the pack, with the pack size read off the line.
One price for the whole line.
Flagged for review instead of assumed.
What it does.
Reads handwriting, not just print
Compliance notes, substitutes and prices in pen, highlighter or scribble land in their own fields — separate from the district's printed spec.
Captures every line, including no-bids
Nothing on the sheet is dropped, so the extract reconciles against the original page for page. No silent omissions to discover at submission.
Deterministic math, not generated math
Extended price, each-counts and price-per-each are computed in software. The model reads the sheet; it never does the arithmetic.
Tells you where it was unsure
Per-line uncertainty flags, so review time goes to the lines that need it — 19.9% of lines on the handwritten bids, the two landing independently at 19.8% and 20.0%.
Full EDS header capture
District, Bid #, Category, Report Date, Bid Due Date, Vendor and Vendor Code pulled off the page header, dates normalized to ISO.
EDS item codes and cross references
The Item# column captured verbatim — S+ADD00223, 63800009, U8ADD01630 — alongside the EDS cross-reference value for matching.
Pack sizes preserved
A case of 6 and a case of 12 are not the same bid. Pack size is read off the line and carried into the price-per-each calculation.
Page-by-page progress
A 7-page sheet reads in roughly 90–150 seconds, with real page and row counts streaming as the pages land — not a spinner.
What these numbers rest on.
Assumptions
- —One hour to key a 5–7 page sheet by hand, at $35/hour loaded.
- —15 minutes of human review per sheet — ten times the machine read time.
- —Processing cost measured across 4 live sheets: 20 pages, 218 lines, $2.10 total.
- —Five sheets a day, five days a week — 1,300 a year if sustained.
- —Validated on custodial and janitorial categories, three New Jersey districts.
What it does not do
- —It does not price items or suggest prices.
- —It does not decide whether to bid or no-bid.
- —It does not submit anything to the district.
- —It does not remove the need for review — 19.9% of lines came back flagged on the handwritten bids, and a person should look at those.
- —Line-level accuracy has not yet been audited against the original sheets.
Functional and validated against live district sheets, not yet hardened for unattended use. If you run school-district bids and want to put it against your own sheets, that is exactly the conversation worth having now.
Questions.
What is a school district bid sheet?
A district's request for pricing, printed from the Educational Data Services (EDS) system. Each page carries a header — Vendor, Vendor Code, District, Report Date, Bid #, Category, Bid Due Date — and a table of line items with the district's spec, an item code, a cross reference, and columns for the vendor's response and price. Vendors typically receive them as paper or PDF and write their responses on the page.
Does it read handwriting?
Yes — that is the point of it. Your written compliance notes, substitutes and prices are extracted into their own fields, kept separate from the district's printed wording so the two never get merged. Pen, highlighter and scribble have all been read on live sheets.
What happens to lines you decided not to bid?
They are captured as an explicit no-bid, not dropped. That matters because it lets the extract reconcile against the original sheet page for page — if a line is missing from the output, you know it is a real problem rather than an intentional omission.
Does the AI calculate the prices?
No. The model reads the sheet; the arithmetic runs in software. Extended price, each-counts and price-per-each are computed deterministically, so the same sheet produces the same totals every time. That is a deliberate split — language models are good at reading a messy page and bad at being trusted with a column of money.
How much does it cost to process a sheet?
Measured across 4 live sheets — 20 pages and 218 lines — processing came to $2.10 total, about $0.83 for a single 7-page sheet. Against roughly $35 of hand-keying for the same sheet, the processing cost is not the deciding factor; the review time is.
Nearly 20% of lines get flagged — isn't that a lot?
Flagged is not the same as wrong. Across the two live bids that carried handwritten responses, 19.9% of lines came back flagged — 31 of 156, with the two bids landing independently at 19.8% and 20.0%. That counts every line the system marked as worth checking, either through a review rule or through less-than-high read confidence. It is deliberately cautious: nobody has yet audited whether the flagged lines were actually wrong, or whether any unflagged line was. The alternative design — presenting all 156 lines with equal confidence — would read better and serve you worse.
What is the current status?
Pre-alpha: functional and validated against live district sheets, not yet hardened for unattended use. It has been run on custodial and janitorial categories across three New Jersey districts. Line-level accuracy has not yet been formally audited, which is why every run surfaces flagged lines for review rather than presenting itself as finished.
How is this different from Liquid Quote?
Same engine, different document. Liquid Quote reads an inbound manufacturing RFQ — a print or drawing — and prices it against a shop's prior-quote library. Bid Sheet Capture reads a school-district bid sheet with your handwriting on it and returns every line as structured data. If you do both, they share one workbench.
Put it against your own sheet.
Bring one marked-up district bid sheet. You will see every line come back — print, pen, pack size and no-bids — with the flagged lines called out, in about ninety seconds.
