External integration and information exchange with Bitrix24

We continue the topic of the Big Bitrix24 implementation. That means that you've bought the box version and you are developing its capabilities.

A serious implementation of Bitrix24 will surely require integration with the external systems. For example:

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

  2. Synchronizing counteragent companies with the accounting or recording program.

  3. Binding leads and transactions to the requests for the warehouse or production.

  4. Creating leads at registration of new applications in other systems (sites, email, electronic archives, etc.).

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


This article is about love.


The article is long, but first the conclusion:

Bitrix24 contains basic capabilities for typical integration tasks, but any non-trivial task can be solved only by a programmer. The complexity of tasks requires a qualified programmer with a spacious mind.

The friendliness of Bitrix24 to the external programmer leaves much to be desired. 
At the same time, the experience of successful implementations allows us to solve any problems. Details are given further.

We provide services of  maintaining sites based on Bitrix24  and know a lot about problems that clients usually face.

Our today's article is a review of tasks of Bitrix24 interpretation and methods of solving them and related tasks.

Integration of the site with Bitrix24. Connection with the external systems. Patchwork automation.  

Some supervisors have a golden dream: "everything - in one program".

In fact, it turns out to be a monster, that has "almost everything". For example, there is no email. Or calendars. Or they exist, but "it is more convenient in outlook".

In my opinion, the situation, which IT snobs call "patchwork automation", is a life norm and a key to efficiency for most companies.


If every "patch" is cheap, friendly and open to the data exchange - than in a short term it will solve the problem, and in a long term it will provide flexibility.

But if you are trying to "solve all problems" - the implementation will never happen, and the IT department will always be loaded with work.

Can Bitrix24 be useful in the company and integrate with the external information systems?

Bitrix24 doesn't have problems with friendliness to the user and  price . There remains the data exchange with the external systems and friendliness to the programmer.  

What should the CRM exchange with?

With the electronic document management system (or at least with the archive), accounting SAP program, Microsoft Dynamics, requests for production, travel sheets and so on.



From the prgrammer's point of view it is the synchronization of reference books, upload and download of table entries, notifications and reminders.

Let us tell you how it's done.


Possibilities for integration and problems when working with external data in Bitrix24. Setting the integration of ERP systems with Bitrix.

Standard integration possibilities. Site integration with Bitrix24


— But how does he cut? All heads are different.
— Well it's only till the first time.

An old joke about the inventor of a helmet for hair cutting



Bitrix24 contains some possibilities for integration and data exchange.


What Why is it useful? What problems are there?
CSV-import and export of leads, transactions, 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 transmitted.
Only manually, without schedules and automation.
Creation of leads through the web-forms of Framefork Easy data transfer from Bitrix-based sites 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 AD and 1C: Salary and HR Management at the level of user accounts, access policies and end-to-end autorization. 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. "Domain forest" is not maintained.
An account is not created in the portal until the user tries to enter.
Integration with 1C: Product Management at the level of product reference book and invoices Transfer of goods from 1C to Bitrix24.
Synchronization of bills and payment statuses.
Works on https, in 1C it is supported from the platform version 8.3.4.
SEND&SAVE Creation of email-based records in CRM.
A big advantage is that the files can be attached to the letter. 
It works in quite a weird way, not all the data are transferred.
Transfer of orders from an online shop on Framework to Bitrix24 and work with orders from the CRM Is easily set, orders are transmitted as transactions, goods are saved locally, quick editing from CRM is available. Orders statuses are not connected to the stages of transactions.
Development of applications of the "1st, 2nd and 3rd type" working with data on API        Almost everything can be done.
For example, there are applications for the transfer of the counterparties base even from 1C 7.7. 
There are  successful examples .

This is a great groundwork. The developers have done the most necessary things and have shown how to do the rest.

There is quite good documentation (in Russian) on REST API https://dev.1c-bitrix.ru/rest_help/crm/fields.php


For the presentation of Bitrix24 the availability of this functionality is more than enough.

For the real implementation experienced people are required with their own programmers.


In real business the data are a bit different, 1C is of another version, and this is not even 1C, but SAP at all.

So we will take into consideration that there is nothing else "from the box" and we will start looking for solutions.


Uploading the product base from CRM to 1C, warehousing or another accounting software.

If you have 1C of a version not lower than 8.3.4, configuration "Trade management", "Small company management" or "Integrated automation" - it is excellent! Read the article and set the ready-made integration: https://www.bitrix24.ru/blogs/howto/integration1c.php

Integration with 1C-Bitrix. Price issue.


If you have another program (or more serious demands), there are two options:

  • for the cloud: create an external application of the third type implementing the exchange interface;

  • for the box version: make your own exchange interface by the programmers of both parties: the ones who know your system and the experts of Bitrix Framework.

We can do both.

Synchronization of counterparty companies with the accounting or recording system. How can the client base of Bitrix24 be downloaded?

There are several ways of external Bitrix24 integration, including the development of your own application (which we eventually had to do).

But let's start small.

Bitrix24 has a regular import of 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 "base of customers 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 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 "replenishment".

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 the box version  you should do three things to bind the external information:
  1. Create fields at the transaction 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 the cloud version 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 .

Creation of leads when registering new requests in other systems (sites, 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.

This is love.


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

  • table  b_crm_lead

  • CRM module class  CCRMLead

It seems to be an easy task. Actually creation of lead and its proper filling with 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 transactions by 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 adifficult, but solvable problem.

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

Inexperienced developers tend to underestimate the size of the task.

.

And there are almost no experienced developers.

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.