Try it yourself
Log in to a demo CRM with this extension installed and try it freely before you buy.
Username
mPassword
12345Demo data is for testing and may be reset at any time.
Documentation
What it does
Sales Discipline makes sure every lead is called on time, no open lead is ever left without a follow-up, and calls are not pushed to another day without a reason. Every breach can create a deduction that an administrator approves before it reaches payroll — and everything is measured in reports and dashlets.
Main features
- Lead first-call SLA — when a lead is assigned to a rep, a planned call is created and the rep is notified to call within N working minutes (default 30), with a reminder before the deadline. Time counts only inside working hours and days.
- Escalation — if the rep does not call in time, the call is closed as "SLA Expired", a pending deduction is registered (default 50) and the lead returns to whoever assigned it, the direct manager, or the next employee by round-robin (with a fresh SLA).
- Every open lead always has a planned call — on re-assignment the old owner's open calls are closed and the new owner gets a call; closing a call requires the next follow-up date (or creates one automatically); a Dead lead's calls are closed; the last open call of an open lead cannot be deleted; an hourly check fixes any lead left without a call.
- Today's calls lock — reps cannot move today's calls to another day or delete them. After working hours, still-planned calls become "Missed" (optional deduction per call) and managers get a summary.
- Postponement Requests — a rep requests moving calls to another day, linked to an approved HR permission (any entity you choose). Valid requests are approved automatically; others by the direct manager. Above the free monthly quota a deduction is applied (fixed or % of daily salary).
- System Deductions — one ledger for every automatic deduction (also from your workflows), linked to the call/task/lead that caused it. Every deduction starts Pending; only admins approve (one by one or in bulk).
- Payroll integration — if your CRM has a Salary entity (e.g. FM HR), approved deductions are added to the monthly salary; the deducted total can be edited, estimated or set to 0, and the net salary follows.
- Reports & 5 dashlets — SLA compliance, average first response, calls by outcome, daily trend, deductions, live SLA countdown, overdue calls, leads without a call, CSV export. Admin sees all, managers their team, reps themselves.
- Arabic and English.
How to use
- 1. Install the extension, then open Administration → Sales Discipline Settings: working hours and days, SLA minutes, deduction amounts, closed lead statuses (default Dead), next follow-up required, round-robin users, postponement quota and the HR permission / salary source (chosen from drop-downs).
- 2. On each sales user (Users → user → "Sales Discipline" panel) tick Sales Discipline Rules and set the Direct Manager (Sales); optionally the monthly salary.
- 3. Give sales managers Assignment Permission in their role, and give Sales Discipline Reports access to whoever should see reports.
- 4. Make sure the EspoCRM cron runs every minute (the SLA and end-of-day checks are scheduled jobs).
- 5. Reps work as usual: close calls with a result and a Next Follow-up; request postponements from the Postponement Requests tab.
- 6. Admins review System Deductions (filter Pending → select → Approve) and follow the Sales Discipline Reports tab or add the dashlets to the home page.
Settings & permissions
- All rules can be switched on/off and tuned from the settings page.
- Formula functions for workflows: fmDeduction\create(USER_ID, AMOUNT, REASON, SOURCE, PARENT_TYPE, PARENT_ID) and fmDeduction\approvedTotal(USER_ID, 'YYYY-MM').
- Admin tool on the System Deductions list: Import from HR Cases — moves old automatic deductions saved as HR records into the ledger.
Notes
- EspoCRM 8.0+ and PHP 8.1+. The module stays inactive until it is installed through Administration → Extensions.
- Payroll integration needs a Salary entity with salaryOf, netSalary and penalty fields; without it deductions are still tracked and available via formula.
Install & activate
- Download the package from the link you receive with your license key.
- In EspoCRM: Administration → Extensions → Upload → Install.
- Administration → Integrations → open the extension license, enable it, paste the key, save.
- The guide and the license status are on the extension page inside Administration.