An accounting company with 500 active clients was losing 40% of leads at the first call stage. The reason: clients couldn't see tariffs and feared hidden fees. Managers spent up to 2 hours per day manually preparing commercial proposals. The solution: a website on 1C-Bitrix with a public cost calculator, personal account, and integration with 1C via CommerceML. In the first month after launch, the number of requests grew by 60%, and processing time was cut by three times. The platform was chosen not by chance: native integration with 1C:Accounting via CommerceML and the built-in Highload-infoblock mechanism for tariff reference books allow handling up to 10,000 calculator requests per day. Manager time savings reach 40%, and the average client acquisition cost decreases by 25% after implementation.
We don't just layout templates — we design a data architecture that scales with the growing client base. At the core: Highload-infoblocks for tariffs, ORM queries without unnecessary overhead, and caching via \Bitrix\Main\Data\Cache. The client portal is built on standard Bitrix components with group-based document filtering, ensuring data security. Integration with 1C is configured via REST API — report statuses updates occur every hour without manual intervention. Contact us to discuss your project.
How to Increase Conversion on an Accounting Company Website?
The calculator is the main conversion element. An entrepreneur inputs parameters and gets an estimated cost without calling. This removes a barrier and generates qualified leads: a manager receives a request with already filled data. But for the calculator to work fast and accurately, proper data architecture is needed.
Tariff structure in Highload-infoblock
The tariff grid is stored in the Highload-infoblock TariffAccounting. Fields: UF_TAX_SYSTEM (list: OSNO, USN 6%, USN 15%, patent, AUSN), UF_OPERATIONS_FROM/TO (operation range), UF_EMPLOYEES_FROM/TO (employee range), UF_BASE_PRICE (base cost), UF_PRICE_PER_OPERATION (surcharge for excess operations), UF_PRICE_PER_EMPLOYEE, UF_VAT_MULTIPLIER (coefficient for VAT), UF_FOREIGN_TRADE (surcharge for foreign trade). Selection of ranges via ORM TariffAccountingTable::getList() with filters.
| Field | Type | Description |
|---|---|---|
| UF_TAX_SYSTEM | list | Tax system: OSNO, USN 6%, USN 15%, patent, AUSN |
| UF_OPERATIONS_FROM | number | Lower bound of monthly operations range |
| UF_OPERATIONS_TO | number | Upper bound |
| UF_EMPLOYEES_FROM | number | Lower bound of employee count |
| UF_EMPLOYEES_TO | number | Upper bound |
| UF_BASE_PRICE | number | Base monthly service cost |
| UF_PRICE_PER_OPERATION | number | Additional charge per excess operation |
| UF_PRICE_PER_EMPLOYEE | number | Additional charge per excess employee |
| UF_VAT_MULTIPLIER | float | Coefficient for VAT payers |
| UF_FOREIGN_TRADE | number | Surcharge for foreign trade operations |
Calculation logic
Algorithm of the handler /ajax/calc_accounting.php:
- Get parameters: tax system, monthly operations count, employee count, presence of foreign trade and VAT.
- Select tariff via
TariffAccountingTable::getList()with filter by system and ranges. - Calculate: base cost + (operations above norm × UF_PRICE_PER_OPERATION) + (employees above norm × UF_PRICE_PER_EMPLOYEE) + UF_FOREIGN_TRADE; result multiplied by UF_VAT_MULTIPLIER if client is a VAT payer.
- Return JSON with total and breakdown.
Interface and caching
The form is a step-by-step wizard with 4 steps: choose tax system (radio buttons with explanations), sliders for operations and employees, checkboxes for additional parameters, result with request button. All parameters are passed to CRM via a web form, creating a lead with full context.
Tariffs are cached for 24 hours via \Bitrix\Main\Data\Cache. When updated in the admin panel, the cache is cleared via OnAfterUpdate of the Highload entity. This ensures response times under 0.05 seconds with 500+ records.
How is the architecture of Highload-infoblocks set up?
Highload-infoblocks are entities stored in separate tables and accessible via ORM DataManager. Their key advantage is direct SQL without extra joins typical of regular infoblocks. In the project, a high-load table with hundreds of thousands of records is used, but range queries are executed in milliseconds thanks to indexes on numeric fields.Service Catalog and Client Portal
Service Catalog. Infoblock with sections by areas: accounting, tax reporting, audit, business registration, HR accounting. Each service contains a detailed description, document list, and linkage to tariffs.
Client portal. Authentication via bitrix:system.auth.form. Document workflow: a manager uploads documents with user group binding — the client sees only their own. Report status with color indication. An agent daily checks the tax calendar and sends emails 10 and 3 days before deadlines.
Blog with legislative changes. Articles with Article microdata, properties: 'Author' (link to specialist infoblock), 'Regulatory act', 'Effective date'. Automatic suggestion of related changes and a CTA for consultation.
Integration with 1C:Accounting. Custom exchange via REST API: from 1C, completed work certificates are uploaded to the 'Client Documents' infoblock, report statuses are updated hourly, new clients from Bitrix24 are uploaded to 1C as counterparties.
Why are Highload-infoblocks critical for the calculator?
Selecting a tariff by a combination of parameters requires precise SQL queries with ranges. Highload-infoblock provides direct ORM DataManager access without the overhead of regular infoblocks, which yields a 10x performance boost. This is confirmed on projects with 1000+ tariff records. If we used regular infoblocks, the calculator response time would increase from 0.02 to 0.3 seconds — critical for user experience.
What integrations do we set up?
Besides 1C, we integrate the website with CRM and payment systems. YooKassa and Sber allow online payments, while ATOL Online and OFD automate fiscalization. This gives the client a unified personal account for managing orders and reports.
What is included in development and timelines
We provide a full package: architectural technical specification and database schema (infoblocks, HL-blocks, migrations), component templates (catalog, calculator, client portal), documentation for REST API and 1C integration, content filling instructions, repository access, editor training (2 hours online), and 3-month warranty support.
Stages and timelines
| Stage | Content | Duration |
|---|---|---|
| Analysis | Tariff audit, service structure, calculator technical specification | 1.5 weeks |
| Design | Prototypes, calculator logic, HL-block schema | 1 week |
| Design | Mockups, responsiveness, calculator components | 1.5 weeks |
| Core development | Infoblocks, templates, client portal | 3 weeks |
| Calculator | Backend and frontend, testing | 1.5 weeks |
| 1C integration | Exchange setup, synchronization testing | 1.5 weeks |
| Content and testing | Filling, testing, SEO | 1 week |
| Launch | Deployment, monitoring, documentation handover | 3 days |
Total duration from 10 to 12 weeks depending on integration complexity. Cost is calculated individually. Order website development with a calculator and get a precise estimate. Get a consultation on your project — we will be happy to answer your questions.







