Stephanie Fubara

Bitrix24 CRM and Billing Software integration

Having a billing system helps a company keep track of the products and services its customers use, send bills and invoices, and also receive payment.
This feature is a necessity in every company, equally as important as having a CRM.

But with having multiple systems, also comes the task of maintaining customer records across all the systems
Employees have to enter customer data manually, repeatedly - a process that is very prone to errors.

Integrating your Billing system with your CRM not only rules out this error but also allows for the exchange of information in real-time between the two systems. 

Ensuring that customers have a smooth billing/payment process oftentimes determines if a customer goes ahead with a payment or not. In most cases, customers go as far as searching for another vendor/ company if they have an unsatisfactory payment process.

According to 2021 statistics by Sleeknote and Shopify, a staggering 55% of shoppers do not go ahead with a purchase if they have to re-enter their billing or shipping information, 39% abandon cart because of difficulties entering their personal information. 

Some companies try to solve the problem of entering information multiple times by redirecting clients to an account creation page. Hence, the clients create an account for themselves in the billing system. But this is also a bad solution, as 24% of buyers abandon carts because the site wanted them to create an account.

We can agree that from these numbers, the question of whether or not to automate billing and payments is a no-brainer.

Integrating your CRM and Billing system, so that the information stored in one can be used in the other not only gives your customers a quick and smooth payment process, It also saves your employees valuable time, eliminates the possibility of making mistakes, makes customer information available to different departments of your company that need it, at the same time.


The integration described in this article was for our long-time Clients - CEDIS  (a Montenegro electricity supplier). The company has close to 2000 employees with 500 active users in their Bitrix24 portal.
For large companies especially, much thought has to be put into selecting company systems.


 Is Bitrix24 a good CRM for large companies and enterprises like CEDIS? YES

  1. Control
    There are many good CRMS in the market no doubt, but not one of them offers you the possibility of having your own local copy of the service. With Bitrix24 on-premise, companies can save their data on their personal servers. This gives them total control over their data, they have access to the source code and additional tools, such as helpdesk and e-learning, as well as integration and customization options.
    The product is yours to use and change as you see fit.

  2. Possibility to adapt to growing needs
    Most times, It’s difficult to foretell what the needs of a company will be in 5, or even 2 years. When the company grows, the systems they used from the onset turn out to be inadequate in dealing with the new needs - More clients, more employees(users of the system), more departments (each having its specifics, features, and requirements), etc.
    Usually, this results in companies changing the systems they use or introducing additional systems.
    Bitrix24 on the other hand allows for growth - features, users, data in general. 
    In CEDIS’ case, their data has grown by over 70% between 2018 and January 2021. Aside from this, we’ve completed 5 major projects in their corporate portal.

  3. Endless possibilities for customization and improvement
    The default features of Bitrix24 are enough to handle the basic needs of any small company or startup. For big companies and enterprises, or companies with specific needs, it isn’t.
    Since Bitrix24 already provides the source code for their product, it then becomes easy for the company to modify the system according to their requirements. 
    One must be careful to carry out Bitrix24 modification the right way. If not, your portal will lose access to all future updates from Bitrix Inc.

    INTERVOLGA has all the required competencies to modify Bitrix24. We

  1. train developers on how to implement Bitrix24 correctly

  2. have a wealth of experience working on 1000+ projects.

  3. possess all possible Bitrix24 competencies, certified by Bitrix Inc.


For our client, CEDIS, it is important to adapt Bitrix24 to the needs of an electricity distribution company. 

Some of the customizations and modifications we have carried out in the corporate portal include 

  1. integrating Bitrix24 with Active Directory

  2. Restricting access to fields and comments

  3. Digital signature for Bitrix24 documents

  4. Calculating time that deals spend in stages

  5. Marking deals in deals list according to certain conditions 

  6. Integrating Bitrix24 CRM with billing software (which will be described in today’s article) 


With all these modifications it is important to

  1. maintain the updatability of the corporate portal - It must be possible to receive and install updates from Bitrix Inc.

  2. ensure optimum server performance - performance must not be degraded. 

Both of these conditions are upheld for all our projects. 



Bitrix- Billing Connection

Task description - 

The client has a billing system for its customers. Some of the customers in the billing system exist in Bitrix, while others do not. There are also some fields in the billing system, which do not exist in Bitrix.


Our tasks were 

  1. To develop an integration between Bitrix24 and the billing system of the company for the regular exchange of information. All activities carried out on customer information in the Billing system be reflected in Bitrix24 in real-time

    • For the Billing contacts which exist in Bitrix24, it was necessary to synchronize them once, so that the Bitrix contact is updated with the fields from the Billing system. Synchronization is carried out based on 3 fields, according to different conditions.

    • For Billing contacts that do not exist in Bitrix24, a new contact should be created using data from the Billing system.

  2. To modify the contact page to enable the creation, search, and display of contacts from the billing system in Bitrix24.


Implementation 

To implement the solution, we 

  1. created a MySQL database and a user with access to this database.

  2. created a table with fields ( field_A, field_ B… field_N)  from the billing system.

  3. connected the MySQL database to Bitrix24. To do this, we specified the defined connection data in .settings.php. file

  4. added the possibility to work with the Billing database (table) data from Bitrix24.

  5. modified the Bitrix deal creation page by adding a search functionality for contacts in Bitrix24 and the Billing system, and a create contact button from the deal card.





On click “Search Contacts”, the fields with which a user can search for a contact in the Billing system appear, as well as 2 buttons 

“create” and “search”




Contact search can be done by Citizenship ID, Customer ID, Account number, Delivery point, Billing company ID, or Customer name individually or a combination of two or more of these fields. Search results from Bitrix and the Billing system are displayed




When there are 2 or more search criteria, only those contacts in Bitrix and the billing system which meet ALL the criteria are displayed.




When a Bitrix contact is selected,  it is attached to the deal and disabled from the search results.



On selecting on a contact form Billing results, a Bitrix contact creation page opens, with the data filled in from the billing system





In the next search, we can see the newly created contact now appearing in Bitrix24 contacts and can be attached to a deal




To avoid duplicate data, we did the following:


1. Added the CONTACT_ID column to the table with data from the billing system.

2. During the initial data synchronization, we filled in the CONTACT_ID for all records for which a match was found, and the synchronization process was applied.

3. When searching, we displayed only those records from the table with data from the billing system for which there's an empty CONTACT_ID. 

4. When creating a Bitrix 24 contact using data from the billing system, we give the new contact a CONTACT_ID to mark that this record has already been used. 


Interactions with previous modifications

  1. As stated earlier, we had previously implemented a field permissions module “intervolga.fieldperms”. It was a requirement that the rules set by the fields permissions module should be applied when creating a new contact using the “Create” button we added to the deal page.

  2. Creating a Bitrix contact from a Billing contact -  When a Billing contact is selected and the contact creation page appears,  some fields are already filled in from the billing system. However, these fields are still editable.
    We had to ensure that when the "Save" button is pressed ( to trigger saving the contact to Bitrix24), only the data from the Billing should be saved. The user’s inputs are discarded for auto-completed fields.
    All other user changes to fields that are not auto-completed will be saved.







Results 

  1. The integration between Bitrix24 and the client's Billing system was established successfully. Users can find customers billing information by carrying out a search within Bitrix24. 

  2. As Billing information is updated in the Billing system, it is also updated in Bitrix24 in real-time.

  3. The Bitrix-Billing system is compatible with our previous works, field-permissions module - Access to view and edit fields from the billing system is restricted according to Bitrix24 user groups.

  4. Server performance remains optimum

  5. The portal receives updates from Bitrix Inc.

  6. Most importantly, the client is satisfied with our work.


INTERVOLGARU is a competent Bitrix Integrator, with all possible competencies - Implementation, Customization, Integration, Business Processes.
For questions and inquiries about this implementation, please send us a message 

  • 21.09.2021