What this CRM does
Universal Business CRM manages the full customer journey for any business – real estate, coaching institutes, jewellery, digital products, IT services, B2B/retail and more. It covers lead capture, follow-ups, opportunities, orders, service delivery tasks, verification calls, dashboards, reports and a slab-based commission engine.
It is multi-company (SaaS): each business (tenant) has its own users, data, configuration and subscription, fully isolated from others.
Signing in
- Open your CRM address (for example
https://crm.yourcompany.com). - Enter your email and password and click Sign in.
- Forgot your password? Ask your CRM administrator to set a new one under Admin › Users.
New businesses can start a 15-day free trial from the Start free trial link on the sign-in page (if enabled by the platform owner).
Roles & what you can see
Each user has one role. A role has permissions (what you can do) and a data scope (which records you can see):
| Data scope | You see |
|---|---|
| Own | Only leads you own (and records linked to them) |
| Team | Your own plus everyone reporting to you, at any level |
| Group | Your own plus leads of the departments/groups you belong to |
| All | Every record in your company |
Standard roles created for every company: CRM Administrator, Sales Manager, Salesperson, Management, Verification Executive, Service Delivery Executive and Finance. Administrators can edit them or add new ones.
Leads
Create a lead
- Click + New Lead.
- Fill the mandatory fields (marked *): name, phone, lead source and lead segment.
- If you choose the segment Other, the field Other Profession appears and becomes mandatory.
- Add tags, budget, requirement and any extra fields your company has configured.
- Click Create Lead.
Duplicate check: while you type, the CRM checks phone, email and company. If a similar lead exists you see it listed; open it, or tick Save anyway if it is genuinely a new enquiry (unless your administrator blocks duplicates).
Find leads
The Leads list has search plus filters for stage, owner, status, source, segment, group, priority, tag, follow-up (due today / overdue), created dates and custom fields. Click the filter icon for more filters. Your filters are kept in the address bar, so you can bookmark a view.
The lead page (360° view)
Shows the profile, opportunity values, and tabs for Timeline (all activities, emails, stage changes and assignments in one chronological list), Log activity, Opportunities, Orders, Tasks, Email, Files, History and Audit. Use Call and WhatsApp buttons to contact the customer directly from a phone.
Lifecycle stages (I-S-P-A-N-D-O-C)
The default real-estate and generic lifecycle is:
- New leads start in Suspecting.
- Prospecting and later stages require an opportunity (amount, probability, expected close date). When you choose such a stage in Change stage, the CRM shows the opportunity fields right in the dialog and saves both together.
- Order requires order/booking details (type, date, amount).
- Closed stages require a closure reason.
- Moving backwards needs the “stage override” permission and a reason.
- Lapsed is applied automatically: an active lead with no stage change for 3 calendar months (configurable) becomes Lapsed overnight. It appears in Lead Status › Lapsed.
- Closed or lapsed leads can be reopened by users with the “reopen” permission, with a reason.
Every change records who, when, from, to and why in the History tab.
Activities, remarks & follow-ups
- Open the lead and click Log activity.
- Pick the type – Phone Call, Email, Meeting, WhatsApp, Site Visit, Demo, Counselling… Each type shows only its relevant fields (direction, duration, participants, agenda, outcome, location).
- Notes/Remarks are mandatory for every activity.
- Set Next action and Follow-up on to schedule the next touch.
- Click Save activity.
Site/field visits with location
For types configured with geo-capture (e.g. Site Visit), click Capture GPS. Your browser asks for permission; the real device location, accuracy and time are saved. If you deny permission, the visit is still saved with status “denied” – no fake location is ever stored.
Follow-ups
Follow-ups in the menu lists Overdue, Today and Upcoming items. Mark them Done or Cancel, or click Log to record the call. You get a reminder 15 minutes before a follow-up and an alert (to you and your manager) when it becomes overdue.
Opportunities & pipeline
An opportunity holds the amount, probability, expected close date, offering, quantity, discount and forecast category. Weighted value = amount × probability (e.g. ₹10,00,000 × 50% = ₹5,00,000) and is recalculated on every save.
- Pipeline › Board: drag cards between columns to move the lead’s stage. All stage rules still apply.
- Pipeline › List: filter by status, stage, owner, type and close dates; export to CSV.
- The opportunity stage always follows the lead stage, so dashboards never disagree.
Orders / bookings / enrollments
Create from the lead (Orders tab or the Order stage dialog) or from the Orders menu. A payment schedule is created automatically from the type’s milestones (e.g. Token 10%, Agreement 20%…). Record customer payments and brokerage/commissionable receipts against milestones. Commissionable % (e.g. 2% brokerage) drives commission when the plan pays on commissionable revenue.
Cancelling requires a reason and puts related commission on hold or into clawback.
Tasks & service delivery
Create tasks for yourself or – with permission – for others, optionally linked to a lead. Pick the Department/Group first; the Member list then shows only that group’s active members. Assignees update status, progress % and mandatory remarks; the full progress log is kept. Overdue tasks notify the assignee, their manager and the creator.
Verification queue
Verification executives see leads assigned to them or to their verification group. For each call choose a disposition (Verified, Not reachable, Wrong number, Call later…) and enter remarks. Call later requires a callback date/time and keeps the lead in the Callbacks list.
Emails & templates
Open a lead › Email. Choose a template (Welcome, Appointment, Progress update, Payment reminder…) – placeholders such as {{lead.name}}, {{owner.name}} and {{company.name}} are filled automatically – edit if needed, and send. Every email is stored on the lead timeline with its delivery status. Administrators manage templates in Admin › Email Templates and SMTP in Settings › Email.
Assigning & reassigning
- Single: lead page › Assign / reassign – pick Department/Group, then Member, add a reason.
- Bulk: Leads list › tick leads › Bulk action › Assign selected.
- By tag: Bulk action › Assign all leads with a tag.
- Automatic: workflows can assign owners or round-robin within a group.
Each assignment records previous owner, new owner, method, who did it, when and why. The new owner is notified and sees the lead immediately; the previous owner loses access (unless their scope still covers it).
Import & export
Leads › Import: download the CSV template, fill it (one lead per row; source and segment must match configured names; owner_email must be an existing user) and upload. Each row is validated and duplicate-checked; skipped rows are listed with the reason. Up to 5,000 rows per file.
Every list, dashboard and report has an Export button producing a UTF-8 CSV that opens in Excel. Exports respect your data scope and current filters.
Dashboards
| Tab | Shows |
|---|---|
| Overview | Active leads, new this month, pipeline and weighted pipeline, orders, conversion, overdue follow-ups, inactive leads, charts by stage/source, tasks. |
| Sales Dashboard | Lead counts, opportunity and closed values by period, segment and salesperson with drill-down. |
| Daily Activity | Activities per day grouped by type and person. |
| Lead Status | Serving (active as of today), Sold (closed-won in the period), Lapsed (lapsed in the period). |
| Team | Per-salesperson leads, activities, pipeline, wins. |
Use the common filter (Start date, End date, Segment, Sales person). Dates are inclusive; Reset returns to the current month. Clicking any number opens exactly the leads behind it.
Reports
15 ready reports: source & campaign conversion, segment & profession, stage funnel, stage aging, assignment history, lapsed leads, won/lost analysis, activity summary, geo-tagged visits, verification dispositions, task SLA, email log, pipeline forecast and commission payout statement. All respect the date/segment/salesperson filter and export to CSV.
Commission
- Configure (Commission › Plans, Slabs, User mapping, Targets, Channel partners). Default slabs: below 50% → 5%, 50–79% → 8%, 80–99% → 10%, 100–119% → 15%, 120–149% → 20%, 150%+ → 25% (minimum inclusive, maximum exclusive).
- Calculate from an order: the CRM picks the employee’s plan, monthly achievement and slab; you split the commission between people (must total 100%).
- Approve: Submit → Manager approval → Finance approval → Scheduled. Overrides need a reason and are audited.
- Pay out by milestone (default 10% confirmed, 20% agreement, 40% customer payment, 30% commissionable revenue received).
- Clawback happens automatically if the order is cancelled after payout.
The Commission dashboard shows target vs achievement, earned, paid, pending approval and net payable for you, your team and Finance.
Field Sales Expense (FSE)
An optional module. The platform owner switches it on per company (Platform › Tenants › Optional modules). When it is on, the sidebar shows Field Sales Expense.
How FSE is earned
- A day is FSE-eligible when the sales person logs at least 3 physical meetings (Meeting, Site Visit or the activity types chosen in the rule) with 3 different clients.
- Every client met must be assigned to the sales person at the time of the meeting. A meeting with someone else's lead is shown greyed out as "Lead not assigned to you" and does not count. Repeat meetings with the same client on the same day count once.
- If you meet a new client who is not in the CRM, use Leads › Request a lead. The lead addition team gets a task, adds the lead and assigns it to you. Sales persons cannot add leads themselves.
- New joiners: the first 10 days after the date of joining (DOJ + 1 to DOJ + 10) carry no FSE target. FSE is paid on those days only if the rule is met. Days on or before the date of joining never count.
- Back-dated meetings: tick Add back-dated activity on the Log activity form. A meeting can be at most 2 days old, and only 3 back-dated entries are allowed per month. Back-dated entries are labelled in the timeline and on the PDF. Future-dated meetings are not allowed.
Approval and PDF
- The Team Lead (the user's Reports to manager) opens Field Sales Expense › Team approvals, reviews each member and sets each eligible day to Yes or No, then clicks Save approval.
- The sales person opens Field Sales Expense, picks the month and clicks Download FSE PDF.
- The PDF shows the Sales Person Name, Employee ID, Team Lead Name, FSE Month, Eligible Days and Per Day FSE, followed by the meeting table (Date, Lead ID, Lead Name, Meeting Type, Location, FSE Eligibility, FSE Approved). It ends with system-generated signatures and dates for the Team Lead and the sales person.
The FSE PDF can be generated from the last working day of the month. Weekly offs and company holidays are set in Admin › Settings › Company & Branding. Until that day the button shows "PDF available date". On that day everyone with an FSE rule gets a notification.
The signature dates are the moment the PDF is downloaded for reimbursement. Every download is recorded with a reference number. Payable FSE = approved days × per-day FSE.
Rules (tenant admin)
Go to Admin › FSE Rules. A rule can set:
- the per-day amount and the minimum meetings per day;
- which activity types count as physical meetings;
- whether the client must be assigned to the sales person, and whether GPS is required;
- the new-joiner window, and the back-date limits (days and times per month);
- effective dates.
A rule for a specific role overrides the "all sales roles" rule. Set each user's Employee ID, Date of joining and Reports to (Team Lead) under Admin › Users.
Company lead rules
Turn this on in Admin › Settings › Leads (Company lead rules). It is switched on automatically with the FSE module.
- Mandatory: Company name, Company address, Company email ID, and a company contact number (mobile or landline).
- One of each per company: one company email, one landline and one mobile. Under Contact person you can add the name, email ID and up to three mobile numbers.
- Unique leads: a lead is blocked if its lead name, company name, contact person name, office mobile, office landline, company email or contact person email matches an existing lead. Matching ignores upper/lower case, spaces and dashes. There is no "Save anyway"; the message names the matching lead and its owner.
- Only users with Create leads permission (for example the Lead Addition Team role) can add leads. Sales persons see Request a lead instead.
Employee Self Support (ESS)
Employee master (Admin › Users)
The administrator creates each employee and sets:
- group, role, designation and location;
- personal email ID, company email ID (the CRM login) and phone number;
- date of joining, employee ID and status (Active / In-Active);
- the team lead emp ID. The team lead's name, email ID and phone number are fetched automatically.
Marking an employee In-Active records the date and time and who did it. It disables CRM login immediately: open sessions are signed out and mobile tokens are revoked. Setting the employee back to Active clears the stamp.
My ESS (every employee)
- Employment details: read only for the employee.
- Personal details: emergency contact name, mobile and relation (Father, Mother, Brother, Wife, Local Guardian, Friend) and local address. These can be changed any time. Admins can change the relation list under Admin › Picklists › ESS: Emergency Contact Relation.
- Once only: blood group with RH factor, and the permanent address. After the first save these sections are locked for the employee.
- Bank details (once only): account number (entered twice), bank name, IFSC, branch and an uploaded cancelled cheque (JPG, PNG or PDF, up to 5 MB). The account holder name is taken from the employee name. The account number is stored encrypted and shown masked.
Changes by admins
Only the Tenant Admin (Admin › Users › ESS: personal & bank details) or the Super Admin (Platform › Tenants › user › ESS) can change saved details. They can also tick Unlock for the employee to let the employee fill a section again. Every change is audited.
Change requests from the UI (no code changes)
Everything below is under Admin & Configuration and takes effect immediately:
| Business change | Where |
|---|---|
| Rename / add / reorder stages, colours, gates, required fields, allowed transitions | Admin › Lifecycle stages & gates |
| Add a field to leads, contacts, opportunities, orders, tasks, products | Admin › Custom Fields |
| Add a whole new record type (Units, Batches, Policies…) | Admin › Custom Objects (+ its fields) |
| Change sources, segments, closure reasons, priorities, dispositions, currencies, payment modes | Admin › Lead Sources / Segments / Closure Reasons / Picklists |
| Add an activity type (e.g. Home Visit with GPS) | Admin › Activity Types |
| Change FSE per-day amount, meetings per day, joiner window, back-date limits | Admin › FSE Rules |
| Make company details mandatory and leads strictly unique | Admin › Settings › Leads › Company lead rules |
| Rename “Opportunity”, “Order”, “Offering”… | Settings › Terminology |
| Change lapse months, inactivity alert days, duplicate rules, mandatory fields, phone format | Settings › Business Rules |
| Automate assignment, emails, tasks, notifications, webhooks | Admin › Workflow automation |
| Commission slabs, plans, targets, payout milestones | Commission › Plans / Slabs / Targets; Settings › Commission |
| Who can do what | Admin › Roles & permissions |
| Logo, colour, timezone, currency, SMTP, numbering prefixes | Settings |
Stages & gates
Each stage has a code, name, colour, category (Open, Won, Lost, Invalid, Lapsed), order, default probability, SLA days and flags: opportunity required, pipeline column, order required, reason required, subject to auto-lapse. Tick the lead fields that must be filled before entering the stage. The transition matrix controls which moves are allowed; the “O” box marks moves that also need the override permission. A row with nothing ticked allows any forward move.
Custom fields & objects
Field types: text, long text, number, currency, date, date-time, dropdown, multi-select, checkbox, email, phone, URL. Options: mandatory, show in list, section, help text, and conditional visibility (show only when another field has a given value). Custom objects get their own menu item, list, form, filters and CSV export, and can be linked to leads.
Workflow automation
When an event happens (lead created/updated/stage changed/assigned/closed/lapsed, activity logged, opportunity created/changed, order created/cancelled, task or follow-up overdue) and all conditions match (source = Website, budget ≥ 50,00,000, tags contain VIP…) then run actions: assign owner, round-robin in a group, create task, send email template, notify, update field, add tag, set follow-up, call a webhook (HTTPS). Every run is logged and never repeats for the same event.
Settings & business rules
- Company & Branding: name, logo, brand colour, timezone, currency.
- Business Rules: auto-lapse on/off and months, inactivity alert days, high-value alert threshold, opportunity amount limits, multiple opportunities per lead, duplicate fields and blocking, mandatory fields, phone pattern.
- Terminology: rename core objects.
- Security: single active session; mobile device binding.
- Email (SMTP): your mail server; Send test email to verify.
- Numbering: prefixes for lead, opportunity, order, task and commission numbers.
- Commission: payout milestones.
Users, roles & devices
Admin › Users: add users (each active user uses one licence), set role, manager (for team scope), groups, SSO-only flag and timezone. Deactivating a user who still owns active leads asks you to reassign first. Under Mapped mobile devices you can approve the device IDs a user may use with the mobile app; unmapped attempts are blocked and logged.
Security & audit
- Passwords are hashed; SMTP passwords and device IDs are stored encrypted/hashed.
- Every company’s data is isolated; users cannot reach another company’s records even by URL or API.
- Security events log logins, failures, terminated sessions and device attempts.
- The audit log keeps field-level history of every change and can be exported.
- Screenshot blocking is a native mobile-app feature (Android FLAG_SECURE / iOS capture detection); browsers cannot block screenshots.
Subscription & licences
New companies get a 15-day free trial. Pricing is per user per month by user band:
| Plan | Users | Price / user / month |
|---|---|---|
| Starter | 5 – 9 | ₹300 |
| Growth | 10 – 20 | ₹250 |
| Business | 21 and above | ₹225 |
When a trial ends or a subscription lapses (after a 7-day grace period), users are taken to the Subscription page; data is never deleted and access is restored as soon as the platform owner activates or renews.
Platform console (SaaS owner)
The platform owner (created during installation) signs in to the Platform console to provision companies, choose their industry template, convert trials to paid, renew, change licences, extend trials, suspend or cancel, edit subscription plans and review the security and subscription logs across all companies.
Installing on cPanel
Requirements: PHP 8.3 or newer with pdo_mysql, mbstring, openssl, tokenizer, xml, ctype, json, fileinfo and curl; MySQL 5.7+/MariaDB 10.3+. No Node.js or SSH is needed.
- In cPanel › MySQL® Databases, create a database and a user, and add the user to the database with All privileges.
- In cPanel › MultiPHP Manager, set PHP 8.3 (or newer) for the domain.
- Upload
universal-crm.zipwith File Manager to your home folder (e.g./home/USER/crm) and Extract. - Recommended: in cPanel › Domains, set the domain or sub-domain document root to
/home/USER/crm/public.
Alternative: extract directly intopublic_html; the included root.htaccessroutes traffic topublic/and blocks source files. - Open
https://your-domain/install, check all requirements are green, enter the database details, the platform owner and your company administrator, choose the industry template and click Install now. - Add the cron job (next section) and sign in.
storage/ or bootstrap/cache/, set those folders to permission 755 (or 775) in File Manager.Scheduled jobs (cron)
cPanel › Cron Jobs › add, every 5 minutes (or every minute):
/usr/local/bin/php /home/USER/crm/artisan schedule:run >> /dev/null 2>&1
If PHP CLI is not available, use the web cron URL instead (your key is CRM_CRON_KEY in .env):
wget -q -O- https://your-domain/cron/YOUR_CRM_CRON_KEY >/dev/null 2>&1
Jobs: follow-up/task/inactive-lead reminders every 5 minutes; auto-lapse at 01:30; trial and renewal checks at 00:15.
REST API for mobile apps & integrations
Base URL https://your-domain/api/v1. Sign in with POST /auth/login (email, password, device_id) to receive a bearer token, or create a token in Admin › API tokens. Send Authorization: Bearer TOKEN and, when device binding is on, X-Device-Id.
| Method | Endpoint | Purpose |
|---|---|---|
| GET | /metadata | Stages, sources, segments, activity types, picklists, labels |
| GET/POST | /leads | List (filters, paging) / create |
| GET/PUT | /leads/{id} | Detail / update (send version to avoid overwriting others’ changes) |
| POST | /leads/{id}/stage | Change stage (gates enforced, e.g. 409 PIPELINE_REQUIRED_FOR_PROSPECTING) |
| POST | /leads/{id}/assign | Assign / reassign |
| GET/POST | /leads/{id}/activities | Timeline / log activity (with geo) |
| POST | /leads/{id}/pipeline | Create opportunity |
| GET/PUT | /pipeline, /pipeline/{id} | Opportunities |
| GET | /dashboard/sales, /daily-activity, /lead-status/summary, /lead-status/{tab}, /team | Dashboards |
Errors return JSON {"code": "...", "message": "..."} with HTTP 400 (validation), 401, 403, 404 or 409 (business rule).
Backups & upgrades
- Use cPanel › Backup (or JetBackup) daily for the database and the
storage/folder (uploaded files, logos). - To upgrade: back up, upload the new version over the old files keeping your
.envandstorage/, then openhttps://your-domain/upgrade/YOUR_CRM_CRON_KEYonce (or runphp artisan migrate --forcein cPanel Terminal) to apply database changes and clear caches.
Troubleshooting
| Symptom | Fix |
|---|---|
| Blank page or “500 Server Error” | Check storage/logs/laravel-*.log; ensure PHP 8.3 is selected and storage/ is writable. |
| CSS missing / page looks unstyled | The document root must be public/, or the root .htaccess must be present. |
| “Page expired (419)” | Session timed out or you signed in elsewhere – sign in again. |
| No reminders / leads never lapse | The cron job is missing – see Scheduled jobs. |
| Emails not delivered | Settings › Email: enable SMTP, use your cPanel mailbox (host mail.yourdomain.com, port 465 SSL), click Send test email. |
| “Pipeline creation is mandatory…” | Fill the opportunity fields shown in the Change stage dialog. |
| Cannot add a user | Licence limit reached – ask the platform owner to increase licensed users. |
FAQ
Can I use it for a non-real-estate business?
Yes. Pick another industry template at installation/sign-up or re-configure stages, fields and labels from Admin.
Can two people edit the same lead at once?
Yes; if someone saved first, you are told to reload instead of silently overwriting their change.
Are deleted records gone forever?
No. Leads, activities and attachments are soft-deleted and remain in the audit trail; masters are deactivated rather than deleted.
How many users and leads can it handle?
It is indexed for hundreds of thousands of leads per company on standard shared hosting; for very large volumes move to a VPS without code changes.
Support
Universal Business CRM is developed and supported by Vertigus Solutions. For help, feature requests or customisation, contact your Vertigus Solutions representative.