Documentation

Commerce

Drivers and cash-on-delivery

Invite drivers, assign delivery packages, follow shared GPS locations, and verify customer cash received for each delivered package.

Last updated: 2026-10-05

Open Store → Drivers, or Work → Delivery → Drivers. This delivery control page connects cash-on-delivery packages to approved customer invoices or ready delivery orders.

Add and invite a driver#

Dispatch management and permission to reveal customer details are required to use this page.

  1. Select Add driver and enter a name and phone.
  2. Select Invite link. The dialog shows the generated link, expiry, Copy link, and Share when supported. If generation fails, it shows the error and Try again. If copying is unavailable, select and copy the visible link manually.
  3. Send the link directly to the intended driver. It expires after 24 hours and links one account. A new invitation replaces the previous link. Reopening an accepted link with the same active driver account safely opens their deliveries. Another account cannot use it.
  4. The invitation opens a public driver join page. The driver selects Sign in, Create driver account, or Link current account. Signing in or signing up returns to the driver page to accept the invitation. An acceptance error leaves the link available for retry.

Drivers do not need business workspace membership. Their delivery page exposes only packages assigned to them. One account can link to one driver. Deactivate revokes access and stops sharing. Reactivation restores that driver's access.

An invitation error does not hide packages already assigned to your active driver account. Select Open my current deliveries to dismiss an old or unavailable invitation and continue using that account. To accept a link intended for a different driver, sign in with that driver's account.

Assign packages#

In Store → Orders, select Assign driver on a ready delivery order or its details. The order's linked invoice is selected automatically, and its customer name, phone, address and cash amount are filled. For orders without an invoice, those details come from the order. Choose an active driver with a linked account and correct any missing or incorrect delivery details. A location URL saved as the address also fills the optional map link.

For an extraction invoice's linked order, Accept & approve invoice moves it out of New and approves the invoice in the same action. Approval failure leaves the order in New. The member accepting it needs both order update and approval decision permissions. Move the accepted order to ready, then assign the driver. Invoice approval locks its editable details and does not mark cash received or the order paid.

Older orders that already reached Ready with a draft invoice are handled when you assign the driver: the dialog explains that assignment also approves the invoice. If assignment fails, approval rolls back with it. This needs approval decision permission and one pending invoice approval request with a matching order amount.

Review / approve invoice appears on linked Store cards, in their details, and in the assignment dialog. It opens the invoice without leaving Store. A permitted approver can enter a decision reason and approve there if needed; offline and read-only workspaces cannot approve. Closing the viewer returns to the assignment dialog with entered delivery corrections preserved. Already assigned, paid or unavailable sources show the reason assignment is blocked. You do not need to enter the invoice's customer details again.

Choose a driver before assigning; the customer Maps URL is optional. If no driver is available, add an active driver and have them accept their invitation first.

You can also choose Assign package on the Drivers page and select an approved invoice or ready delivery order. A linked invoice and store order share one package.

The cash amount comes from the source record. For an invoice, it is the outstanding balance at assignment. Already paid orders and packages with no outstanding cash cannot be assigned through this flow. One invoice or order can have one delivery record. Use Reassign / retry to change drivers or retry a failed attempt.

The general selector shows recent source records. Assigning from an order's details loads that specific order, including older orders. Package lists load in pages; use Load more for older packages. Summary counts describe loaded packages.

Use the driver page#

Drivers open /driver/app. Install app opens the browser's installation prompt when available or shows steps for the current device. On iPhone, open the page in Safari and choose Share → Add to Home Screen. Links opened inside a messaging app may need to be opened in the phone's browser first. The install banner disappears when the app is running as an installed app.

Packages have Assigned, On the way, Delivered, and Not delivered tabs. Linked packages also show the store order's current stage. Canceled or rejected orders cannot be delivered.

Each package includes an address and cash amount, plus:

  • Call to call the customer.
  • Maps to open a customer-provided location or search the address.
  • A location link saved as the address also opens directly.
  • Share to share the location or copy its link.
  • Choose a Maps app for Google Maps, Apple Maps, or Waze address search.
  • Start delivery, then Delivered or Not delivered.

A failed delivery requires a reason. It appears in Store → Orders → Not delivered, with the driver and failure reason. Dispatch can use Reassign / retry for another attempt. Delivery status changes from the driver page update the store order; moving an assigned order to On the way or Delivered in the store also updates the driver's package. A delivered package stays Awaiting cash handover and business verification until the business records receipt. Drivers cannot verify their own cash handovers.

Share and view GPS#

Drivers choose Start sharing and allow location access. Stop ends location collection immediately, including while offline. The page retries notifying the business when the connection returns; sharing cannot restart until the stop is acknowledged. The business sees the latest location, update time and accuracy on the driver card. Select Map to view it.

Location settings start expanded for setup and collapse automatically when sharing starts, leaving more room for packages. Tap the Share my location header or chevron to reopen or hide the settings. The compact bar keeps the sharing status, last accepted update and accuracy, Stop, and any errors visible. Collapsing it does not stop GPS. Your fold choice is saved for this driver on this browser; starting sharing folds the panel again. Settings remain usable when browser storage is unavailable.

The driver page requests a fresh fix immediately, retries temporary GPS and upload failures, and recovers when you return from Maps or reconnect. A location becomes stale after 45 seconds. Dispatch uses the time the GPS fix was captured, as well as its upload time, before showing it as current. Low-accuracy fixes are labeled approximate.

  • Keep screen awake while sharing requests that the device keep the screen on. It is selected by default and releases when sharing stops. Devices can refuse or release it, especially with power saving; the page shows whether it is active. Keeping the screen on can increase battery use.
  • Resume sharing when reopening the app on this device is optional. After you start sharing, the same driver's app can resume on this device for up to 12 hours. It needs sign-in and location permission. Stop cancels resuming until you explicitly start again. Denying GPS permission also cancels the active sharing intent.
  • Refresh location requests a new GPS fix. My location on Maps opens your recent position and shows its accuracy. When a sufficiently accurate recent fix is available, Google Maps address navigation starts from that position. Customer-provided map links still open directly.

While the visible driver page is offline, it retains only the latest GPS fix in memory. After reconnecting, it sends a recent fix rather than replaying an old route. GPS coordinates are not saved to browser storage. The resume preference and a pending Stop confirmation can be saved so that a reload does not undo an offline Stop. If browser storage is unavailable, the page explains that resume cannot be saved.

Explicitly starting sharing in another tab or device replaces the previous tracking session. The older page stops collecting when it detects the change; its delayed Stop cannot turn off the newer session. A saved resume cannot take over a newer device's session: use Start sharing explicitly if you want to switch back. Driver access and location permission remain required.

Sharing starts after the driver's action, or through their saved resume choice. The page does not cache customer package data for offline use. Reconnect before submitting delivery status or uploading location updates.

Verify cash per package#

Billing management permission is required to confirm received money.

  1. Find a delivered package with Awaiting cash handover.
  2. Receive its cash from the driver.
  3. Select Confirm cash received and enter the exact amount. A receipt reference or note is optional; you can leave it blank.
  4. Select Confirm receipt of this amount.

This verifies only that package. Confirm packages separately, even when a driver hands over money for several deliveries at once. Invoice packages record payment through customer billing; when linked to a store order, the order is marked paid in the same confirmation. Order packages mark the source order paid. Repeating a confirmation does not create another payment. The store shows whether the driver's cash handover has been confirmed.

If the invoice balance or order changes after assignment, confirmation stops for finance review. A driver's delivery report alone does not confirm receipt of cash.

See Extract customer details and create invoices to create invoice drafts from conversations.

Customer location from chat#

With Location / address enabled in extraction settings, a customer-shared pin or Maps link can be saved as the invoice's Customer Maps link. The linked Store order retains it, and Assign driver fills it automatically. Correct or clear it before assignment if needed. The driver's Maps and Share buttons use this saved customer location. See Extract customer details and create invoices.

When a shared link includes explicit coordinates, the driver can open that pin in Google Maps, Apple Maps or Waze. Opaque short links open the customer's original link; the app does not substitute an address search for that pin. Without a shared pin, navigation searches the delivery address.