πŸ’§ Frontend operations guide

Everything you need to run the CRM

A visual walkthrough of every module: clients, orders, payments, dispatch, reports and administration β€” plus everything that changed in the latest update.

πŸ“˜ Frontend usage 🧩 Main + secondary modules ✨ Updated with the latest release
✨

What's new in this update

πŸ“Š

Client analytics panel

New collapsible cards on the Clients page: total, active, inactive, business vs. people, with/without frequency, and who is actually ordering on schedule.

Go to Clients β†’
⚑

Instant search, no reloads

Searching or filtering Clients and Orders (Manual/Online/History) now updates the table instantly via AJAX β€” no full page refresh.

Go to Clients β†’
πŸ’³

Apple Pay & Google Pay

Payment links sent to clients now auto-detect the device and offer Apple Pay or Google Pay next to the card form, powered by Stripe.

Go to Orders & payments β†’
πŸ› οΈ

Saved-card charges fixed

Charging a saved card (with or without an email on file) no longer fails β€” customers are always properly linked in Stripe before charging.

Go to Orders & payments β†’
πŸ”’

Pre-status is manual only

An order's pre-status (cash, check, credit card, Zelle, etc.) is never set automatically anymore β€” only a driver or agent can change it.

Go to Orders & payments β†’
πŸ”„

Product import / export

Products can now be imported and exported from CSV/XLS files, the same way Clients already work.

Go to Products β†’
πŸ›‘οΈ

Permissions for import/export

New role permissions control who can see and use the Import/Export buttons for Clients and Products.

Go to Users, roles & branches β†’
πŸ“ˆ

Consumption regularity chart

A new Dashboard chart shows how many active clients are ordering on schedule versus falling behind, plus a recurring revenue projection.

Go to Dashboard β†’
πŸ€–

Auto-order & auto-charge per client

Opt in individual clients (from their profile, role-permission gated) to automatically repeat their last order on schedule, and/or auto-charge their saved card when a driver marks the order paid by card.

Go to Automation & notifications β†’
πŸ’¬

Automatic reminders & reactivation

Clients with an overdue on-credit balance get an automatic payment reminder; clients who fall behind their delivery schedule get an automatic "time to reorder" nudge.

Go to Automation & notifications β†’
πŸ“

Driver-is-close notification

Clients now get an automatic WhatsApp/SMS message when their driver's live GPS location is close to their delivery address.

Go to Automation & notifications β†’
πŸ•

Delivery time window

Orders can now be tagged with a morning/afternoon delivery window right from the manual order form.

Go to Orders & payments β†’
πŸ’΅

Partial payments (abonos)

On-credit orders can now record a partial payment received now, with the remaining balance tracked as debt β€” instead of the whole order always becoming debt.

Go to Orders & payments β†’
🧾

PDF account statement

Download a PDF statement for any client directly from their profile: order history, total billed, total paid and outstanding balance.

Go to Clients β†’
🚚

Driver performance report

A new report shows orders, clients served, % paid, units delivered and revenue per driver, with a chart and date filter.

Go to Reports & settings β†’
πŸ”

Two-factor authentication (2FA)

Enable email-based 2FA for admin accounts from Settings β€” a 6-digit code is required at login, valid for 10 minutes.

Go to Users, roles & branches β†’
πŸ’Ύ

Automated backups

Clients and Products are backed up on a schedule, zipped, and emailed to the address you configure in Settings.

Go to Reports & settings β†’
πŸ“‡

Automatic QuickBooks sync

Clients now sync to QuickBooks automatically as soon as they're created or edited β€” not only the first time they happen to pay with a QuickBooks card.

Go to Users, roles & branches β†’
πŸ”

"Reorder" button for clients

In their online account, clients can now repeat any past order with one click from their purchase history.

Go to Clients β†’
🎯
Section 1

Scope & roles

This guide focuses on day-to-day frontend usage: operations, supervision and administration.

πŸ‘· Operations user

  • Manages clients, orders, routes and daily workflows.
  • Uses instant search, filters and follow-up tools to move fast.

πŸ›‘οΈ Supervisor / Admin

  • Controls branches, users, roles and reports.
  • Grants or revokes access permissions per module and per action.
πŸ“Š
Section 3

Dashboard & quick start

The Dashboard is the operational entry point for summaries and shortcuts.

  • Review daily activity and overall operational status.
  • Confirm the active branch before creating or editing records.
  • Use quick access cards to jump to Clients, Orders and Dispatch.

πŸ“ˆ Consumption regularity chart New

A new donut chart and a percentage gauge show, among active clients with a delivery frequency assigned, how many are ordering on schedule ("consuming regularly") versus how many are overdue or have never ordered. This uses the same on‑time logic as Follow of Clients: last order date + frequency (in days) compared to today.

ℹ️
The chart automatically respects the currently active branch, exactly like the rest of the Dashboard.

πŸ’° Recurring revenue projection New

A new card estimates predictable monthly revenue from your recurring client base: each frequency-enabled client's average order value, scaled to a 30-day equivalent using their delivery frequency, summed across all of them.

πŸ‘₯
Section 4

Clients (People / Business / Follow-up)

πŸ“Š Analytics panel New

At the top of the Clients list there is now a row of small analytics cards showing, at a glance:

  • Total clients, active and inactive.
  • Consuming regularly vs. no regular consumption β€” active clients with a frequency schedule who are on time with their next expected order, versus those who are overdue or have never ordered.
  • People vs. business client counts.
  • Clients with a delivery frequency enabled vs. without one.
πŸ‘οΈ
Show / hide. Use the "Show/Hide" button above the cards to collapse the panel with a smooth animation. Your choice is remembered in the browser β€” if you collapse it, it stays collapsed on your next visit until you open it again.

⚑ Instant search & pagination New

Searching, filtering by status, changing the page size, or moving between pages in the client list no longer reloads the whole page β€” results update instantly in the table while the URL still updates, so back/forward and bookmarking keep working normally.

πŸ“‹ Client lists

  • Separate views for People and Business clients.
  • Filtering by status, text search, pagination and row actions.
  • Columns: Client, Phone, Address, Floor/Apt, Empty gallons, Frequency, Type, Status.

πŸͺͺ Client profile

  • Manage general info (name, email, phones, avatar, status).
  • Manage addresses and the default address, including floor/apartment.
  • Manage saved payment methods and commercial data.
  • Auto-order / auto-charge toggles New β€” opt this specific client into automatic recurring orders and/or automatic saved-card charging. See Automation & notifications.

🧾 PDF account statement New

From a client's profile, download a PDF statement showing their order history for a date range, total billed, total paid, and outstanding balance.

πŸ“₯πŸ“€ Import & export

Import and export buttons are visible only to roles with the corresponding permission β€” see Users, roles & branches. The accepted file structure is documented in Import / export formats.

πŸ“Œ Client follow-up (Follow of Clients)

  • Track frequency-related clients and see who is due next.
  • Add comments and perform quick operational actions.

πŸ” Client self-service portal New

In their own online account, a client can now click Reorder on any past purchase in their history to instantly repeat it (same products/quantities) as a new pending order.

πŸ“¦
Section 5

Products & categories

  • Create and edit products with price, stock, status and image.
  • Use categories for cleaner operations and easier reporting.
  • Deactivate unavailable products to prevent order errors.

⚠️ Stock warning New

When adding a product to a manual order, if the requested quantity exceeds the product's current stock, a warning toast appears. It's a heads-up, not a hard block β€” stock counts can be stale, so the agent can still proceed if needed.

πŸ”„ Import & export products New

Just like Clients, products can now be imported from a CSV/XLS file and exported at any time:

  • Import: pick a file, confirm the preview, and the products are created in bulk β€” matching an existing category by name automatically when possible.
  • Export CSV / Export XLS: downloads the full product list currently loaded, ready to edit and re-import later.

See the exact column layout in Product import/export format.

πŸ”
These buttons only appear for users whose role has the products.import / products.export permission enabled.
🧾
Section 6

Orders (Manual, Online, History) & payments

✍️ Manual

  • Create direct orders for clients.
  • Set products, quantities and payment method.

🌐 Online

  • Review orders created from online channels.
  • Update order lifecycle and logistics status.

πŸ•˜ History

  • Review previous and in-progress orders.
  • Validate quantities, statuses, assigned driver and dates.

⚑ Instant search everywhere New

Manual, Online and History all share the same fast search experience: typing in the search box, changing filters or dates, or paging through results updates the table instantly without a full page reload.

πŸ”’ Pre-status changes are always manual Fixed

🚫
The order's pre-status (cash, check, credit card, Zelle, on credit, etc.) is never set automatically anymore β€” not when a client pays online before delivery, and not when the order is already marked as paid. It only changes when a driver or agent explicitly selects it, and stays pending until then.
  • Paying through a payment link no longer forces the pre-status to "credit card" (or any other value).
  • Once an agent manually sets a pre-status (for example, "check"), switching it back to "pending" is respected and no longer silently reverted by the system.

πŸ’³ Stripe: saved cards, Apple Pay & Google Pay FixedNew

  • Saved-card charges fixed: charging a client's saved card from a payment link, the manual order screen, the driver app, or the "Add card" flow no longer fails with a "card previously used" error β€” the Stripe customer is always correctly linked first, even for clients with no email or an invalid one.
  • Works with or without an email: a client doesn't need an email on file to save and reuse a card; the phone number and internal client record are enough.
  • Apple Pay / Google Pay on payment links: when a client opens a payment link on an iPhone, Apple Pay appears automatically; on Android, Google Pay appears β€” right above the regular card form, with no setup needed on the client's side.
ℹ️
If a card was charged before this fix while not linked to a customer, Stripe permanently blocks reusing that exact card. The client simply needs to remove and re-add the card once β€” after that it works normally.

πŸ• Delivery time window New

When creating or editing a manual order, pick a delivery window β€” any time, morning or afternoon β€” so dispatch knows when the client expects the driver.

πŸ’΅ Partial payments (abonos) New

When an order's pre-status is on credit, a new field lets you record how much the client is paying right now. The rest is tracked as the remaining balance (debt), instead of the entire order always becoming debt like before. The amount paid is recorded as its own transaction.

πŸ“¦ Delivery proof (photo/signature) New

The CRM can now store a delivery photo and/or signature against an order. This is ready on the server side β€” it activates once the driver app adds a capture screen for it.

πŸ€–
Section 7

Automation & notifications New

A set of background jobs that run on a schedule (cron) to automate recurring work and keep clients informed, all opt-in and permission-gated where it touches money.

πŸ” Auto-order per client

  • Toggle in the client's profile (permission-gated): when on, their next order is auto-created on their due date by repeating their most recent order (same products/quantities/address).
  • The new order is always created as pending β€” pre-status is never set automatically, an agent or driver still has to confirm how it gets paid.

πŸ’³ Auto-charge per client

  • Separate toggle in the client's profile (permission-gated): when on, their saved card is automatically charged the moment a driver marks the order as paid by credit card β€” no manual "charge card" step needed.
  • Only fires if the client has a usable saved card; otherwise it's simply skipped, no error shown to the driver.

πŸ“¨ Payment reminders

For clients with Notify on credit enabled in their profile, once their configured number of days passes on an unpaid on-credit balance, they automatically receive a WhatsApp/SMS reminder with a payment link.

πŸ”„ Reactivation campaign

Active clients with a delivery frequency who fall behind schedule automatically get a friendly "time to reorder" message, with a link to place a new order.

πŸ“ Driver-is-close notification

Using the driver app's live GPS pings, when a driver gets close to a client's delivery address for an active order, the client gets an automatic notice that their delivery is almost there.

⚠️
WhatsApp templates: automated messages like these are sent outside any 24‑hour customer-service window, so WhatsApp requires a pre‑approved message template (via Meta Business Manager or Twilio). Configure the channel and template names in Settings β†’ SMS/WhatsApp.
🚚
Section 8

Operations (Dispatch, Routes, GPS, Drivers)

  • Dispatch/Returns: control outgoing and return operations.
  • Daily Dispatch: operational daily view for execution.
  • Routes: route planning and assignment workflows.
  • GPS: location and route tracking visibility.
  • Drivers: manage drivers, profiles and operational status.
πŸ’°
Section 9

Transactions, offers & expenses

  • Transactions: financial records and payment movement review.
  • Offers: manage promotional campaigns.
  • Expenses: log operational expenses by branch/category.
  • Expense categories: keep accounting grouped consistently.
πŸ›‘οΈ
Section 10

Users, roles & branches

  • Users: create, edit, activate/deactivate system users.
  • Roles: set a permission matrix per module and action.
  • Branches: manage branch data and branch switching.
  • Notifications: check system alerts and notices.

πŸ” New permissions: import & export New

Go to Users β†’ Roles & Permissions to control who can see and use the Import/Export buttons:

PermissionControls
clients.importShows the "Import CSV/XLS" button on the Clients page.
clients.exportShows the "Export CSV" / "Export XLS" buttons on the Clients page.
products.importShows the "Import CSV/XLS" button on the Products page.
products.exportShows the "Export CSV" / "Export XLS" buttons on the Products page.

If a permission is not checked for a role, the corresponding button is completely hidden for users with that role β€” not just disabled.

πŸ‘‘ How the "Administrator" role now works Updated

⚠️
Only the very first system account (the primary Super Admin) has unconditional access to everything, no matter what is checked in Roles & Permissions. Every other user β€” including other users with the "Administrator" role β€” now follows exactly what is checked for their role. If you want another admin to use import/export, make sure those permissions are checked for the Administrator role (they are enabled by default after this update).

πŸ” Two-factor authentication (2FA) New

In Settings β†’ Email, turn on "Require 2FA for administrators." Once enabled, any user with the Administrator role gets a 6-digit code emailed to them at login (valid for 10 minutes, max 5 attempts) before they can access the CRM. Requires SMTP to already be configured and working β€” if email delivery fails, the login is allowed through rather than locking the admin out.

πŸ“‡ Automatic QuickBooks sync New

When QuickBooks is enabled in Settings, every client now gets a corresponding QuickBooks customer record created automatically as soon as they're saved β€” whether they've ever paid with a QuickBooks card or not. Previously this only happened the first time a client paid with a QuickBooks-saved card, so most clients were never synced.

πŸ“ˆ
Section 11

Reports, complaints, calendar & settings

  • Reports: generate and download operational reports.
  • Complaints: log and track customer service issues.
  • Calendar: schedule tasks with date/time/status.
  • Settings: configure global CRM behavior (permission-based).

🚚 Driver performance report New

From the Reports page, open Driver performance to see, per driver and date range: orders, distinct clients served, % of orders paid, units delivered, average order value, and total revenue β€” with a revenue-by-driver chart.

πŸ’Ύ Automated backups New

Clients and Products are exported to CSV, zipped, and emailed on a schedule to whichever address you set in Settings β†’ Email β†’ Correo para respaldos. Old backups are pruned automatically after 30 days.

πŸ”„
Section 12

Client import / export format

βœ…
Import accepts exactly the same column structure produced by Export β€” so a file you export can always be edited and re-imported.
#ColumnDescriptionExample
1NameClient full nameJohn Perez
2EmailEmail (optional)john@email.com
3Phone1Main phone862-555-1234
4Phone2Secondary phone (optional)973-111-2222
5AddressClient address191 12th Ave, Paterson, NJ
6EmptyGallonsEmpty gallon amount3
7FrequencyService frequency in days7
8FloorFloor/Apartment3L
9Typeregular or businessregular
10Statusactive or inactiveactive

File types: CSV (comma) and tab-delimited XLS.

⚠️
For a stable import, keep the header names unchanged when editing files in Excel.

πŸ“¦ Product import / export format New

#ColumnDescriptionExample
1NameProduct name5 Gallon Bottle
2DescriptionShort description (optional)Refillable water bottle
3CategoryMatched by name to an existing category, if foundBottles
4PriceUnit price7.50
5GallonPriceGallon price (0 disables it)1.25
6StockAvailable stock120
7MinPurchaseMinimum purchase quantity (blank/0 disables it)2
8Statusactive or inactiveactive

Both CSV and tab-delimited XLS are accepted, exactly like Clients.

βœ…
Section 13

Best practices & support

  1. Always confirm the active branch before creating records.
  2. Keep phone, address and floor/apartment data complete for dispatch quality.
  3. Use role-based least privilege β€” only grant import/export and admin permissions where needed.
  4. Run periodic exports (Clients and Products) as an operational backup.
  5. If a button or module is missing for a user, check that role's permissions first in Roles & Permissions.
  6. If a saved card keeps failing after this update, ask the client to remove and re-add it once.
↑