Refine the CRM system
No need to rewrite the system from scratch, just refine it!
I am looking for a reasonable programmer for ongoing collaboration. For this refinement of the CRM, I am READY to pay up to 5000 + bonuses for quality work. Make your bids; I will choose based on your work experience and, of course, the lower amount compared to the price I proposed.
Current technical base:
- Admin panel: React + Vite + Tailwind SPA in the admin/ folder
- API / backend: Node.js + Express
- Database: SQLite via better-sqlite3
Main task:
to add a clear logic for working with leads, deals, managers, Zoom/calls, payments, payment confirmations by the admin, and automatic calculation of managers' balances.
Technical requirements
To ensure the system works stably, implement it through the backend and database without heavy solutions.
- Database
Create a separate deals table for deals, linked to the application via lead_id / request_id. - Indexes
Add indexes on fields that will have filters: managers, statuses, creation date, Zoom/call date. - Change history
Store who and when changed the deal status, payment, or financial data. - Delays
Do not create heavy cron tasks. Delays like "application without a deal for more than 2 hours" should be calculated using timestamp when querying data. - Payment confirmations
The manager can set the status "Prepayment made" or "Full payment made", but only the admin can confirm the payment. - Accruals
Only payments confirmed by the admin should be included in statistics, balance, and accruals. - Protection against duplication
Do not allow creating a duplicate deal for one application, a duplicate confirmation of one payment, or a duplicate accrual for one payment. - Prepayment and additional payment
If the client initially made a prepayment and then paid the remainder, these should be two separate financial events. - Access rights
Rights to check on the backend: only the admin can confirm payment, change %, add payments, and see all financial data. - Main principle
The source of truth for analytics, balances, and accruals is only the payment confirmed by the admin.
TASKS
1. Current CRM logic
Currently, the CRM already has sections:
- Overview
- Applications
- Managers
- Settings
A new section needs to be added:
- Deals
The final menu structure:
- Overview
- Applications
- Deals
- Managers
- Settings
2. "Applications" section
The "Applications" section contains all leads that have submitted a form on the website.
An application is not automatically a deal.
Logic:
Application from the website → manager contacted the lead → agreed on Zoom/call → a deal is created
A button needs to be added to the applications table:
"Create deal"
If an active deal has already been created for the application, instead of the button "Create deal", show:
"Open deal"
There can only be one active deal per application.
Do not allow creating a duplicate deal for the same application.
3. Application statuses
In the "Applications" section, add a field:
"Application status"
Application status options:
- Awaiting response
- Deal created
- Did not get in touch
- Refusal
If a deal is created from the application, the application status automatically changes to "Deal created".
4. Separation of managers
In the CRM, two types of managers need to be separated:
- Traffic manager
- Sales manager
Traffic manager
This is the person through whose unique link the application came to the website.
It is used in the "Applications" section.
The field in the application should be called:
"Traffic manager"
Sales manager
This is the person who conducts the Zoom/call, communicates with the client, and closes the deal.
It is used in the "Deals" section.
The field in the deal should be called:
"Responsible sales manager"
Separately in the deal, there should be a field:
"Sales manager who closed the deal"
This field is used for sales analytics and for accruing the manager's balance.
Important:
the traffic manager from the application should not automatically become the sales manager in the deal.
5. "Deals" section
Add a new section:
"Deals"
Deal creation form
When creating a deal, the following fields should be included:
- Lead name
- Lead contact
- Application ID
- Responsible sales manager
- Zoom/call date
- Zoom/call time
- Deal status
- Rate
- Manager's comment
- Next contact date
Logic for creating a deal from an application
A deal is created only manually from the "Applications" section.
In the "Applications" section, there should be a button "Create deal" next to each application.
The manager creates a deal only after contacting the lead and the lead confirms the date and time of the Zoom/call.
A deal is not created automatically after the application is received.
After clicking "Create deal", a deal creation form opens where the manager specifies the responsible sales manager, Zoom/call date, Zoom/call time, deal status, rate, and comment.
After creating the deal, the application receives the status "Deal created", and instead of the button "Create deal", it should show the button "Open deal". There can only be one active deal per application. Do not allow creating a duplicate deal for the same application.
YOU CAN VIEW THE FULL TERMS OF REFERENCE IN THE GOOGLE DOCUMENT
https://docs.google.com/document/d/1XX6daB1__MplFfQDwjV7w9-6DlUznEwSln7ao8i_9BM/edit?usp=sharing
Applications 3
Work results
Client's review of cooperation with Mykyta Sorokin
Refine the CRM systemI want to leave a maximally positive review about working with Mykyta.
I am very satisfied with the performer and the result of his work. To be honest, at first, I was a bit wary of the fact that Mykyta has a low rating and not many reviews on the platform. But during the collaboration, I quickly realized that I was dealing with a truly strong specialist who is just starting to actively develop his profile on the freelance platform.
Mykyta pleasantly surprised me with the quality, speed, and approach to the task. It is clear that he does not just "write code," but really understands the logic of the product, the structure of the database, the connections between functionalities, and how everything should work in a real system. This was very important to me because the task was not just technical, but involved business logic: CRM, applications, deals, managers, statuses, payments, accruals, and the correct data structure.
I want to specifically note that Mykyta is well-versed in code, databases, and building system logic. He quickly grasped the essence of the task, proposed adequate solutions, worked attentively, and without unnecessary confusion. There was a feeling that the performer was genuinely thinking about how to do it right, rather than just formally closing the task.
I also liked the speed of work. During the collaboration, there was no feeling of dragging things out or indifference. On the contrary, Mykyta proved himself to be a responsible, technically proficient, and very promising specialist.
I sincerely recommend Mykyta for complex tasks, especially where it is necessary not just to write code, but to think through the structure, logic, database, and stable operation of the system. In my opinion, this is exactly the case where the performer has a low rating, but the level of work is already much higher than one might expect based on the number of reviews.
I was very satisfied with the collaboration and can confidently recommend Mykyta as a professional, responsible, and strong developer.
Freelancer's review of cooperation with Nazar Popadiuk
Refine the CRM systemVery nice and structured project brief, quick responses. The client is 10 out of 10, we will collaborate many more times.
-
The benchmark for complete refinement is 25,000 UAH, the deadline is 12 working days after access to the repository. With a budget of 5,000 UAH, it is realistically possible to only complete the first stage - code audit, database schema, migration plan, and one small block. However, it feels like the entire described module with agreements, payments, rights, change history, and manager balances in the CRM for this amount will be a risk for stability =/
I see an important point in the technical specification - the source of truth for calculations must only be confirmed payments by the admin. I would work through the tables deals, payment_events, manager_balance_entries, and audit_log, with unique constraints on the active agreement per application and calculations per payment. Delays can be counted during the selection, without heavy tasks in the background.
> Question 1 - does the current system already have authorization with admin and manager roles, or do rights need to be added from scratch?
> Question 2 - are the rates and percentages of managers already stored in the settings, or do they also need to be added within this stage?
Similar in logic:
> https://business.ingello.com/forma-crm - CRM with roles, processes, and management logic
… > https://business.ingello.com/forma-bpm - business process automation, statuses, responsible parties, stage control
> https://business.ingello.com/iks - corporate system with accounting and access rights
!!The main thing here is not the Agreement screen, but the financial model without duplications!! If it is assembled carefully, further statistics, payments, panels, and new roles can be built without pain. Well, yes, it sounds a bit tedious, but the database later takes revenge for romanticism =)
About us - https://systems-fl.ingello.com/ua
-
Hello, I worked on a CRM system for a service sales company - I added logic for working with leads, deals, and automatic calculation of managers' balances. The system processed 500+ deals per month with payment integration and access roles.
What volume of deals is planned to be processed in the system each month? And is there currently integration with payment systems for automatic tracking of payments?
I suggest we get in touch; I will provide you with free technical consultation and we can create a development plan + I will tell you about my team!
-
1543 15 0 Hello, I am ready to work with you. We already spoke today.
-
1602 31 1 Good day, I have been in web programming for over 9 years. I work with REST APIs, frameworks, and CMS such as Django, Laravel, Yii2, WordPress, OpenCart, CodeIgniter, etc. I am ready to complete the task. Reviews:
Freelancehunt
-
196 We already have a practically ready similar CRM solution that can be quickly adapted to your logic of deals, payments, and balances. Let's discuss it here on the marketplace; I'm here.))
For the entire described scope, 4000-5000 UAH will be insufficient - this is not a minor adjustment, but a financial logic with roles, change history, payment confirmations, and protection against duplication.
Within the 5000 UAH budget, I can take the first technical stage for 3 days - check the code, create the database schema, the basic deal section, create a deal from an application, the status of the application created a deal, and protection against duplicates by lead_id.
After this, I can provide an accurate estimate for the complete block and then proceed in iterations without rewriting the system from scratch.
For implementation, I would build the logic from a separate financial event to accrual, rather than from the deal status, so that analytics and balances are calculated only from payments confirmed by the admin.
…
Access to the repository and a launch instruction are needed, along with a test database or a copy of SQLite without unnecessary personal data.
I would like to clarify two things:
- Is there already authorization with roles admin and manager on the backend?
- Can a manager have both roles in the current managers' table, or does this need to be redesigned?
Examples of similar experience:
- https://business.ingello.com/forma-crm - CRM, roles, business logic, and process adjustments
- https://business.ingello.com/forma-bpm - processes, statuses, execution control, and analytics
- https://systems-fl.ingello.com/ua - briefly about our approach to systems, automation, and artificial intelligence.
Current freelance projects in the category Javascript and Typescript
Support and development of the cleaning company's website
20 USD
I'm looking for a web developer/webmaster for long-term support and development of a cleaning company's website. Website: https://donely.ca About the project DoneLy Home Services is a cleaning service company in Canada that is actively growing and expanding its geographical… Javascript and Typescript, Web Programming ∙ 1 day 2 hours back ∙ 57 proposals |
Development of a website according to the specifications on FramerYou need to create a website based on the parameters in the technical specification. https://docs.google.com/document/d/1ODO2C9Krb4AaMiJz9wfbNzWlAyA2FwCCHL8r0biajUY/edit?usp=sharing Please provide your actual rate based on this design. HTML & CSS, Javascript and Typescript ∙ 2 days 3 hours back ∙ 26 proposals |
Development of an interactive Palworld map for the websiteWe need to develop an interactive map for Palworld based on the example: https://palworld.gg/map We need not just a static image, but a full-fledged interactive map where users can view locations, toggle object categories on/off, search for specific points, and interact with… HTML & CSS, Javascript and Typescript ∙ 3 days 18 hours back ∙ 32 proposals |
Development of the AM Mobility platform (car service, parking, insurance, car rental)
5731 USD
We are looking for a team or an experienced Full Stack developer to create the MVP of the AM Mobility platform. AM Mobility is a unified digital ecosystem for motorists, combining in one application and web platform: parking; car service; tire fitting; car wash; car rental;… Javascript and Typescript, Web Programming ∙ 9 days back ∙ 119 proposals |
Gsap animations
22 USD
Good day. Corrections need to be made in the current project. A specialist is needed who works well with gsap/lenis. Animation of cards needs to be done. Detailed specifications here:… Javascript and Typescript, Web Programming ∙ 9 days 6 hours back ∙ 21 proposals |