Insurance Company Website Development on 1C-Bitrix

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

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    995
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    733
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    863
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1134

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.