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

Case study · Logistics · Field & mobile apps

Returns raised in store, collected without re-keying

Merchandisers working in retail stores for suppliers are the first to see stock that needs to go back. We built them an app that captures each return in the store, even without signal, gets it approved, and sends it straight to the collection system we also run for the same client. The collection date and the proof of collection come back to the merchandiser's phone.

  • Since 2021 · 5 years
  • 7,900+

    Return requests raised in the last year, more than 660 a month

  • 20,000+

    Stores set up for returns, with requests raised at more than 1,500 of them in the last year

  • 340+

    Merchandisers raising returns in the last year

At a glance

Client
National retail returns specialist
Users
Merchandisers, supplier authorisers, and the client's admin team
Engagement
Build, run, and evolve, since 2021
Platforms
Offline web app for merchandisers and a management portal
Integration
Two-way link to the collection system: requests out, dates and results back
Scale
7,900+ requests a year from 340+ merchandisers in 1,500+ stores
Visibility
6 dashboards, 5 reports, and scheduled emails to merchandisers and suppliers

01The situation

Our client collects returned stock from retail stores for the suppliers who own it. We built and run the collection system its operators and depots use. This is the other half: the app merchandisers use to raise those returns in the first place.

A merchandiser in a store spots stock that has to go back, often for several suppliers at once. Some returns need the supplier's approval first, and once a request is in, the merchandiser wants to know when it will be collected and see proof that it was. The app captures the return, gets it approved, and hands it to the collection system, which reports the date and the result back.

  1. 01

    Two teams, one return

    The person who finds the stock isn't the person who collects it, so the request, the date, and the result have to pass between two teams.

  2. 02

    Approval before collection

    Each supplier decides which returns need approval, by value or units, and who gives it. That depends on the store's region and channel.

  3. 03

    Stores without signal

    Returns are counted in stores and back rooms where the connection can't be relied on, so capture can't depend on it.

02What changes

  • Raising a returnWithout it: Returns reported by phone or email.With the app: Captured product by product in the store, with barcode scanning, photos, and a signature, even offline.
  • Several suppliersWithout it: A separate request for every supplier.With the app: One store visit split automatically into one request per supplier.
  • ApprovalWithout it: Approvals chased by hand.With the app: Each supplier's rules send a return to the right authoriser or group, with a daily reminder.
  • Hand-offWithout it: Requests typed again into the collection system.With the app: Sent straight to the collection system on submission, mapped to its stores and products.
  • Collection dateWithout it: Merchandisers asking when stock will be collected.With the app: The date pushed to the merchandiser's phone and emailed, with every store's next date updated hourly.
  • ProofWithout it: Proof of collection requested after the fact.With the app: Units, weight, claim numbers, and the signed collection document, emailed as soon as it's done.

03How it works

A return, end to end

  1. 1

    Pick the store

    The merchandiser chooses the store and sees when it's next due for a collection. They're warned if a return for that supplier was already raised there today.

  2. 2

    Capture

    They scan or pick each product and record the quantity, stock status, unit, and any expiry, batch, or serial number, with photos checked for blur. It all works without signal.

  3. 3

    Approve

    If the return crosses the supplier's rule for that store's region and channel, the authoriser or group is emailed a link. Requests still pending are re-sent at 13:30 on weekdays.

  4. 4

    Submit

    The merchandiser signs. The visit is split into one request per supplier, the PDF documents are generated, and each request goes straight to the collection system.

  5. 5

    Scheduled

    When the collection is booked, the date comes back to the app with a push notification and an email. At 19:00 the evening before, merchandisers are reminded which stores are being collected.

  6. 6

    Collected

    The result comes back with the uplift number, units, weight, and claim numbers. The signed collection document is emailed as a PDF and shows in the merchandiser's history.

04What we built

  • Offline merchandiser app

    An installable web app. Requests, product lists, and photos are kept on the phone, so a return can be captured with no signal and sent later. A paused request can be carried on from another device.

  • Guided capture

    Barcode lookup, stock statuses, units of measure, expiry, batch and serial numbers, photos checked for blur, and the merchandiser's signature. One visit becomes one request per supplier.

  • Supplier approval rules

    Each supplier sets value and unit bands by region, channel, and category, and names the authoriser, manager, or group who decides. Unanswered requests are re-sent every weekday.

  • Linked to collections

    Submitted requests go straight to the collection system, where they can be scheduled automatically. Dates and results come back as soon as they happen, and each store's next collection date updates hourly.

  • Notifications

    A push notification and email when a collection is booked or done, a 19:00 reminder of tomorrow's collections, and a Monday 07:00 summary of the week ahead.

  • Documents for every request

    An uplift note, a store confirmation note, and a product-off-shelf document are generated as PDFs, and each supplier chooses which ones it receives.

  • Dashboards & reports

    Six dashboards: compliance, paused uplifts, reason codes, store activity, yield, and merchandiser locations. Five reports, including requests against completed collections, emailed to suppliers at 08:00 if they choose.

  • Location & attendance

    Location is captured at the start and end of each request and shown on a map. Optional time and attendance lets merchandisers clock in and out, and anyone still clocked in is clocked out at 23:55.

05What each team gets

  • Merchandisers

    • Returns captured in store with no signal
    • The collection date on their phone
    • Proof of collection in their history
  • Suppliers

    • Their own rules for which returns need approval
    • PDF documents for every request, as they choose
    • A daily report of requests against collections
  • Authorisers

    • Only the returns their rules send them
    • An email with a link to approve or cancel
    • A reminder at 13:30 on weekdays until it's done
  • Admin team

    • Six dashboards across stores and merchandisers
    • Stores, products, and users imported from Excel
    • A resend button if a request needs to go again

06How we delivered

  1. 2021

    Launch

    The portal, merchandiser app, and supplier approvals, linked to the collection system by July, two months after the first commit.

  2. 2022

    Field-ready

    The app packaged for phones and time and attendance.

  3. 2023–2025

    Kept current

    Regular app store releases and ongoing platform updates.

  4. 2026

    Web-first

    Web push notifications and read-only data access for the collection system's AI assistant.

07Built to last

  • Offline-first capture: requests, product lists, and photos kept on the device, with paused requests synced so they can be resumed elsewhere.
  • Each request saves its products and the VAT rate at the time, so documents and totals don't change when prices do.
  • Safe re-sends: a request that's already finalised is skipped rather than processed again, and a phone still holding it is told to discard its copy.
  • Integration both ways over REST: requests out on submission, dates and results back as they happen, and store dates every hour.
  • A read-only data gateway, locked to its own key and the collection system's server address, so that system's AI assistant can answer questions across both.
  • Upgraded through every .NET release from 6 to 10 since 2022, with an old third-party framework retired along the way.
  • Kept current with regular technology, library, and framework updates, along with ongoing performance and security improvements.
  • .NET
  • ASP.NET Core
  • SQL Server
  • Angular
  • Ionic
  • Progressive web app
  • Web push
  • GitHub Actions

Field teams raising work another team has to do?

We'll talk through how an offline app could capture it at the source, get it approved, and hand it to the team that does the work, with the results coming back. 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