CRMconnect Azuvio · Docs

Workflow: Field Agent — Distribution Through Agents

Modules involved: Leads · Clients · Tasks · Appointly · Sales Orders · Invoices · Payments · Sales Agent · Commission · Goals · Warehouse · Reports · DataPulse
Who uses it: Sales Agents · Sales Manager · Finance · Warehouse
Typical duration: Daily cycle (visits + orders) + Monthly cycle (commissions + targets)

Overview

Distribution companies with a field network — food, pharma, HORECA, cosmetics, building materials — operate through a model in which the sales agent is the primary point of contact with clients (shops, restaurants, clinics, pharmacies). The agent visits 8–20 clients daily, takes orders verbally or with a phone/tablet, checks available stock, and transmits orders to the warehouse for same-day or next-day delivery.

CRMConnect manages the entire cycle: from route planning in the morning, to taking orders in the field, real-time stock verification, warehouse confirmation, invoicing and recording cash payments, and through to automatic commission calculation after payment confirmation.

A second cycle — the monthly one — includes tracking agent targets against actuals, commission approval by the manager, and performance analysis by client portfolio and product category.


Flow Diagram

MORNING — ROUTE PLANNING
  │
  ├── Visit tasks for today
  │     created by manager or auto-generated (recurring clients)
  ├── Clients with recurring orders — due today
  ├── Clients with overdue invoices — to collect cash
  └── New clients from Leads — to visit for the first time
  │
  ↓
IN THE FIELD — CLIENT VISIT
  │
  ├── Open client record → invoice balance + last orders
  ├── Check available stock for requested products
  ├── Create Sales Order (field order) with agreed products
  │     prices applied automatically from client group's price list
  └── Mark visit Task as Completed + add note
  │
  ↓
ORDER CONFIRMATION
  │
  ├── Sales Order Accepted → sent to warehouse for picking
  ├── Warehouse checks stock → creates Delivery Note → Packing List
  └── Delivery to client: with own driver or courier
  │
  ↓
INVOICING & PAYMENT
  │
  ├── Invoice generated from Sales Order (manual or automatic)
  ├── Cash payment in field → recorded immediately in Payments
  ├── Card/POS payment → recorded with transaction reference
  └── Deferred payment (credit) → due date tracking + overdue alert
  │
  ↓
COMMISSION
  │  calculated automatically after invoice payment confirmation
  │  visible at /admin/commission → Pending Approval
  │  Manager approves → Commission finalized
  │
  ↓
DAILY / MONTHLY REPORTING
  │
  ├── Actuals vs. Targets (Goals) — agent sees progress
  └── Manager sees entire team performance in DataPulse

[MONTHLY TARGET UPDATED ✓ · COMMISSION APPROVED ✓ · ACTIVE PORTFOLIO ✓]

Step by Step

1. Agent Setup and Commission Structure

Where: /admin/sales_agent + /admin/commission

Before an agent can be tracked in the system, they must be configured as a Sales Agent — distinct from the agent's CRMConnect user account.

1a. Creating a Sales Agent

Where: /admin/sales_agent → New Sales Agent

Field Description
Name Agent's full name
User Account Agent's CRMConnect user account
Email Email for notifications and reports
Commission Rate (%) Base commission (e.g. 3% of net sales value)
Commission Type percentage / fixed amount per item / tiered
Active Yes/No — temporary deactivation without deletion

Supported commission types:

Type Description Example
Percentage % of net sales value (excluding VAT) 3% of each invoice
Per Item Fixed amount per unit sold 0.50 RON/pcs
Tiered Different percentage per performance tier 0–50k RON = 2%; 50k+ = 4%

1b. Assigning Clients to Agent

Where: /admin/clients → edit client → Sales Agent field

Each portfolio client is assigned to an agent. This assignment determines:

  • Which agent's orders are credited (commission)
  • Filtering in reports per agent
  • Client visibility if the agent has restricted access to their own portfolio

Bulk import: If you have hundreds of clients, use CSV import from /admin/clients/import with the sales_agent_id field filled in.

1c. Configuring Monthly Targets (Goals)

Where: /admin/goals → New Goal

Field Description
Agent / Staff The targeted agent
Goal Type Revenue / Quantity / Number of Clients Visited
Target Value Target value (e.g. 80,000 RON)
Period Month + Year
Notes Details: target per product category or per area

Best practice: Create targets at the beginning of each month. The agent can see their real-time progress from their own dashboard.


2. Daily Route Planning

Where: /admin/tasks + /admin/appointly

2a. Visit Tasks

Where: /admin/tasks → filter: assigned to agent + due date: today

Visit tasks can be:

Source Created by Visit type
Manager Manager at start of week Mandatory visits (key clients, debt recovery)
Recurring System / repeated template Clients with fixed frequency (daily / weekly / monthly)
Agent The agent themselves Opportunistic visits, new prospects
Assigned lead CRM automatically on lead assignment First visit to new prospect

Visit Task fields:

Field Value / Note
Title Visit [Client Name] — [Date]
Type Visit / Follow-up / Debt Collection / New Client
Related To Link to client record or Lead
Assigned To The agent
Due Date Visit date
Priority Normal / High (for clients with large debts)
Notes Visit agenda: which products to promote, what to collect

2b. Appointly — Appointments

Where: /admin/appointly

For visits scheduled in advance (key clients, new product presentations, negotiations), use Appointly for:

  • Visual calendar with all team visits
  • Appointment confirmation via email/SMS to client
  • Google Calendar integration (if active)

Morning preparation — agent checklist:

  1. Open Tasks → filter Today + Assigned to Me → sort by priority
  2. Check Appointly → confirmed appointments for the current day
  3. Identify clients with overdue invoices in portfolio (receivables report)
  4. Note anticipated recurring orders (clients with fixed frequency)
  5. Check general stock for main products — avoid impossible promises

3. Client Visit — Field Procedure

Where: /admin/clients/[id] (mobile access) + /admin/invoices (client balance)

3a. Opening the Client Record

Upon arriving at the client, the agent opens the client record in the CRM (mobile browser or app):

Information checked at each visit:

Information Where in CRM Importance
Overdue invoice balance Invoices tab → filter status Overdue Critical — if overdue > credit limit, no new order taken
Last order Sales Orders / Invoices tab → last entry Context of what was purchased last time
Preferred products Order history — most frequent Proactive recommendation
Client internal note Description / Internal Notes field Preferences, special conditions, contact person
Credit limit Credit Limit field in client record Do not accept orders exceeding the limit
Applied price list Client Group → Price List What prices are shown to them

Alert signal — client with overdue amounts:

If total overdue invoices > set credit limit or if the client has invoices with due date exceeded > 30 days:

  1. Do not take a new order without manager approval
  2. Attempt cash recovery of the outstanding amount
  3. Record payment immediately in Payments (field cash)
  4. Escalate to manager if client refuses payment

3b. Checking Available Stock

Where: /admin/warehouse/commodities → current balance or from Sales Order when adding a product

Before confirming quantities, the agent checks real availability:

Important: CRMConnect does not reserve stock when the Sales Order is created. If two agents simultaneously take orders for the same product, both sales orders are accepted, but stock is only decremented at the delivery note. The warehouse must manage delivery priority.

Recommended procedure:

  1. Add product to Sales Order → CRM can show available stock next to the product (if option is active)
  2. If insufficient stock → notify client immediately and offer available alternative or ETA for replenishment
  3. Do not confirm quantities you know are unavailable

3c. Creating the Field Order (Sales Order)

Where: /admin/estimates → New Sales Order

Required fields:

Field Value
Client The visited client (searched by name / code)
Date Current date
Expiry Date Offer validity date (e.g. today + 1 day for urgent orders)
Sales Agent Current agent (auto-filled if logged in)
Warehouse Warehouse from which delivery occurs
Price List Applied automatically from client's group
Items Products + quantities agreed with client
Discount If agent has permission to offer an ad-hoc discount
Notes Delivery instructions: schedule, client warehouse contact person, floor
Delivery Date Desired delivery date — communicated to warehouse

Prices are applied automatically from the client group's Price List. The agent sees the selling prices; if they have permission, they can also see the margin.

Sales Order statuses during the visit:

Status When Agent action
Draft At creation Editable — agent adjusts products/quantities
Sent Sent to client for confirmation (optional) Client receives email with order details
Accepted Confirmed — sent to warehouse Warehouse sees the order and prepares picking

3d. Completing the Visit — Task Completed

Upon leaving the location:

  1. Open visit Task → Mark as Completed
  2. Add internal note: what was discussed, what was ordered, client-reported issues, follow-up actions
  3. If client paid cash: record payment immediately (see Step 7)
  4. If a new client was identified in the field: create a new Lead for them

4. Prospecting New Clients in the Field (Leads)

Where: /admin/leads → New Lead

The agent identifies shops, restaurants or other points of sale in the field that are not yet in the portfolio. They add them directly as Leads.

Field Lead fields:

Field Value
Company Name Shop / company name
Contact Name Person spoken to
Phone / Email Direct contact
Source Field Visit / Referral / Cold Canvass
Assigned To The agent who identified them
Status New → first contact
Notes Products they were interested in, current distributor, objections
Address Work location address

Lead → New Client pipeline:

New Lead (identified in the field)
  │
  ↓ Contacted — agent returns with offer
  │
  ↓ Offer Sent — Sales Order sent as commercial proposal
  │
  ↓ Negotiation — payment terms, credit, price
  │
  ↓ Converted to Client
      │  create Client record + assign Client Group + Price List
      │  assign current agent
      │
      → First order processed like any active client

5. Order Processing at the Warehouse

Where: /admin/warehouse/manage_delivery (warehouse) + /admin/estimates (agent)

5a. Order Visibility at the Warehouse

Once the agent marks the Sales Order as Accepted, the warehouse sees the order in the list of orders to prepare.

Warehouse flow:

  1. Warehouse manager opens /admin/estimates → filter: status Accepted + Warehouse: their warehouse
  2. Checks stock availability for each product in the order
  3. Creates Delivery Note from Sales Order (or from Invoice if invoice was generated first)
  4. Upon Delivery Note approval: stock decreases automatically + Packing List generated
  5. Parcels prepared + AWB generated (if courier delivery)
  6. Delivery dispatched: with agent's vehicle (same tour) or with delivery team

5b. Warehouse ↔ Agent Communication

If delivery is impossible (insufficient stock for some products):

Situation Warehouse action Agent action
Partial stock available Partial delivery note (type_of_delivery = partial) Notify client about partial delivery + ETA for remainder
Product completely unavailable Remove product from delivery note + notify agent Offer substitute or record backorder
Delivery address unclear Send message to agent (Tasks / notification) Complete address in client record

6. Invoicing Field Orders

Where: /admin/invoices

6a. Generating the Invoice

The invoice can be generated at two points:

Point How When
At order confirmation Sales Order → Convert to Invoice Clients with immediate cash payment
At physical delivery From Delivery Note → Create Invoice Clients with credit (deferred payment)
Automatically on Accept estimate_auto_convert_to_invoice_on_client_accept = 1 If option is globally active

Invoice statuses:

Code Status Required action
6 Draft Verify and send
1 Sent / Uncollected Follow up at due date
3 Partially Paid Follow up on remaining balance
2 Paid Agent's commission becomes eligible
4 Overdue Escalate to debt collection
5 Cancelled Stock restored if setting active

6b. eFactura B2B

For legal entity clients (B2B), the invoice is automatically transmitted to ANAF e-Factura upon issuance (if the module is active). The agent has no additional actions — the process is automatic. The transmission status is visible in the eFactura tab of the invoice record.


7. Recording Field Payments

Where: /admin/invoices/[id] → Add Payment + /admin/payments

7a. Cash Payment in the Field

The agent collects cash from the client at the time of delivery or visit:

  1. Open client invoice in CRM (mobile)
  2. Add Payment → fill in:
    • Amount: amount collected
    • Payment Mode: Cash
    • Date: current date (not retroactive)
    • Reference: cash register receipt or receipt number (if issued)
    • Note: Cash collected in field by [Agent Name]
  3. If partial payment: partial amount + remaining balance stays open
  4. Invoice moves to Paid or Partially Paid status

Important: Recording field cash must be done immediately or no later than upon returning to the office. The collected cash must be deposited at the cashier and reconciled with payments recorded in the CRM.

7b. Card/POS Payment

  1. Add Payment → Payment Mode: Card / POS
  2. Reference: POS transaction number or last 4 digits
  3. Amount: exact amount processed

7c. Bank Transfer Payment (Credit)

Clients with payment terms (Net 15, Net 30) do not pay in the field. Invoices remain in Sent status until payment is confirmed:

  1. At due date → system automatically marks invoice as Overdue
  2. Responsible agent receives notification (if alerts are configured)
  3. Upon receipt of bank statement → Finance records payment in CRM
  4. Alternatively: client can pay online via link in email (if gateway active)

8. Commission Calculation and Approval

Where: /admin/commission

8a. How Commission Is Calculated

The agent's commission is calculated automatically based on the configuration in Sales Agent:

Eligibility condition:
  Invoice associated with agent's order → status = Paid (2)

Calculation:
  Invoice net value × Agent commission percentage = Gross commission

Example:
  Invoice #INV-2847: 4,200 RON (excluding VAT)
  Agent: Ion Popescu — 3% commission
  Gross commission: 4,200 × 3% = 126 RON

Commission statuses:

Status Description Action
Pending Automatically calculated when invoice is paid Awaiting manager approval
Approved Approved by manager Included in payroll
Rejected Rejected (e.g. returns, disputes) Agent notified with reason
Paid Commission has been paid to agent Recorded in HR / Payroll

8b. Approval Flow (manager)

  1. /admin/commission → filter: Status = Pending + Current Month
  2. Verify each line: associated invoice, agent, amount, payment date
  3. Approve All (if everything is correct) or Approve individually
  4. Approved commission is submitted to HR Payroll for inclusion in the month's payroll

Commission corrections:

Situation Action
Client returns goods after invoice payment Commission is adjusted (or a negative commission is created)
Invoice cancelled after commission approval Manager manually rejects commission + cancellation note
Agent resigned — orders in progress Commissions from invoices paid before resignation remain valid

9. Target Tracking and Performance Reporting

Where: /admin/goals + /admin/reports + /admin/datapulse

9a. Per-Agent Targets (Goals)

The agent sees their progress against the target in real time:

Where: /admin/goals → filter current month + current agent

Tracked indicator How measured in CRM
Monthly revenue (RON) Sum of agent's paid invoices in current month
Number of clients visited Completed Tasks of type Visit in current month
New active clients Clients with first invoice in current month
Leads converted Leads with status Converted from current agent
Value of orders taken Sum of Sales Orders Accepted in current month

9b. Manager Dashboard — Team Performance

Where: /admin/datapulse (if active) or /admin/reports/sales_by_staff

Report What you track
Sales per agent (monthly) Who is performing, who is below target
Top clients per agent Concentration risk — if one client is 50%+ of agent's sales
Visit frequency How many clients each agent visited daily / weekly
Receivables per agent Outstanding debt portfolio per agent
Lead → Client conversion Prospecting efficiency
Cancelled orders per agent Quality of taken orders

9c. Daily Agent Report

At the end of the day, the agent fills in (or the manager automatically extracts):

  1. Completed Tasks → how many visits were made
  2. Sales Orders created → total value of orders taken
  3. Cash collected → total from Payments of type Cash on current day
  4. New Leads → prospects identified in the field
  5. Issues / escalations → noted in tasks or client notes

What Is Created Automatically

Event Created automatically Condition
Sales Order accepted by client (portal) Agent + manager notification Alert configured in Settings
Sales Order → Invoice Invoice generated automatically estimate_auto_convert_to_invoice_on_client_accept = 1
Invoice created Delivery note (draft) auto_create_goods_delivery = 1
Delivery note approved Stock decreased + outbound transaction recorded Always
Invoice paid Agent commission calculated and placed in Pending Commission module active + agent assigned
Invoice past due date Status automatically changed to Overdue Nightly job / daily cron
Goal target — threshold reached Agent notification (if configured) Goals module + active alerts
Lead assigned to agent Automatic contact task If Lead → Task automation workflow is configured

Points Where the Flow Can Block

Problem Likely cause Solution
Agent cannot see stock from mobile Missing permissions on user account Admin → User Permissions → enable Warehouse / Commodities access in read-only mode
Prices in Sales Order don't match what agent negotiated Client not in correct group or Price List expired Check Client Group → assigned Price List; if special negotiation → manual line discount or dedicated Price List
Commission not calculated after invoice payment Agent not assigned on invoice / sales order Check Sales Agent field on Sales Order → if missing, add manually and recalculate
Delivery note blocked — stock 0 Another agent or order consumed the stock Warehouse notifies agent → agent contacts client + decides: wait for replenishment or partial order
Client refuses to pay at delivery Quality dispute or order discrepancy Do not cancel invoice in the field — escalate to manager; if partial return: create return delivery note from invoice
Visit tasks not showing for agent Tasks not correctly assigned or filter is wrong Check Assigned To field on task + Due Date = today; manager re-checks assignments
Commission calculated incorrectly (high/low amount) Commission percentage incorrectly configured on Sales Agent /admin/sales_agent → edit agent → verify Commission Rate and Commission Type
Field Leads not progressing in pipeline Agent creates them but doesn't follow up Manager checks open Leads per agent weekly + conversion target in Goals
Field-collected cash not recorded on the day Agent forgets or lacks stable mobile access Procedure: cash is recorded at base end of day mandatory; administrator checks daily Payments > Cash for current day
Invoice generated but not sent to client Invoice remains in Draft status Check if auto_send_invoice is disabled; agent or finance sends manually from invoice record

Relevant Reports

  • Sales by Staff / Agent/admin/reports/sales_by_staff — sales per agent: value, number of invoices, active clients
  • Commission Report/admin/commission — pending and approved commissions per agent per month
  • Goals Progress/admin/goals — actuals vs. target per agent per month
  • Client Invoices Overdue/admin/invoices?status=4 filtered by Sales Agent — receivables per agent portfolio
  • Tasks Completed/admin/tasks?status=completed — visits made: frequency per client, per agent
  • Leads by Agent/admin/leads filtered by Assigned To — active prospecting and conversion
  • Payments Cash/admin/payments?payment_mode=cash — cash collected per day per agent (cashier reconciliation)
  • Sales Orders Pipeline/admin/estimates?status=2 — sent orders, not yet confirmed
  • DataPulse/admin/datapulse — executive dashboard: top agents, trends, underperformance alerts

Modules Involved — Detailed Documentation

Clients & CRM: Leads · Clients · Client Groups · Tasks · Appointly

Sales & Invoicing: Sales Orders · Invoices · Payments · Price Lists

Agents & Performance: Sales Agent · Commission · Goals

Warehouse: Delivery Notes · Inventory History

Reports & Analytics: Reports · DataPulse

Related Workflows: Lead → Cash · Full Commercial Cycle · Warehouse Inbound → Outbound · OmniSales Fulfillment

← Back to Workflows