Field sales on patchy signal: how reps keep taking orders when the connection drops

A sales rep's day in a mobile field-sales app: route by distance, geo-tagged check-ins, credit-checked orders that queue when the signal drops and sync exactly once, collections and commissions, plus what still needs a connection.

DSDilawar Singh 7 min read 2 views
Field sales on patchy signal: how reps keep taking orders when the connection drops

A field sales rep's day has many places where the signal drops: the loading bay at the back of a supermarket, a basement pharmacy, a rural trade counter, the lift between floors. If the order app fails at the moment the rep taps "Submit", one of two things happens. The rep writes the order on paper and types it in that evening, or the order is lost. Either way, the warehouse finds out late, the customer waits, and someone in the office spends the next morning reconciling handwritten notes.

This guide looks at field sales from the rep's side and the business's side, using the field-sales app in Inventra, our source-code inventory and ERP platform. It covers the rep's day from clock-in to the last visit, what happens to an order sent with no signal, and what managers and finance get out of it. It is also honest about where the app needs a connection, because "offline" means different things to different vendors.

What "offline" means here

Before choosing any field-sales tool, ask exactly which actions work without signal. For Inventra's rep app, the answer is:

Action Without signal? Notes
Submit an order you have already built Yes Queued on the phone and sent automatically when signal returns
See your route, balances and credit Yes, if the app was open Loaded when the page opens; not refreshed until you are back online
Search the catalogue and add products No Product search and live pricing come from the server
Check in or out of a visit No Needs the server to record time and distance
Collect a payment No The button is disabled while offline, so receipts are never issued twice
Open the app from cold No It is a mobile web app, not an installed offline app

In other words, it is built for patchy signal rather than no signal at all. The most expensive failure, losing an order the rep has already agreed with the customer, is covered. A rep who works for days in areas with no coverage would need a fuller offline mode: a cached catalogue and price list on the device, and queued check-ins and collections. That is a realistic customisation; the queue it would use already exists.

The rep's day

1. Clock in

The rep signs in on their phone and lands straight on the field-sales screen. At the top is a clock-in button, which records the time and, if the phone allows it, the location. The same attendance records are used by HR.

2. See today's route

Below are today's numbers (visits, orders and their value, cash collected and commission earned so far this month), then the rep's customer list. The list shows only customers assigned to this rep; other reps' accounts are not visible.

Each customer card shows:

  • name, address and when they were last visited;
  • the outstanding balance, with an Overdue badge when invoices are past due;
  • the distance from where the rep is standing, once the phone shares its location.

The list is sorted by distance, so the nearest customer is always at the top. A search box and a "refresh my location" button handle the rest.

3. Check in at the customer

Opening a customer shows their balance, overdue amount and remaining credit (or "Cash" for cash-only accounts), with buttons to call them, get directions or check in.

Checking in records a geo-tagged visit and tells the rep how far they are from the customer's saved pin, for example "Checked in · 40 m from the customer's pin". On a customer's first visit, if no location is saved yet, the rep's position becomes the customer's pin.

A rep can only be checked in at one customer at a time; the app asks them to check out of the previous one first. That keeps visit times honest without anyone having to police them.

4. Take the order

"New order" opens the order editor, already set to this customer and their currency. The rep adds products and quantities. While there is signal, the editor shows live pricing and warns when an order would go over the customer's credit.

Two rules protect margins:

  • Prices come from the price rules, not the rep. The rep cannot override unit prices. Inventra applies, in order of priority, the customer's contract price, volume breaks, price tiers and group discounts.
  • Credit is checked on the server. An order is blocked if the customer is on credit hold, has overdue invoices, would exceed their credit limit, or is a cash-only account.

When the rep submits, the order is confirmed immediately if stock and credit allow, and linked to the open visit.

5. When the signal drops at "Submit"

This is the moment the app is designed for. If the phone cannot reach the server when the rep submits:

  1. The order is saved on the phone in a local queue, with a unique reference created on the device.
  2. The rep sees "Offline — order queued. It will be sent automatically when you are back online", and the header shows an Offline badge and a count of queued orders.
  3. When the phone's connection comes back, the app sends queued orders oldest first. The rep can also tap the queued count to retry by hand.

Because each order carries its unique reference, the server recognises a retry and returns the original order instead of creating a second one. A rep who taps "Submit" three times in a lift still produces one order. The integration tests cover this case directly: a retried offline order is not duplicated.

What happens if a queued order is refused? Pricing and credit are checked again when the order arrives, using the customer's position at that moment. If the order is refused (for example, an invoice became overdue in the meantime), nothing is created. The order stays in the queue on the phone with the reason recorded, and is checked again on the next sync, so it goes through only once the customer qualifies. In the current app the rep sees refused orders only as part of the queued count; showing the reason and letting the rep edit or discard the order is a small customisation worth considering before roll-out.

6. Collect a payment

If the customer pays, "Collect payment" records the amount, method (cash, cheque, bank transfer or mobile wallet) and a reference such as a cheque number. The payment is applied to the oldest open invoices and posted to the ledger, and the rep gets a receipt number on screen. The location is recorded if available.

Collections need signal on purpose. A payment produces a receipt the customer may keep, so the app does not issue one it cannot confirm.

7. Check out

Checking out asks for the outcome (order taken, payment collected, no order, follow-up needed) and optional notes. Those outcomes are what turn a visit log into useful sales data.

What the business gets

For sales managers

  • Revenue by rep, region, product and customer in the analytics module, with field orders identified by their own order type.
  • Visit evidence. Every check-in and check-out is written to the audit log with the distance from the customer's pin and the outcome, so a manager can see whether a visit really happened at the customer.
  • No double entry. Orders reach the warehouse as confirmed sales orders with stock reserved, not as notes typed in at the end of the day.

Gap to know about: there is no dedicated visit report or map for managers yet. Visits are visible to the rep on their own screen and to managers through the audit log. A team visit dashboard (visits per day, time on site, outcomes, distance flags) is a natural customisation.

For finance

  • Credit control at the point of sale. Reps cannot book orders for customers who are on hold, overdue or over their limit, which stops bad debt being created in the field.
  • Cash accountability. Each collection is recorded against the rep who took it, with a receipt number, method and reference, and appears in their daily total.
  • Commissions without spreadsheets. Commission rules can be a flat percentage or slab-based (marginal bands or whole amount at the band reached), calculated on paid or invoiced revenue. Statements are calculated per month, approved, and paid through the ledger. The rep sees their month-to-date commission on the home screen.

Roll-out checklist

  • Assign each B2B customer to a rep, with credit limits and payment terms.
  • Save customer locations, or let reps set them on the first visit.
  • Set up contract prices, volume breaks and customer groups before reps start quoting.
  • Decide on commission rules and the basis (paid or invoiced).
  • Ask reps to open the app at the start of the day while they have signal.
  • Test a submit in flight mode, then reconnect and confirm a single order arrives.
  • Agree how reps follow up queued orders that the server refused.

If you also run a till, the engineering behind the shared queue is covered in selling through an outage.

Closing

A field-sales app earns its keep on bad-signal days: the order the rep agreed has to reach the warehouse exactly once, priced and credit-checked by the same rules as an office order. You can sign in as the Field Sales Rep in the read-only demo and get the source from Inventra; DEV3 can install it or extend the offline mode for reps with very poor coverage. The design decisions are in the case study.

DS

Written by

Dilawar Singh

CTO, DEV3 Technologies · ClinicPro, Inventra & WorkPro

Dilawar Singh is the CTO of DEV3 Technologies. He leads the engineering of DEV3’s own products — ClinicPro, Inventra and WorkPro — which are built, sold and supported by the DEV3 team from Mohali, India.

Keep reading

All articles