A typical scenario: an insurance company spends up to 40% of managers' time manually calculating and issuing policies. Clients leave without waiting for a response, and agents lose motivation due to complex processes. We automate these tasks with an online insurance calculator and integration of accounting systems. A client calculates the cost, selects options, and pays for the policy in 5 minutes — without calls or office visits. We are certified specialists with 10+ years of experience, having implemented over 50 projects for insurance companies. Our expertise covers the full stack — from setting up information blocks to custom business logic for calculations.
The central element of such a site is a multi-step form with tariff logic that recalculates the premium in real time. Below we examine the architecture of all key components: from the catalog to integration with 1C:Insurance and AIS. Get a consultation on your project — we will help determine the optimal configuration.
Online Calculator for Insurance Policies
Insurance products are information blocks with sections by line of business:
- Auto insurance — OSAGO, CASCO
- Medical insurance — VHI for individuals and companies
- Property — apartment, house, commercial real estate
- Travel — international, domestic tourism
- Life and health — accident insurance, endowment
Properties of the information block element:
| Property | Type | Purpose |
|---|---|---|
| COVERAGE_LIST | HTML | List of covered risks |
| EXCLUSIONS | HTML | Exclusions from coverage |
| SUM_INSURED_MIN | number | Minimum insured sum |
| SUM_INSURED_MAX | number | Maximum insured sum |
| CALCULATOR_LINK | string | Link to the calculator for this product |
| DOCUMENTS | file (multiple) | Insurance rules, sample policy (PDF) |
| TARGET_AUDIENCE | enumeration | Individuals / Legal entities / Both |
Each product has a detailed page describing the terms, coverage, and claim procedure. The insurance client carefully reads this information before purchasing.
Calculator Architecture with Tariff Logic
The calculator is the most complex component. Each product has its own form and calculation formula. Let's examine CASCO — the most loaded in terms of parameters.
Step 1: Vehicle data. Make, model, year of manufacture, engine power, VIN (optional), vehicle cost, presence of anti-theft system.
Step 2: Driver data. Age, experience, number of permitted drivers (or multi-drive). For each driver, their own BMR coefficient is calculated.
Step 3: Insurance parameters. Insured sum, deductible (unconditional, from 0 to 1000), inclusion of additional risks (GAP, personal accident, courtesy car), insurance period.
Step 4: Premium calculation. Base premium formula for CASCO:
Premium = Insured_Sum × Base_Tariff × BMR × EM × SP × FD × AS × TR
Coefficient values:
-
Base_Tariff— depends on make/model (theft risk) and year of manufacture -
BMR— bonus-malus coefficient (minimum of all drivers) -
EM— engine power coefficient -
SP— insurance period coefficient (half a year ≠ half of annual) -
FD— franchise (deductible) coefficient (the higher the franchise, the lower the coefficient) -
AS— anti-theft system coefficient -
TR— territorial coefficient
Highload blocks in 1C-Bitrix allow efficient storage of directories with arbitrary structure. The tariff directory is implemented via Highload blocks:
InsuranceBaseTariff — base tariffs:
| Field | Type | Example |
|---|---|---|
| UF_PRODUCT_TYPE | enumeration | CASCO |
| UF_CAR_BRAND | string | Toyota |
| UF_CAR_MODEL | string | Camry |
| UF_YEAR_FROM | integer | start year |
| UF_YEAR_TO | integer | end year |
| UF_BASE_RATE | float | 0.035 (3.5%) |
| UF_RISK_GROUP | enumeration | Low / Medium / High (theft) |
InsuranceCoefficient — coefficients:
| Field | Type | Purpose |
|---|---|---|
| UF_COEFF_TYPE | enumeration | BMR / EM / SP / FD / AS / TR |
| UF_PARAM_FROM | float | Lower bound of parameter |
| UF_PARAM_TO | float | Upper bound of parameter |
| UF_VALUE | float | Coefficient value |
| UF_PRODUCT_TYPE | enumeration | For which product |
Example entries for BMR:
| UF_COEFF_TYPE | UF_PARAM_FROM (age) | UF_PARAM_TO | Experience from | Experience to | UF_VALUE |
|---|---|---|---|---|---|
| BMR | 18 | 21 | 0 | 2 | 1.87 |
| BMR | 22 | 25 | 3 | 5 | 1.04 |
| BMR | 30 | 65 | 10 | 99 | 0.93 |
For BMR, two parameters (age and experience) are needed, so additional fields are added to the Highload block or a separate InsuranceCoefficientBMR is created.
Example server-side calculation
The calculator sends an AJAX request to a custom controller. The server finds the base tariff and coefficients, multiplies them, and returns a JSON with a breakdown.
$baseTariff = InsuranceBaseTariffTable::getRow([
'filter' => [
'UF_PRODUCT_TYPE' => 'kasko',
'UF_CAR_BRAND' => $brand,
'UF_CAR_MODEL' => $model,
'<=UF_YEAR_FROM' => $year,
'>=UF_YEAR_TO' => $year,
],
]);
$coefficients = [];
$bmr = InsuranceCoefficientTable::getRow([
'filter' => [
'UF_COEFF_TYPE' => 'bmr',
'<=UF_PARAM_FROM' => $driverAge,
'>=UF_PARAM_TO' => $driverAge,
'<=UF_PARAM2_FROM' => $driverExperience,
'>=UF_PARAM2_TO' => $driverExperience,
],
]);
$coefficients['bmr'] = $bmr['UF_VALUE'];
// Similarly for EM, SP, FD, AS, TR
$premium = $insuredSum * $baseTariff['UF_BASE_RATE'];
foreach ($coefficients as $coeff) {
$premium *= $coeff;
}
The breakdown for the client shows what the price consists of: base tariff 3.5%, BMR 1.04, franchise reduces by 15% — transparency builds trust.
On one project, we optimized the coefficient lookup queries, reducing calculation time from 8 seconds to 1.2 seconds.
Importance of Server-Side Insurance Tariff Calculation
The calculator works via an AJAX request to a custom Bitrix controller. The client side collects form parameters and sends a POST request. Server-side calculation is 3-5 times faster than a full page reload, allows dynamic coefficient loading, and provides a detailed quote.
Online Policy Purchase
After calculation, the client clicks "Issue Policy". An order is created via the sale module. The product is the insurance item with a dynamic price from the calculator. Order properties contain all policy parameters. Payment is through payment gateways (ERIP, bank cards) integrated via sale.paysystem. After payment, the OnSaleOrderPaid handler generates a PDF policy (TCPDF or mPDF) and sends it to the email.
Policyholder Personal Account
Personal account functionality:
- My Policies — list of active and expired policies with PDF
- Notifications 30 days before policy expiry (Bitrix agent + email/SMS)
- Renewal — "Renew" button pulls data into the calculator
- Claim submission — form with document upload (photos, certificates). Files via
CFile::SaveFile(), claim saved in the "Insurance Cases" information block - Claim status: submitted → under review → documents requested → decision → payment
Integration with 1C:Insurance and AIS
Main options:
1C:Insurance. Exchange via 1C HTTP services. New policies and claims are sent from the site; statuses and tariffs are received from 1C.
Insurer's AIS. Via SOAP or REST. For OSAGO, KBM verification via an external API is mandatory, along with sending policy data and receiving a number.
CommerceML governs data exchange with 1C, but for insurance systems, custom HTTP services are more often used.
Agent Portal (B2B)
Insurance agents get authorized access with a calculator showing agent commission, a client pipeline (via a custom "Agent Requests" information block), and reporting in XLSX (via PhpSpreadsheet). Access is restricted by Bitrix user groups.
Implementation Timeline
| Scale | Composition | Timeline |
|---|---|---|
| Single product (OSAGO or travel) | Calculator, online purchase, basic personal account | 8-10 weeks |
| 3-5 products (auto + property + VHI) | + multiple calculators, integration with 1C, claim submission | 14-20 weeks |
| Full-featured website | + agent portal, integration with AIS, renewal, mobile personal account | 22-30 weeks |
When estimating, we consider the volume of tariff directories and the number of unique formulas. Each new product requires separate implementation of calculator business logic. Contact us for an accurate estimate of your project.
What Is Included in the Work
- Requirements analysis and audit of current processes
- Architecture design and prototyping
- Implementation of calculators and tariff directories
- Integrations with 1C:Insurance, AIS, payment systems
- Development of personal account and agent portal (if required)
- Testing, deployment, and 6-month warranty support
- Training of employees to work with the Bitrix admin panel
- Transfer of technical documentation and access rights
Request an audit of your site — get a roadmap and cost estimate.







