NB
Back to projects
Onlyone logo

Onlyone, eco-responsible banking, Paris

From receipt to product-level carbon

Onlyone Receipt OCR

Alongside the Eco Coach, I designed and built Onlyone's receipt scanning system, users photograph a retail ticket, and the pipeline extracts products, normalizes them against reference databases, and estimates carbon impact at the item level.

The context

Transaction-level carbon estimates are useful, but imprecise. A supermarket payment could be groceries, cleaning products, or both. Receipt OCR closes that gap by reading the actual ticket: every line item becomes a product with a name, a price, and an estimable environmental footprint.

The challenge

Retail receipts are noisy: truncated product names, inconsistent formatting, thermal paper artifacts, and store-specific abbreviations. Turning a raw OCR output into a reliable carbon estimate required a full data pipeline (cleaning, normalization, matching, and scoring), not just a vision API call.

  • OCR output with abbreviated, ambiguous product labels
  • No direct mapping between receipt lines and carbon reference databases
  • Multiple reference sources (ADEME, Open Food Facts) with different schemas
  • Need for confidence scoring so the app knows when to trust an estimate

What I built

A GCP-powered pipeline from receipt photo to product-level carbon estimate, with normalization, multi-source matching, and ethical alternatives.

Reference databases

Open carbon and product data matched to every normalized receipt line.

  • ADEME

    ADEME

    General carbon emission factors for goods, services, and transport, the baseline for non-food items.

  • Open Food Facts

    Open Food Facts

    Open food product database with composition and environmental labels, used for grocery receipt lines.

  • Cleaning & product normalization

    Transforms raw OCR text into structured product records, parsing line items, inferring products from short names, and normalizing labels via fuzzy matching and embedding-based similarity to bridge the gap between receipt abbreviations and catalog entries.

  • Multi-source carbon matching

    Matches normalized products against reference databases (ADEME for general carbon factors, Open Food Facts for food items), using similarity algorithms to find the closest credible emission factor for each line.

  • Value chain breakdown

    Statistics and visualizations by supply chain stage (distribution, production, packaging, transport), so users see where the carbon in their basket actually comes from.

  • Confidence scoring

    A confidence score on every estimate reflecting match quality, data completeness, and source reliability, the app surfaces high-confidence results prominently and flags uncertain ones for user review.

  • Lower-carbon alternatives

    Product-level recommendations suggesting less carbon-intensive or local alternatives for items on the receipt, actionable swaps grounded in the matched reference data.

Product-level precision

Receipt OCR complements transaction-level estimates with granular, item-by-item insight, the most accurate carbon picture Onlyone can offer without manual user input.

  • Item-level carbon

    Every product on the ticket gets its own footprint, not an average inferred from the merchant category.

  • Confidence-driven UX

    Users see when an estimate is solid and when the system needs help, building trust through transparency, not false precision.

  • Actionable swaps

    Recommendations tied to actual purchased products, local, lower-carbon alternatives users can try on their next shop.

  • Seamless mobile integration

    End-to-end flow from camera to carbon breakdown in seconds, ML APIs on GCP designed for the mobile app's latency and reliability requirements.

Tech stack

GCP Cloud Vision OCR, Python data pipeline, FastAPI and Flask APIs, BigQuery, Tableau analytics, GitLab CI/CD

GCPBigQueryPythonFastAPIFlaskTableauGitLab CI/CD

Receipt OCR gave Onlyone the missing layer of precision, turning a crumpled ticket into structured, scored, actionable carbon data, one product at a time.