Accounting Company Website Development on 1C-Bitrix
Accounting services chosen rationally: entrepreneur compares rates, checks competency, wants to understand cost before calling manager. Website on 1C-Bitrix for accounting company solves three tasks — demonstrates expertise via content, automates cost calculation via calculator, provides current clients personal cabinet for document circulation. Bitrix chosen not by chance: native 1C:Accounting integration via data exchange module and built-in Highload info blocks for tariff reference.
Service Catalog
Services organized in info block with direction sections:
- Accounting — bookkeeping under OSNO, USN, AUSN, patent
- Tax Reporting — declaration preparation/submission, tax load calculation
- Audit — voluntary and mandatory, tax audit
- Business Registration — IP, LLC registration, EGRUL/EGRUP changes
- Payroll — salary calculation, HR documentation
Each service contains: brief catalog description, detailed text with included work list, required client documents list (multiple String property), calculator tariff binding.
Blog with Legal Change Commentary
Blog — SEO traffic tool and expertise demonstration (E-E-A-T). "Articles" info block with categories: Russian Tax Code changes, federal law analysis, practical cases, frequent client questions.
Each article contains properties:
- Author — "Specialists" binding for E-E-A-T
- Regulatory Act — string (e.g., "FZ-402", "RF TC art. 346.20")
- Effective Date — for actual changes filtering
- Target Audience — list: IP, LLC, self-employed
Article template includes Article micromarkup with author → Person, "Latest Changes on Topic" block (auto-select via regulatory act filter), consultation CTA.
Client Personal Cabinet
Closed section for current clients, authorization via standard bitrix:system.auth.form component. Functionality:
Document Circulation. "Client Documents" info block with user group binding. Manager uploads documents in admin, specifying client (user group). Client sees only their documents via ACCESS filter.
Reporting Status. "Reporting" info block with report elements containing properties: report type (VAT, income tax, 6-NDFL, RSV), period, status (list: preparation → review → submitted → accepted by FTA), submission date. Client sees table with color status indication.
Deadline Notifications. Bitrix agent daily checks tax deadline approach (separate Highload with submission dates by report type). 10 and 3 days before deadline client gets email via REPORT_DEADLINE_REMINDER mail event.
1C:Accounting Integration
Synchronization via sale module and CommerceML data exchange, but non-standard scenario: not goods but counterparty reference and documents.
Custom exchange via 1C REST API and Bitrix-side PHP script:
- 1C exports work completion acts → create "Client Documents" elements
- Report statuses update from 1C on schedule (cron, hourly)
- New CRM clients exported to 1C as counterparties
Deep-Dive: Accounting Service Cost Calculator
Calculator — main conversion element. Entrepreneur enters business parameters, gets approximate service cost. Removes "need to call for price" barrier, generates qualified leads with pre-filled params.
Highload Info Block Data Structure
Tariff grid stored in "Accounting Tariffs" Highload block (TariffAccounting). Fields:
| Field | Type | Description |
|---|---|---|
| UF_TAX_SYSTEM | list | OSNO, USN 6%, USN 15%, patent, AUSN |
| UF_OPERATIONS_FROM | number | Operations per month lower bound |
| UF_OPERATIONS_TO | number | Upper bound |
| UF_EMPLOYEES_FROM | number | Employee count lower bound |
| UF_EMPLOYEES_TO | number | Upper bound |
| UF_BASE_PRICE | number | Monthly service base cost |
| UF_PRICE_PER_OPERATION | number | Extra per operation above norm |
| UF_PRICE_PER_EMPLOYEE | number | Extra per employee above norm |
| UF_VAT_MULTIPLIER | number (float) | VAT payer coefficient |
| UF_FOREIGN_TRADE | number | Foreign trade operations markup |
Highload chosen over regular because tariff selection by parameter combination requires precise SQL range queries, Highload provides ORM DataManager direct access without regular info block overhead.
Calculation Logic
Server-side AJAX handler (/ajax/calc_accounting.php with Bitrix prologue). Algorithm:
- Get input params: tax system, operations/month, employees, foreign trade, VAT payer
- Fetch tariff from Highload via ORM:
TariffAccountingTable::getList()with system and range filters - Calculate:
base cost + (operations above norm × rate) + (employees above norm × rate) + FT-markup, result ×VAT_MULTIPLIERif VAT payer - Return JSON with total and breakdown
Calculator Interface
Step-by-step (wizard) form:
- Step 1. Tax system — radio buttons with explanations
- Step 2. Operations per month — slider step 10 (0 to 500+) and numeric field
- Step 3. Employees — slider (0 to 100+)
- Step 4. Additional params — checkboxes: VAT payer, foreign trade, currency operations
- Result. Card with total, breakdown, "Submit Request" button
Button passes all calculator params to hidden form fields, creating CRM lead with full context: manager sees customer's tax system, operation/employee counts.
Tariff Caching
Tariff grid changes rarely (quarterly), so query results cached via \Bitrix\Main\Data\Cache with key from input params. TTL — 24 hours. On tariff update in admin, cache clears via OnAfterUpdate handler.
Development Stages
| Stage | Content | Timeline |
|---|---|---|
| Analysis | Tariff audit, service structure, calculator TZ | 1.5 weeks |
| Design | Prototypes, calculator logic, Highload schema | 1 week |
| Design | Mockups, calculator components, responsive | 1.5 weeks |
| Core Development | Info blocks, templates, personal cabinet | 3 weeks |
| Calculator | Backend logic, frontend, formula testing | 1.5 weeks |
| 1C Integration | Exchange setup, sync testing | 1.5 weeks |
| Content and Test | Population, cross-browser test, SEO | 1 week |
| Launch | Deploy, monitoring, documentation | 3 days |







