Problem: Reconciliation statements stay in 1C, but are needed in CRM
A manager handles a deal in Bitrix24 and needs to check the current balance of a counterparty. They open 1C, wait for it to load, generate a report — 10–15 minutes. With 10 such requests per day, that's 2–3 hours lost. And counterparties ask for statements for arbitrary periods, forcing the accountant back into 1C. We solve this: we set up direct exchange of reconciliation statements between 1C and Bitrix24 so that data is available with one click. Integration experience: over 50 projects, work guarantee.
What a reconciliation statement means in the context of integration
A reconciliation statement in 1C is generated from the ВзаиморасчётыСКонтрагентами register for a period. The document contains a list of transactions (shipments, receipts, returns), the final balance, and signature fields. In 1C, it is either a report (АктСверкиВзаиморасчётов) or a separate document. For integration, we need to output this data in a machine-readable format — via REST API.
Why statements are needed in Bitrix24
Scenario 1: CRM. The manager sees the current balance in the company card without switching to 1C. The reconciliation statement is displayed via a widget or on a separate tab.
Scenario 2: Client portal. A B2B client logs into their personal account on the website, selects a period, and downloads a PDF. No more calls to the accountant.
Scenario 3: Automatic dispatch. Once a month, reconciliation statements are sent to all counterparties with a non-zero balance — via email or Bitrix24 notifications.
How reconciliation statements get from 1C to CRM?
We create an HTTP service in 1C — an endpoint with API key authentication. The service accepts a counterparty GUID and a period, returns JSON with statement data and/or a PDF in base64.
GET /hs/reconciliation/act?counterparty_guid=abc-123&date_from=2024-01-01&date_to=2024-03-31 Authorization: Bearer {api_key} { "counterparty": "LLC Romashka", "period": {"from": "2024-01-01", "to": "2024-03-31"}, "opening_balance": -15000.00, "transactions": [ {"date": "2024-01-15", "document": "Sale #12", "debit": 45000, "credit": 0}, {"date": "2024-01-20", "document": "Payment #456", "debit": 0, "credit": 45000} ], "closing_balance": -15000.00, "pdf_base64": "JVBERi0xLjQ..." } In Bitrix24, data is displayed via a widget (iframe) in the company card. The widget URL points to the 1C HTTP service, which renders an HTML table. An alternative is to use Activity or Timeline items via REST API, but the widget is simpler and faster.
Comparison of display methods in CRM
| Method | Implementation complexity | Data retrieval speed | Requires 1C modification |
|---|---|---|---|
| Widget (iframe) | Low | High (direct request) | Yes (HTTP service) |
| Activity / Timeline | Medium | Medium (via REST) | Yes (HTTP service) |
| Sync via directory | High | Low (periodic import) | Yes (export) |
The widget is the optimal choice: the manager sees up-to-date information without page reload.
Automatic generation and dispatch of statements
A scheduled job runs once a month:
- Get a list of counterparties with non-zero balances.
- For each, generate a PDF reconciliation statement (using the
АктСверкиВзаиморасчётов.СформироватьПФ()function in 1C). - Upload the PDF to Bitrix24 Drive via REST API (
disk.folder.uploadFile). - Create a task for the manager or send an email immediately.
Example upload in PHP:
$bitrix24->call('disk.folder.uploadFile', [ 'id' => ACTS_FOLDER_ID, 'data' => ['NAME' => "Reconciliation statement {$company} {$period}.pdf"], 'fileContent' => base64_encode($pdfContent), ]); Why automate statement dispatch?
Manual dispatch wastes 3–4 days per month for the accountant. Automation reduces this to 15–20 minutes for monitoring. Additionally, counterparties receive statements without delays, reducing the flow of calls to the sales department.
Case from our practice: B2B self-service portal
A wholesale supplier with 500 active counterparties. Before us, the accountant spent 3–4 days a month on manual statement dispatch. Counterparties constantly called asking for statements for non-standard periods. We implemented a personal account on the website (Bitrix) with a "Reconciliation Statements" tab. The counterparty selects a period → clicks "Generate" → the 1C HTTP service returns a PDF. Automatically on the 1st of each month, 500 PDFs are generated (12 minutes), uploaded to Drive, and tasks are created for managers (another 8 minutes via REST). The accountant stopped wasting days on routine work.
Common mistakes when setting up the exchange
- Incorrect counterparty GUID (format mismatch between 1C and Bitrix24).
- Missing permissions for the HTTP service (access must be granted).
- Invalid or expired API key.
- Errors in JSON format (validate with a validator).
- Exceeding REST API limits (request rate restrictions).
We fix these during testing.
Additional HTTP service parameters
| Parameter | Type | Description |
|---|---|---|
counterparty_guid |
UUID | Counterparty identifier in 1C |
date_from |
ISO 8601 | Start of period |
date_to |
ISO 8601 | End of period |
format |
string | json or pdf (default json) |
What is included in the work
- Audit of the current exchange scheme (1C versions, configuration, data storage method).
- Design of the HTTP service in 1C (endpoint, authentication, logging).
- Development and testing of the service on your data.
- Widget setup in Bitrix24 or REST integration (Activity/tasks).
- Implementation of a scheduled job for automatic dispatch (optional).
- Operation documentation and employee training (1–2 hours).
- 1 month post-launch support (bug fixes under warranty).
Timeline and pricing
Timelines depend on complexity: a minimal project (widget only) starts from 3 days, full automation with dispatch from 10 days. Pricing is calculated individually after an audit. We bring integration experience with 1C and Bitrix24 from over 50 projects. All work comes with a guarantee of correct operation.
Want to free managers from switching between systems? Order reconciliation statement exchange setup. Get a consultation — we will assess your project within 1 day.

