Configuring Invoice Exchange between Bitrix24 and 1C
Bitrix24 can issue invoices directly from CRM — the manager clicks a button, the client receives PDF. But accounting works in 1C, and the invoice is needed there too: for posting, payment tracking, forming sales book. Copying manually is errors and wasted time. The task of synchronizing invoices is to transmit the document from CRM to the accounting system automatically, without duplicate data entry.
How exchange is structured
Standard Bitrix24 exchange with 1C is built on the crm module and CommerceML protocol (XML format for exchanging commercial documents). For invoices, a mechanism is used different from internet store order exchange: CRM invoices are transmitted via Bitrix24 REST API or via the standard 1C integration module.
Two integration options:
-
Via REST API (
crm.invoice.*orcrm.item.*for smart invoices). A third-party script or 1C module queries Bitrix24 and fetches new/changed invoices. Flexible but requires development on 1C side. -
Via standard 1C-Bitrix24 module. Bitrix24 has a built-in data export mechanism for 1C (
Settings → 1C integration). It works via CommerceML: 1C initiates a session, Bitrix returns XML with documents.
Invoices in CRM: old and smart
Bitrix24 has two invoice entities:
-
Old invoices (
CRM_INVOICE) — obsolete type, stored inb_crm_invoicetable. Available viacrm.invoice.list,crm.invoice.get. -
Smart invoices (
SMART_INVOICE) — modern variant based on CRM smart processes. Available viacrm.item.listwithentityTypeId = 31.
When configuring exchange, it's important to understand which type is used in the specific portal. If switched to smart invoices — old methods don't work.
What is transmitted to 1C
Minimum data needed for posting in 1C:
| Bitrix24 field | 1C field | Comment |
|---|---|---|
ACCOUNT_NUMBER |
Document number | |
DATE_INSERT |
Document date | |
UF_COMPANY_ID / counterparty |
Counterparty | Requires mapping |
| Product line items | Table section | Nomenclature, quantity, price |
CURRENCY_ID |
Currency | |
OPPORTUNITY |
Amount | |
STATUS_ID |
Payment status |
Nomenclature in Bitrix and 1C must have a common identifier — usually product code or XML_ID. Without this, product line mapping is impossible.
Setup procedure
- Determine invoice type (old or smart), choose transmission method (REST or CommerceML).
- Configure integration user with rights to read CRM.
- Configure webhook or incoming Bitrix24 webhook to notify 1C of new invoice.
- On 1C side configure exchange: add exchange node, specify Bitrix24 address, frequency.
- Perform test synchronization, verify invoice data.
- Configure reverse transmission of payment status from 1C to Bitrix24 — so manager sees if invoice is paid.
Exchange is usually configured in 1 business day provided there is a specialist in 1C who configures the 1C side.







