← All Reports

Dev Sprint 3 Planning

Receipt Scanning via Google Cloud Vision
Planning 2026-03-20 3 Stories In Progress
3
Stories
1
High Priority
2
Medium Priority
16
Existing Tests

Sprint Goal

Lerato photographs a Woolworths or Checkers till slip and items land in her pantry automatically. No manual entry required for a regular weekly shop.

Grace can scan a product barcode and add or increment a single item in under 4 taps.

Stories

IDStoryPriority
CAP-001Photograph till slip, auto-add items to pantryHigh
CAP-002Multi-section scanning for long receiptsMedium
CAP-003Barcode scanning to log individual itemsMedium

Architecture

Google Cloud Vision is called via a Supabase Edge Function to keep the API key server-side. The browser never touches the Vision API directly.

Scan Flow
Camera capture or file upload → Edge Function (Vision API + SA parsing) → Review screen (editable items) → Confirm → inventory_items + receipts
Edge Function
Supabase Edge Function at supabase/functions/scan-receipt. Validates JWT, calls Vision API, applies SA till slip parsing rules, returns structured items.
SA Receipt Parsing
Specific rules for Woolworths, Checkers, Pick n Pay, and Makro. Skips totals, VAT, discount lines. Handles quantity multipliers. Auto-assigns categories.
Barcode Scanning
ZXing (@zxing/browser) for real-time camera barcode scanning. Matches against existing inventory items or prompts manual entry.

Pre-Sprint Nav Fixes

New Routes

RouteComponentStory
/scanReceiptScan.jsx (replace stub)CAP-001
/scan/barcodeBarcodeScan.jsx (new)CAP-003

Integration Tests Planned

All 16 Sprint 2 tests must continue to pass.

Definition of Done