Home Depot receipts are printed on thermal paper. Leave one in a hot truck for two days and the ink fades to nothing. Fold it and the creases make OCR fail. Drop it in a puddle and it's gone.
The field PM visits Home Depot four or five times a week on an active build. That's potentially 20+ receipts per week that need to be captured, categorized, and submitted for review. If the process takes more than a minute per receipt, it won't happen consistently. If it doesn't happen consistently, the manager is reviewing numbers that don't match reality.
The 10-Second Rule
The design goal for BLT's expense capture flow was simple: the PM should be able to photograph a receipt, tag it to a project and phase, and submit it in under 10 seconds. Not 30 seconds. Not "a couple minutes." Ten seconds.
That constraint drove every design decision: the camera opens immediately from the expense entry screen, the last-used project is pre-selected, phase defaults to the active phase, and OCR handles vendor name and amount extraction automatically. The PM reviews, corrects if needed (usually nothing to correct), and submits.
What OCR Actually Needs
AWS Textract — the OCR engine BLT uses — is remarkably good at reading receipts, even crumpled ones. But it works best with:
- Good lighting — natural light or bright indoor lighting, no harsh shadows across the text
- Flat surface — lay the receipt on a flat surface if possible; avoid photographing while holding it
- Full frame — the entire receipt in frame with some margin around the edges
- Steady shot — motion blur is the main enemy of OCR accuracy
The camera in BLT's capture flow auto-focuses and auto-exposes. For most receipts, you tap, shoot, and get clean extraction. For problem receipts — faded thermal, crumpled, small print — a second shot from slightly different angle usually does it.
What Gets Extracted
For standard retail receipts (Home Depot, Lowe's, Ferguson, etc.), Textract extracts: vendor name, date, total amount, tax, and individual line items with quantities and unit prices. That line-item data is where the real value is.
The manager reviewing the weekly expenses doesn't just see "$847.23 — Home Depot." They see Simpson LUS28 joist hangers × 12, CDX plywood 4×8 × 8, 16d framing nails 50lb × 2. They can verify that what was purchased matches what the phase requires. Over time, this line-item history builds a material cost database that makes future budgeting dramatically more accurate.
Offline Works Too
BLT's PWA works offline. If the PM is in a dead zone, photos are stored locally and queued for upload when connectivity returns. A sync badge shows how many items are waiting. The PM never loses a receipt because of bad signal.