Skip to content
Happen Softwarewww.happen.software · sales@happen.software
All case studies

Case study · Retail & eCommerce · Rescue & rebuild

Broadsheet deals, captured accurately and alike

A retail data company turns retailers' broadsheet adverts into pricing data its own clients rely on. Deals used to be typed into a very basic Windows tool as free text, and accuracy was poor. We rewrote it as a system where every deal is captured in a standard structure, verified against reference prices, and QA'd before it's completed, with new products staged to be manually checked and captured, and AI to find and read the deals. More than 40,500 adverts and 3.8 million deals have been captured in it.

  • Since 2020 · 6 years
  • 3.8 million+

    Deals captured, each in the same standard shape whatever the retailer or region

  • 40,500+

    Broadsheet adverts captured since the rewrite in 2020

  • 84,000+

    Products captured, each linked to its brand so it can be recognised across adverts

At a glance

Client
Retail data and insights company
Volume
40,500+ adverts, 3.8 million+ deals, and 84,000+ products captured
Engagement
Rewrite of an old Windows tool in 2020, then run and evolve since
Users
Capturers, capture managers, and administrators, signing in with company accounts
Sources
Retailers' broadsheet adverts by publication, region, and date
AI
Deals found and read by AI on request, with every result reviewed by a capturer
Output
Standardised deal data synced to the client-facing reports we also built

01The situation

Our client collects the deals retailers advertise in their broadsheets and turns them into pricing data for its own clients. Every advert holds dozens of deals, each with products, pack sizes, prices, and a promotion that every retailer lays out in its own way.

The capture used to run on a very basic Windows application where deals went in as free text: no fixed deal types, no product list, no price checks, and no QA step, so accuracy was poor and the data was hard to report on. We rewrote it in 2020 as a web-based system built around two aims: accuracy, and deal data in one standard, verified shape across retailers, regions, and publications. Since 2024 it has used an AI service we built and host to find and read the deals on each page, and its completed deals feed the client-facing pricing reports we also built.

  1. 01

    Free text, poor accuracy

    Deals were typed into a very basic Windows tool as free text, with nothing to check them, so mistakes and inconsistencies went straight through.

  2. 02

    Every retailer is different

    Each retailer lays out its deals, names its products, and runs regional editions its own way, but the data has to come out the same.

  3. 03

    Data people rely on

    The deals feed pricing reports for the client's own clients, so a wrong price or product has to be caught before it goes out.

02What changes

  • Reading dealsWithout it: Every deal typed in from the page as free text.With the system: AI can find each deal on the page and read its products and prices, for a capturer to review.
  • Standard shapeWithout it: Free text recorded the way each retailer printed it, with no structure.With the system: Every deal captured as one of 4 deal types and 8 promotional mechanics, against one category tree.
  • Products & brandsWithout it: The same product spelt differently from one advert to the next.With the system: New products staged to be manually checked and captured, and new spellings mapped to the right brand and product.
  • Price checksWithout it: No verification or QA, so a mistyped price went straight through.With the system: Prices checked against the product's reference price and recent average, with warnings and blocks.
  • Quality assuranceWithout it: No review step before data went out.With the system: Every advert QA'd: a capturer finishes it, and a separate user with completion rights signs it off.
  • Regional editionsWithout it: The same deal captured again for each region.With the system: Matching deals in other editions copied from the completed original, ready to confirm.
  • ReportingWithout it: Data moved across to reports by hand.With the system: Completed deals synced to the reporting database 3 times a day and checked every evening.

03How it works

An advert, end to end

  1. 1

    Set up

    An advert is created with its retailer, publication, region, and dates. Its pages are uploaded as images or PDFs, put in order, and kept together as one PDF, and it's assigned to a capturer with a priority and due date.

  2. 2

    Read with AI

    Users with permission send the advert to the AI service. It finds each deal on the page and reads the products, sizes, prices, and deal type, and the results come back with each deal outlined on the image.

  3. 3

    Capture

    The capturer works through each deal: deal type, promotional mechanic, products, pack sizes, and prices. Products the AI read must be reviewed, and known spellings are mapped to the right brand and product.

  4. 4

    Check

    Required fields are enforced, prices are compared with the product's reference price and its recent average in the same currency, and category rules for the retailer type apply. New products wait in staging.

  5. 5

    Complete

    The capturer marks the advert done, and a user with completion rights completes it. Matching deals in other regions' editions can be copied from the completed original for review.

  6. 6

    Report

    Completed deals are synced to the reporting database at 06:00, 12:00, and 17:30, with a check at 20:00 that every eligible deal is there. From there they feed the client-facing reports.

04What we built

  • AI deal extraction

    A custom-trained vision model finds the deals on each broadsheet page, and AI reads their products, sizes, prices, and promotions. Results are drawn on the page so the capturer can see where each deal came from.

  • Structured deal capture

    Every deal is captured as straight, bulk, combo, or multibuy, with one of 8 promotional mechanics and a product configuration such as single, pre-pack, banded, or mixed. Capturers can flag a query or a missing brand.

  • Price checks

    Each price is compared with the product's reference price, with a warning from 15% and a block from 20% by default, and with its 3-month average in the same currency. A capturer can override the average check when a price really has changed.

  • Brand & product mapping

    New products are held in staging until they're approved. Spellings from reviewed AI results are learned as aliases of the right brand and product, and a blacklist keeps wrong matches from coming back.

  • One standard structure

    Retailers with groups and types, regions with their currencies, publications, brands and brand owners, and a 4-level category tree, so every deal is described the same way.

  • Regional editions

    When a retailer runs the same deal in several regions' broadsheets, matching deals are recognised by their content and copied from the completed original, ready for a capturer to confirm.

  • Reporting sync

    Completed deals, with a link to the advert's PDF, are synced to the reporting database three times a day. An evening check confirms every eligible deal arrived and repairs any gaps.

  • Workload & progress

    A dashboard of capture figures, top capturers, each capturer's workload, and incomplete adverts, an hourly capture report on weekdays, and a morning email listing older adverts still incomplete.

05What each team gets

  • Capturers

    • Adverts assigned with a priority and due date
    • AI-read deals to review instead of typing
    • A warning before a doubtful price is saved
  • Capture managers

    • Each capturer's workload on a dashboard
    • An hourly capture report on weekdays
    • The final say on completing each advert
  • Administrators

    • Retailers, regions, publications, and categories in one place
    • Brand and product mappings they can correct
    • Permissions set section by section
  • Report users

    • Deals in one shape across retailers and regions
    • Data refreshed three times a day
    • A link back to the advert each deal came from

06How we delivered

  1. 2020

    Rewrite

    Adverts, deals, products, reference prices, and sign-in with company accounts, built from June and set up for production by October.

  2. 2021–2023

    Reporting

    Reference price rework and a dedicated reporting database synced through the day.

  3. 2024

    AI extraction

    AI deal extraction tested against captured adverts, then connected to capture through a separate service.

  4. 2025–2026

    Fewer repeats

    Regional deal copying, learned brand and product mappings, and one PDF per advert.

07Built to last

  • AI as an assist, not the last word: products it reads have to be reviewed before a deal can be completed, and sending adverts to it is a permission.
  • Two-step completion and an audit trail: a capturer finishes an advert, and a separate permission completes it.
  • Regional copies matched by a hash of the deal's content, only from completed deals for the same retailer within 30 days.
  • A sync built for volume: deals are sent in chunks that never split an advert, source data is loaded in batches, and an evening reconciliation repairs any gaps.
  • Large images and PDFs uploaded in parts, and each advert's PDF rebuilt whenever its pages are added, removed, or reordered.
  • Kept current with regular technology, library, and framework updates, along with ongoing performance and security improvements.
  • .NET
  • ASP.NET Core
  • SQL Server
  • Angular
  • Active Directory
  • Computer vision
  • AI
  • GitHub Actions

Turning documents into data you can rely on?

We'll talk through how AI could read the documents, what checks keep the data accurate, and how to get it into one standard shape. Book a free 30-minute call with one of our engineers.

sales@happen.software · www.happen.software/contact

Keep reading

Related case studies

All case studies