We are looking for a developer or a team to create a web CRM system for a home appliance repair company in the USA.
A responsive CRM system is needed, convenient for use on mobile devices, as the main users of the system are technicians, dispatchers, managers, and administrators.
The CRM should help manage requests, clients, technicians, invoices, finances, and mandatory stages of work execution.
1. Overall project goal
A web CRM system needs to be developed for managing requests for home appliance repairs.
The system should:
control mandatory actions of the technician at each stage of work;
differentiate access rights for different types of users;
ensure transparency of finances and work execution;
not allow closing a request without filling in mandatory fields;
not allow a technician to proceed to the next tasks if the current request is not completed correctly;
store the history of requests, invoices, photos, signatures, and user actions.
2. User types and access levels
The system should have different user roles with separate access rights.
2.1. Administrator
The administrator has full access to the system.
Capabilities:
management of all users;
management of roles and access rights;
viewing and editing all requests;
access to financial data;
access to reports;
CRM settings;
viewing user action logs.
2.2. Manager
The manager has access to operational management of requests and finances.
Capabilities:
2.3. Dispatcher
The dispatcher works with requests and clients.
Capabilities:
creating requests;
editing client data;
adding a description of the problem;
assigning a date and time for the visit;
viewing request statuses;
adding general notes;
transferring the request to the manager or technician.
Restrictions:
2.4. Technician
The technician has access only to their assigned tasks.
Capabilities:
viewing their requests;
changing the status of their work according to the workflow;
uploading photos;
obtaining the client's electronic signature;
filling in payment information;
adding information about spare parts;
adding short comments on the work;
completing the request after all mandatory stages are completed.
Restrictions:
the technician does not see other people's requests;
the technician cannot edit critical fields after completing the request;
the technician cannot complete the request without mandatory fields;
the technician does not see the next assigned tasks if the current request is not completed correctly.
3. Client card
The CRM should have a separate client card.
Fields of the client card:
It is desirable that when creating a new request, the system checks if a client with that phone number or email exists and suggests using the existing client card.
4. Structure of the request / Work Order
Each request must contain basic information about the client, work, technician, status, and finances.
Basic information
client's name;
phone;
email, if available;
address;
ZIP code;
city;
state;
visit date;
visit time;
assigned technician;
request status.
Request statuses
Basic statuses are needed:
New;
Scheduled;
On the way;
Arrived;
In progress;
Completed;
Closed;
Canceled;
Rescheduled;
Callback needed.
Separate fields of the request
description of the breakdown entered by the dispatcher;
type of equipment;
brand of equipment;
model, if the client knows;
general notes;
internal notes visible only to the manager and dispatcher;
photo;
client's electronic signature;
invoice block;
history of changes to the request.
5. Mandatory workflow for the technician
The system must operate on the principle of blocking stages.
The technician cannot proceed to the next stage or complete the work if mandatory actions at the current stage are not performed.
Also, the technician should not see the next assigned tasks if the current request is not completed correctly.
Stage 1 — Arrival at the site
Mandatory actions:
the technician changes the status to Arrived;
the client signs the electronic waiver;
the client's signature is mandatory.
Without the client's signature, the technician cannot proceed to the next stage.
Stage 2 — Photo documentation
Mandatory actions:
the technician uploads at least 1 photo;
the photo is attached to the request;
the photo must be accessible to the manager and administrator.
Without a photo, the technician cannot proceed to the next stage.
Stage 3 — Finances
Mandatory actions:
Payment methods:
Cash;
Card;
Zelle;
Check;
Other.
The amount and payment method fields must be mandatory.
Stage 4 — Spare parts
Mandatory actions:
the technician indicates whether a spare part is needed;
if a spare part is needed, the technician specifies the name of the spare part;
the technician specifies the quantity;
if necessary, adds a comment.
Options:
Part needed — Yes;
Part needed — No.
If Yes is selected, the name and quantity fields for the spare part become mandatory.
Stage 5 — Review
Mandatory actions:
Options:
In the future, it is desirable to add automatic sending of the review link via SMS or email.
6. Blocking logic
If mandatory fields are not filled in the current request:
the system does not allow changing the status to Completed;
the system shows a message indicating which fields need to be filled;
the system does not show the technician the next assigned tasks;
the system does not allow bypassing the workflow without the rights of a manager or administrator.
The manager or administrator may have the ability to manually unblock the request, but such action must be recorded in the logs with the user, time, and reason specified.
7. Invoice
An invoice must be automatically generated for each request.
The invoice should contain:
The invoice must be available for:
It is desirable that the PDF invoice has a neat template with the company logo, contacts, and basic information about the work performed.
8. Financial block
The CRM must record financial data for each request.
Required functions:
recording the amount received;
selecting the payment method;
viewing finances by requests;
filtering by date;
filtering by technician;
filtering by payment method;
generating basic reports.
Desired reports:
revenue for the day;
revenue for the period;
revenue by technician;
revenue by payment method;
number of completed requests;
number of canceled requests;
number of requests requiring a callback.
In the future, logic for distributing the amount may be needed:
technician's percentage;
company profit;
costs for spare parts;
other expenses.
At the MVP stage, basic recording of the amount and payment method is sufficient.
9. User action logs
The system must keep a history of user actions.
It is necessary to log:
creation of a request;
editing of a request;
status change;
assigning a technician;
changing financial data;
uploading photos;
obtaining a signature;
creating or editing an invoice;
manual unblocking of a request;
deleting or canceling a request.
The logs should show:
who performed the action;
when the action was performed;
what exactly was changed.
10. Technical requirements
The CRM must be a web application.
Main technical requirements:
responsive design;
convenient mobile version for technicians;
quick opening of requests on the phone;
user authorization;
role and access rights differentiation;
photo storage;
client's electronic signature;
PDF invoice generation;
email sending of invoices;
logging of user actions;
scalability;
ability to add new states, cities, technicians, and departments.
It is desirable to provide an API or webhooks for future integrations.
11. MVP version
At the first stage, we need an MVP version of the CRM.
The MVP should include:
user authorization;
roles: Admin, Manager, Dispatcher, Technician;
creating clients;
creating requests / work orders;
assigning technicians;
mobile cabinet for technicians;
mandatory workflow for technicians;
client's electronic signature;
uploading photos;
recording the amount and payment method;
spare parts block;
Review requested: Yes / No field;
blocking the completion of a request without mandatory fields;
automatic invoice creation;
PDF invoice;
basic financial reports;
user action logs.
Not mandatory for the first version of the MVP:
These functions can be added after testing the MVP.
12. Future development of the system
After the MVP launch, we plan to add:
integration with QuickBooks;
integration with SMS;
automatic sending of review links;
GPS tracking of technician arrival;
KPI dashboard;
integration with call tracking system;
integration with AI voice dispatcher;
automatic request creation after a call;
advanced financial reports;
payroll logic for technicians;
multi-location / multi-state management.