Supplier price change alerts from restaurant invoices
The idea
Suppliers rarely announce price increases; the case of chicken just quietly costs 8 percent more, and across a month of deliveries that is thousands of dollars an owner only discovers at P&L time, weeks too late to renegotiate or reprice the menu. MarginEdge catches this as part of a 330-dollar-a-month back-office suite, which is a different universe from what a single-location independent will buy.
The wedge is doing only the alerting: photos or forwarded PDFs in, a weekly ‘what got more expensive’ email out, ranked by monthly impact so the owner knows which vendor call to make first. LLM extraction has made the hard part (reading messy invoice line items) cheap enough to sell at 79 dollars.
Who pays
The owner-operator of an independent restaurant pays 79 dollars a month per location, justified the first time the digest catches one quiet increase. Chefs and owners congregate in restaurant-owner Facebook groups, r/restaurateur, and local restaurant associations; the weekly email itself is forwardable proof of value. The item catalogue that accumulates becomes switching-cost moat within a quarter.
MVP scope
- Photo upload and email-forward invoice ingestion
- Claude-based line-item extraction with a human review queue for low confidence
- Item normalisation into a per-restaurant catalogue with alias matching
- Per-item, per-vendor unit price history with threshold alerts
- Weekly price-increase digest ranked by estimated monthly impact
- Skip for v1: recipe costing and menu margins, inventory counts, vendor ordering, accounting exports
Build PriceCreep, an invoice price-monitoring app for independent restaurants. Stack: Next.js (App Router), the Claude API for invoice extraction (vision on photos and PDFs), Supabase (auth, Postgres, storage), Stripe for subscriptions. Core flow: invoices enter two ways: snap photos from a phone (mobile-friendly upload page) or forward emailed PDFs to a per-restaurant ingest address (invoices@... with a unique token). Each invoice goes to the Claude API with a prompt that returns structured JSON: vendor, invoice date, line items with description, quantity, pack size, unit, and extended price. The hard part is normalisation: 'CHIX BRST BNLS 4/10LB' and 'Chicken Breast Boneless 40lb' must map to one catalogue item. Do this with a two-stage match: exact/fuzzy match against the restaurant's existing item aliases first, then a Claude call proposing a match or a new item, with low-confidence matches queued for one-tap human confirmation. Every line lands in a price history table as cost per normalised unit (per lb, per dozen, per case-equivalent). Alerts: when an item's unit price moves more than a configurable threshold (default 5 percent) against its trailing 3-invoice average, flag it. A weekly email digests what got more expensive, ranked by estimated monthly impact (price delta times recent purchase volume). Pages: /upload, /inbox (extraction review queue), /catalog (items with vendor price history charts), /alerts, /settings (threshold, ingest address). Pricing: 79 dollars/month per location, 30-day trial. Position directly against MarginEdge at 330.
// More B2B ideas
-
Compliant labels for cottage food producers
Home bakers and small food producers hand-make labels that violate state cottage food rules; this generates compliant labels with allergens per state.
B2B weekend -
ATS duplicate checker while sourcing on LinkedIn
Agency recruiters waste outreach on candidates already in their ATS; this extension flags known profiles and past contact history as they browse.
B2B Chrome extension 1 week -
Belt testing and curriculum tracker for martial arts schools
Martial arts school owners track student stripes and testing eligibility on index cards; this tracks progress, flags who is ready, and runs test day.
B2B 1 week -
Bait station scanning for pest control routes
Pest control techs hand-log rodent station checks that commercial clients audit; this scans station QR codes and builds the service report on site.
B2B Mobile 1 month