Abto Software is proud to work with an organization that helps overcome poverty for millions of families in the world and helps kids grow and learn. Our task was to upgrade their custom CRM software. We needed to make it more convenient for usage by 14 offices all over the globe. 

For that, we convert the outdated desktop application to the web, provide migration to cloud and .NET conversion, improved UI, and more. Read about our work results in this case study.


1. Project result

2. About the client

3. Reasons to upgrade CRM

4. Custom CRM software upgrade steps

5. Technologies and patterns for CRM upgrade

6. FAQ

Project result

COVID changed the world dramatically and instantly. Abto Software got a challenging task to adopt a big and complicated custom CRM software to the post-COVID world. We did it gracefully, keeping all the client divisions operating productively.

Our development team continues to work with the CRM upgrade. The client gets significant improvements after every development phase.

Result of our work:

CRM convenient for remote work
Intuitive responsive design
Increased security and sustainability
Improved performance speed
More integration options
Centralized database
Migration to cloud
Easier maintenance
Many tasks got automated

About the client

Our client is an international charity organization that works all over the globe, including Africa, Asia Pacific, Middle East, etc. They help millions of people to get access to clean water, food, and proper medical attention. The company programs include child protection, disaster management, economic development, and more. The Abto Software team was happy to straighten their tech team with our knowledge in software modernization.

Worldwide organizations require global solutions. Our main task was to upgrade their custom-built CRM software. We needed to make sure it would be reliable and clear in usage. Also, it must be easily accessible in its 14 locations all over the world.

Desktop CRM Solution

Reasons to upgrade CRM

1. Unsecure integrations

Our client custom CRM software was written in Visual Basic 6. All the installations were isolated and could exchange the data via export/import files. In other words, that is not the most reliable, fastest, and secure way of integration. VB and many libraries went out of support, which also impacted the security.

2. Difficulties in remote work with a desktop app

COVID-19 made a big impact on the way organizations work. Most of the offices were closed for months or even for a year. In such conditions, desktop solutions hardly worked. 

People had to connect to the office VPN (Virtual Private Network). Then, they need to use RDC (Remote Desktop Connection) to access their office computers. Of course, slow connections with huge traffic overheads did not guarantee comfortable work.

3. Manual booting

IT Support departments extensively monitored every workstation at the offices. When the power got down or just the system hanged, someone had to come up and boot the machine manually.

4. Maintain multiple workstations

Any desktop-based system requires more time and resources for maintenance. Every workstation needs to be checked and taken care of separately. At the same time, web-based CRM has only one server to be maintained when it is necessary.

5. Inconvenient UI

The HTML-based user interface wasn’t mobile-friendly. That, in turn, made the system less accessible for employees. Also, it has slow performance because the UI was rendered on the client-side.

6. Slow connection to a database

Our client has 14 different locations all over the globe, and each of them has a separate database. As a result, there were difficulties with data management and its security.

ERP Migration and Modernization

Increase functionality, improve user experience, and reduce maintenance costs.

Custom CRM software upgrade steps

Abto got the task to migrate the solution to the web to enable remote work. The time constraints were unbearably tight. As a result, we decided to use an iterative approach, giving significant value after every step.

Step 1. Migration to .NET

Our first task was to convert the desktop app written in Visual Basic to web-app on C# .NET. We used automated and manual tests to prove the CRM migration to .NET had been successful. Our team extracted a Data Layer based on the Entity framework.

The environments remained isolated, and each office still had its database. However, the web-based application now requires a single server per team.


  • Significantly faster connection speed (HTTPS instead of VPN+RDC);
  • Single server to maintain instead of multiple workstations for every employee;
  • The offices with poor internet connections can use 3rd party data centres and clouds.

Step 2. UI improvement

Our development team migrated the system’s user interface from static HTML to React.JS, jQuery, Bootstrap.


  • The responsive design enabled the application on mobile devices.

    Our client employees finally got the complete flexibility regarding their working places;

  • Multi-layer architecture increased security and sustainability.

    The performance was improved since most of the UI was rendered by client machines.

Step 3. CRM integrations

We added more CRM integration options to our custom-built CRM software. Our developers extended the API to support JSON-based integration with the other systems. Automatic jobs performed the data exchange in the background.

We used the mediator pattern. As a result, the systems interact with a single-point instead of an “everyone-to-everyone” scheme. It would be too sensible on versioning and might cause many compatibility issues.


  • Reduced to zero manual work in keeping the systems synchronized;
  • Offices do not have to install all the same versions of the solution to keep data synced.

Step 4. Centralization and migration to cloud

The step of centralization and migration to cloud is being planned right now. We will merge together all the official databases. Also, our team will implement a single cloud-based solution to replace all the local instances.


  • Full centralization;
  • Reliable and fast connection for all client’s locations and sophisticated security.
CRM Centralization


Custom CRM software is a perfect tool to adjust management software to organization needs. Still, COVID-19 showed us that time and situations are changing quickly. Any company needs to be prepared for that. The professional CRM upgrade can open new opportunities before the organization as well as deal with process bottlenecks.

With the migration to .NET, moving the outdated desktop app to the web, UI improvement, we achieved significant results. Now our client has needed flexibility in remote work and feels safe about data security.

If you feel your company’s CRM software no longer covers all business needs, it is time to upgrade it. Contact Abto Software professionals to make a difference to your organization.

Cloud-based Web CRM Software

Technologies and patterns for CRM upgrade


    — MS Visual Basic 6

    — MS Visual Basic .NET

    — C# .NET

    — Entity Framework

    — MS SQL Server

    — Internet Information Server

    — ReactJS

    — jQuery

    — Bootstrap

    — JSON

    — REST


    — Mediator

    — MVC

    — Adapter

    — Command

    — Observer

    — Proxy

    — Reverse Proxy


What does CRM stand for?

CRM stands for Customer Relationship Management. It includes different strategies, practices and approaches to working with customers and managing data about them. 

Usually, the process is carried out with the help of CRM software. That is software that gathers all information about a company’s customers in one place. It allows organizations to manage work with their clients, suppliers, track customer interactions and more.

Why is CRM important?

A proper CRM system not only stores customers data. It makes possible customer segmentation and retention. It helps businesses learn information about their customers, find out why they choose the company’s products or services, and what their needs are.

Bigger businesses use custom CRM software to optimize complex client interaction processes and increase customer satisfaction. Depending on the CRM type, it can organize sales processes, marketing campaigns, business analytics, and more.

What is a CRM upgrade?

CRM upgrade is a process of renewing outdated software that no longer satisfies organization needs. If the company is using SaaS CRM (Software as a Service), it would mean updating to the newest software version. 

In the case of custom CRM software, it would mean a whole package of the software development process. It will include current software analyses, planning, few steps of realization, adjustments, and testing. Depending on company needs, CRM software can be converted to new technology (for example, migration to .NET), transferred to another data store type (ex, on-premise server to cloud), and more. 

Can CRM be integrated with ERP?

With the help of experienced software developers, CRM software can be easily integrated with an Enterprise Resource Planning (ERP) system. It will create one reliable source of business information for the organization and simplify design making. 

CRM and ERP integrations ensure that automated and consistent information is shared between both systems. Also, reducing duplication and improving forecasting are among the process benefits.


Contact Us

To find out more about Abto Software expertise, request a quote or get a demo of your custom solution.

  • Clicking this button, I agree to the processing of my personal data.

Contact us

Tell your idea, request a quote or ask us a question