Stepan Ovchinnikov

Bitrix24 integration with External Systems for information exchange

Today, we continue the topic of how to carry out Big Bitrix24 implementation. That means that you have bought Bitrix24 on-premise and you are interested in developing its capabilities.

 A serious implementation of Bitrix24, especially for an enterprise will require integration with the company's external systems. 

For example:

  1. Uploading the product database from the warehousing or another accounting software to the CRM.

  2. Synchronizing contractor and partner companies with the accounting system.

  3. Binding leads and deals to warehouse or production requests.

  4. Creating leads in Bitrix24 CRM when new applications are registered in other systems (websites, email, electronic archives, etc.).

  5. Receiving reports, including data from Bitrix24 and other systems.


We'll start with the conclusion:

Bitrix24 as-is has the tools required for typical integration tasks. Non-typical integration are usually complex, and can only be carried out by a qualified programmer with a spacious mind. 

We are experienced in Enterprise Bitrix24 implementation and this allows us to solve tasks of any complexity.


We have been developing and maintaining Bitrix24 CRM portals for a long time. We know a lot about problems that clients typically face.

Today's article is on the tasks involved in Bitrix24 implementation and how to solve them.


Bitrix24 integration with the external systems

Some supervisors have a golden dream: "to have everything in one system".

In my opinion, "patchwork automation", is a good solution and a key to efficiency for most companies.


If every "patch" is cheap, friendly and open to data exchange, this will solve the problem, and in the long term provide flexibility.

But if you are trying to solve all the company's problems by implementing every solution in Bitrix24, the implementation will never happen, and the IT department will always be loaded with work.

By integrating other systems with Bitrix24, you get a solution in a much shorter time frame, spend less money and have the information you need in Bitrix24.


What systems can be integrated with Bitrix24 for information exchange?

Bitrix24 is a cheap system, given all the features it has, with a friendly user interface. It is also accessible to programmers for development and integration.

So, what systems can be integrated with Bitrix24 CRM for information exchange?

  1. electronic document management system (or at least with the archive), 
  2. accounting SAP program, 
  3. Microsoft Dynamics, 
  4. requests for production, 
  5. travel sheets 
  6. and so on.



From a developer's point of view, this means synchronizing reference books, uploading and downloading table entries, notifications and reminders.

Let us tell you how it's done.



Bitrix24 integration with ERP - Possibilities and problems when working with external data in Bitrix24. 

Standard integration possibilities. Site integration with Bitrix24



What Why is it useful? What problems are there?
CSV import and export of leads, deals, companies and CRM contacts Table data from the "old system" can be uploaded to Bitrix24. You can download data for manual processing. Bidirectional synchronization can't be done in such a way.
Files, tasks, related entities can't be transferred.
Only manually, without schedules and automation.
Lead creation from web-Bitrix24 web forms Easy data transfer from Bitrix-based websites to Bitrix24. 
No mechanism to handle data validation errors on the side of Bitrix24.
List features aren't transferred correctly.
Files can't be transferred.
Integration with Active Directory and Personnel management systems at the level of user accounts, access policies and end-to-end authorization. A single password to Microsoft Active Directory and CP. It is very useful, if there are 5000 employees working in your company and they don't really understand what they ned the portal for. An account is not created in the Bitrix24 automatically. It is created when the user tries to login.
Integration with inventory management, billing and invoicing systems Transfer of goods from inventory management systems to Bitrix24.
Synchronization of bills and payment statuses.
Works on https.
SEND&SAVE Creation of email-based records in CRM.
A big advantage is that the files can be attached to the email. 
It works in quite a weird way, not all the data is transferred.
Order transfers from a Bitrix24 e-commerce store to Bitrix24 CRM, working with orders from the CRM The integration is easily set, orders are transferred as deals, goods are saved locally, You can quickly edit orders from the CRM. Orders statuses are not connected to the stages of deals.


This is a great groundwork. The developers of Bitrix24 CRM have done the most necessary work and have shown us how to do the rest.

There is quite good documentation on REST API.



Uploading product base from Bitrix24 CRM to warehousing and accounting software.

Bitrix24 has ready made tools for integrating some warehouse management systems with Bitrix24. For example, 1C: enterprise "Trade management", "Small company management" or "Integrated automation"

Integration with 1C-Bitrix. Price issue.


If you have a warehousing management system for which Bitrix24 doesn't have ready made tools, or you have more serious demands, there are two options:

  • for Bitrix24 cloud: create a third party external application with the exchange interface;

  • for Bitrix24 on-premise: Create your own exchange interface in Bitrix24. Here, you need developers who know your warehousing system and understand Bitrix framework. We have 19 years experience in web technologies. We are able to do both



Synchronizing contractor and partner companies with the accounting system. How can the client base of Bitrix24 be downloaded?

Bitrix24 has a tool for importing companies and contacts. What can it do?
It can upload contacts and companies from the csv file of a standard format (download the sample).
Such a file can be gathered from the "customer base in Excel", if you have it.


5 (20).png



This method works, but it has several disadvantages:

  • the procedure is manual, a scheduled launch or another kind of automation is not provided;

  • there is no way to update the data available in the CRM. You can only update and create new ones;

  • the file syntax is simple, but in reality such a file can be obtained from 1C or another system only with the help of programmers. Considering the fact that the data are spread across several entities, the task is quite difficult. You will have to pay for several hours of code.

We have solved the problem of obtaining the file of the required structure from 1C to simplify the preparation of the primary import of companies. 


Here is the list of fields supported by the standard import (it is divided into lines for ease of reading).

Name of the company

Logotype

Company type

Field of activity

Number of employees

Annual turnover

Currency

Comment

















Responsible

Address

Street

Apartment

City

District

Region

Postcode

















Country

Registered address

Street (registered address)

Apartment (registered address)

City (registered address)

District (registered address)

Region (registered address)

Postcode (registered address)

















Страна (юридический адрес)

Office telephone number

Mobile telephone number

Fax number

Home telephone number

Pager number

Another telephone number

Corporate site

















Personal page

Facebook page

LiveJournal page

Twitter microblog

Another site

Business e-mail

Private e-mail

Another e-mail

















Skype contact

ICQ contact

MSN/Live! contact

Jabber contact

Another contact

Account details

Available for everybody


There are two observations on this sample import file:

  • a good one: all the user fields added by the administrator of the specific CRM can also be downloaded

  • a bad one: TIN as a default does not exist, and as a result - no hope for "data update", only "refill".

Using the standard import of Bitrix24 and our download script you can upload your customer base to Bitrix24 once.

Further is the information on how to teach programs to update the data regularly and without errors.


Binding leads and transactions to requests for the warehouse or production

Imagine that you've performed a sale. Usually it means issuing and paying the invoice. Then the order will be given away for execution.

Almost always the order execution is monitored in a particular program.

For example, it is a request to the warehouse. Or a contract number. Or a reference to a project (that can be conducted in Bitrix24 or another system).

To tell the truth,  we would like to see something like that in the CRM:




There is nothing specifically made in Bitrix24 to support such a process.

Nevertheless, the task to bind external information is quite solvable.

How?

In Bitrix24 on-premise you should do three things to bind the external information:

  1. Create fields in the deal or the lead to enter a number or a link to an external system.
    The external system can return information, such as the request status or a text description. Then it is also necessary to make fields for that.

  2. Make it so that the external system receives information on requests and responds to demands.
    The easiest way to do that is to write an event handler OnAfterCrmLeadUpdate for the primary appeal to the external system and an agent for the regular status enquiry.

  3. The external system can return the file, and not only a text line.
    In order to browse it from the lead card conveniently you will have to change the display of the field.
    It is quite a complicated change.

    You will have to change the component template crm.lead,
    which causes the component crm.lead.show,
    which causes the component crm.interface.form,
    which causes the component crm.interface.form.tactile,
    which causes the component main.interface.form.


    main.interface.form is one of the most low-level components of 1C-Bitrix system and its proper customization is a Herculean task.



In Bitrix24 cloud to bind the external information to the CRM you should do the following:
  1. Create the missing fields

  2. Provide their filling by a specially made application for Btrix24 (it is quite a real way, there are successful cases)

  3. Set the standard or at least write the nonstandard reports on the CRM using these data.
It was really done by us for the company Nectarin Agency.



Lead creation when new requests are registered in other systems (websites, emails, electronic archives, etc.).

It is highly recommended to use one of the standard methods described above: transfer of lead data from the web-form of the site based on Framework, creation of lead from a letter or a transaction from an online store order.

These mechanisms work and do not require attention.

If everything is complicated by you (for example, you need to create leads at request of the electronic document management system), we invite you to the magic world of CRM module classes, which we have already talked about.


The scheme is approximately the same as with loading of goods. We will need:

  • table b_crm_lead

  • CRM module class CCRMLead


It appears to be an easy task. But, it's not so. Creating a lead and having it filled with the correct data is not a simple matter. Doubles, links to companies, requirements to validation, filling the leda stream and creation of "letters" for file upload, "business matters" management - that all is more complicated than you think.


Receiving reports that include data from Bitrix24 and other systems

There are reports in the CRM. It means the popular "sales funnel", as well as the predefined reports such as "Number of deals according to managers"



and even the report constructor.


Sometimes you need to make reports based on external data that do not exist in Bitrix24.

There are two options: import data into Bitrix24 and try to get reporting in this system or download data for external processing.


At the same time it is convenient to use the CRM system of Bitrix24 as a source of data for reports, and the reports themselves can be self-written, developed specially for you.
We have an excellent example of the solution of this task: Special reports and traffic management in the cloud version of Bitrix24



Conclusion.

External integration, data import and functionality expansion of Bitrix24 is a difficult, but solvable problem.

Who can be entrusted with support and maintenance of Bitrix24 portals?

Inexperienced developers tend to underestimate the size of the task.

INTERVOLGA has experienced analysts and developers specializing in Bitrix24. We solve complex programming tasks for Bitrix24 and we are willing to help you.

Leave your request, we will analyze it and give our recommendations.

  • 16.05.2016