Automatic setup of invoice exchange between Bitrix24 and 1С

We often encounter a situation where accounting asks to copy invoices from Bitrix24 to 1С manually. The result — errors in numbers, duplicates, discrepancies in payment statuses. Clients lose time, managers don't see the real picture. Our task is to configure automatic invoice exchange so that data

Our competencies:

Frequently Asked Questions

We often encounter a situation where accounting asks to copy invoices from Bitrix24 to 1С manually. The result — errors in numbers, duplicates, discrepancies in payment statuses. Clients lose time, managers don't see the real picture. Our task is to configure automatic invoice exchange so that data flows without human intervention. With 10+ years of Bitrix work, we have conducted over 50 integrations and know all the pitfalls. An error in one field can cost a deal closure — that's why automation must be flawless.

Every day, accountants spend hours reconciling statuses, while managers cannot promptly tell the client if the invoice is paid. We fix this: after setup, the invoice is created in CRM, automatically sent to 1С, processed there, and the status returns instantly. No manual input. Time savings — over 10 hours per week per accountant. Typical savings for a mid-size business — 400,000 RUB per year on accounting reconciliation. Errors are virtually eliminated.

Why is invoice exchange automation necessary?

Manual invoice transfer leads to:

  • status discrepancies (paid in CRM but not posted in 1С);
  • document duplicates;
  • item mismatches (article numbers don't match);
  • delays in month-end closing.

Automation eliminates the human factor and speeds up month-end closing. Comparison: automated exchange processes an invoice in 1 second, manual takes from 5 minutes with risk of error. That's 300 times faster.

How the exchange works

Standard exchange is built on the crm module and the CommerceML protocol (XML format for commercial documents). For invoices, a mechanism different from internet store orders is used: CRM invoices are transferred via Bitrix24 REST API or through the standard 1С integration module. Two options:

  1. Via REST API (crm.invoice.* or crm.item.* for smart invoices). An external script polls Bitrix24 and fetches new/changed invoices. Requires development on the 1С side but gives full control.
  2. Via CommerceML — Bitrix24 standard module. 1С initiates a session, Bitrix outputs XML. Less code but stricter format.

According to official documentation, CommerceML is suitable for most standard scenarios.

Invoices in CRM: old and smart

Bitrix24 has two invoice entities:

  • Old invoices (CRM_INVOICE) — legacy type, table b_crm_invoice. Accessible via crm.invoice.list, crm.invoice.get.
  • Smart invoices (SMART_INVOICE) — based on CRM smart processes. crm.item.list with entityTypeId = 31.

During setup, it is important to determine which type is used. If the portal switched to smart invoices, old methods won't work.

Comparison of integration methods

Criterion REST API CommerceML
Flexibility High Medium
Requires 1С development Yes Yes
Smart invoice support Yes Limited
Setup complexity Medium Low

CommerceML is better if you already have order exchange and need a single integration point. REST API is more flexible for complex logic but requires more development on the 1С side. Most often, REST is chosen for smart invoices, CommerceML for old ones.

What is transferred to 1С

Minimum required data for posting:

Bitrix24 Field 1С Field Comment
ACCOUNT_NUMBER Document number
DATE_INSERT Document date
UF_COMPANY_ID / counterparty Counterparty Requires matching
Line items Tabular section Article/XML_ID mandatory
CURRENCY_ID Currency
OPPORTUNITY Amount
STATUS_ID Payment status

How to set up exchange considering invoice types?

  1. Determine the invoice type (old or smart) via CRM settings.
  2. Choose protocol: REST (recommended for smart) or CommerceML.
  3. Create an integration user with CRM read permissions.
  4. Set up a webhook to notify 1С about a new invoice.
  5. On the 1С side, configure the exchange node and frequency.
  6. Conduct test synchronization.
  7. Set up reverse transfer of payment status.
Common setup errors
  • Counterparties not matched — use GUID from 1С.
  • Items without XML_ID — add article numbers for matching.
  • Invoice created without contact person — disable mandatory field in CRM.

Our engineers check exchange logs and fix mismatches.

Case study

On one project, the client was losing up to 15% of invoices due to article number mismatches. We identified that 1С and Bitrix24 used different item identifiers. Solution — add XML_ID to the trade catalog and configure matching via CommerceML. After that, errors completely disappeared. The synchronization has been running for 2 years without failures. Errors led to losses of up to 300,000 RUB quarterly — the automation paid off in the first month.

What's included in the setup

  • Analysis of current exchange and identification of bottlenecks.
  • Setting up integration user and access permissions.
  • Configuring the 1С module or REST script.
  • Testing the cycle: invoice creation — export — posting — status.
  • Documentation of the exchange scheme.
  • Support for 2 weeks after launch.

Process of evaluation and work

Our work process follows these stages: data collection → audit/analysis → design → estimate → development → testing → launch. We first assess your infrastructure and requirements, then provide a fixed-price estimate based on the scope. No hidden costs.

Timeline estimates

Basic setup takes from 4 to 8 hours, provided a 1С specialist is available. A full cycle with testing and feedback typically requires 1-2 working days. Longer timelines apply if additional customizations are needed.

If you want to speed up month-end closing and eliminate errors, order invoice exchange setup now. Our experience — 10+ years in Bitrix development, over 50 successful integrations. Get a consultation on invoice exchange automation — we will analyze your infrastructure and offer the optimal solution.