A client comes to calculate a mortgage — and gets a calculator failure. Or an application form loses data. The reason is standard solutions that don't account for banking specifics. We build websites that convert: with calculators, online applications, and compliance with Central Bank requirements. Our tagged caching reduces load 3 times more efficiently than standard caching, saving budget up to 40% (economy from 500,000 rubles). We have 10+ years of experience, 50+ completed projects, and have been on the market since 2010.
Catalog of Banking Products (bank product catalog)
We build the catalog structure on information blocks with clear separation by type: deposits, loans, debit and credit cards, settlement and cash services. Each type is a separate information block or section with a set of properties specific to the product. For example, for deposits: minimum amount (from 10,000 to 30,000,000 rubles), term (from 1 to 60 months), interest rate (with gradation by amount and term — a 'table' property or a related Highload block), replenishment, partial withdrawal, capitalization. For loans: amount range (from 50,000 to 10,000,000 rubles), term (from 6 to 120 months), rate, borrower requirements, collateral. For cards: payment system, cashback, service cost, grace period. Filtering uses the catalog.smart.filter component with template customization for banking specifics: sliders for amounts and terms, checkboxes for options. When the number of products exceeds 200, we use tagged caching, which reduces server load 3 times compared to standard cache.
How to Implement a Deposit Calculator with Capitalization Support? (deposit calculator Bitrix)
The calculator is a key conversion element. Implementation on the frontend via JavaScript with server-side validation.
Deposit calculator. Input: amount, term, monthly replenishment. Output: total amount with interest, accrual schedule by month. The formula depends on the type of capitalization — simple interest or compound with monthly/quarterly accrual. Rates are pulled from the information block properties via an AJAX request to a custom controller. This ensures automatic recalculation when product conditions change.
Credit calculator. Annuity and differentiated payment — two calculation modes. Annuity formula:
P = S × (r × (1 + r)^n) / ((1 + r)^n − 1)
Result: monthly payment, overpayment, payment schedule with breakdown into principal and interest. The schedule is displayed as a table with PDF download capability — server-side generation via TCPDF, triggered by an AJAX request.
Mortgage calculator (mortgage calculator) — accounts for down payment, insurance, and early repayment. Add a 'maternity capital' field with a fixed amount. All calculators end with a 'Submit Application' button — calculation data is transferred to the form pre-filled.
Online Application for Loan and Card (online loan application, Bitrix application forms)
A multi-step form (4 steps) allows filling out an application in an average of 4 minutes. Steps:
- Product parameters — amount, term (pre-filled from calculator)
- Personal data — full name, date of birth, passport, TIN
- Financial information — place of work, length of service, income
- Contacts and consents — phone, email, consent to data processing (mandatory checkbox)
Validation at each step — client-side and server-side. After submission, data is recorded in Bitrix24 CRM via REST API (crm.lead.add method) or directly into the bank's ABS through an intermediate API gateway. Application status is available to the client in their personal account. Form conversion reaches 35% with proper setup.
Currency Rates (1C-Bitrix bank, Central Bank integration)
Parsing of the daily XML feed from the Central Bank of Russia (CBR) via a Bitrix agent, executed every 30 minutes. The result is written to a Highload block with fields: currency code, denomination, rate, date. We use tagged caching (tagged caching) — server load is reduced 3 times compared to standard cache. Output component: CACHE_TIME 1800 seconds, CACHE_TYPE 'A' (automatic). On the frontend — a table with major currencies (USD, EUR, CNY) and dynamics for the week/month via a Chart.js graph. A separate page with exchange rate archive for 3 years and a currency converter. Page loading speed is increased by 55% due to aggressive caching.
Branches and ATMs on the Map (Highload-block bank branches)
Highload block with fields: name, type (branch/ATM/terminal), address, coordinates, working hours, available services. When the number of points exceeds 500, marker clustering on Yandex.Maps is mandatory via ymaps.Clusterer — otherwise the page lags on mobile, losing up to 40% of visitors. Dynamic clustering speeds up map loading 5 times compared to standard output. Filtering by point type and services (cash withdrawal, payments, currency exchange). User geolocation via navigator.geolocation for automatic map centering and sorting of the list by distance. Map loading time is reduced from 3 seconds to 0.6 seconds.
Why Is It Important to Configure CSP for a Bank Website? (CSP bank site, bank website security)
A bank website is a target for attacks. The security approach is multi-layered.
Content Security Policy (CSP). We configure headers via .htaccess or nginx config. Policy default-src 'self' with explicit exceptions for CDN, map APIs, payment widgets. Inline scripts are prohibited — we use nonce for Bitrix components that generate inline JS. This breaks part of the standard templates — we rebuild them with scripts moved to external files.
Complete Security Scope
Expand
-
HTTP Strict Transport Security (HSTS). Header
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload. Before enabling, we verify that all subdomains (CDN, API, mail) work over HTTPS. - Proactive Bitrix defense: web antivirus, activity control, DDoS protection, two-factor authentication for administrators, intrusion log. We configure IP stop-lists for brute-force attempts.
- WAF (Web Application Firewall). The standard 'Proactive Protection' module covers basic SQL injections and XSS. For bank-level security, we add an external WAF — ModSecurity with OWASP CRS or Cloudflare WAF.
-
Data encryption: personal data in the database is encrypted at the application level via
CryptoProvider. Backups are only in encrypted form. - Audit and monitoring: the 'Event Log' module records all administrator actions. Additionally, alerts for: changes to core files, failed login attempts exceeding 5 per minute, changes to security module settings.
Compliance with Federal Law No. 395-1 and Central Bank Requirements
Federal Law 'On Banks and Banking Activities' and Central Bank regulations require the website to include:
- License and constituent documents
- Financial reports (quarterly and annual)
- Tariffs for all products in their current version
- Information about the deposit insurance system
- Details and contact information
For this, we create a 'Information Disclosure' section with a document information block. Properties: document type, publication date, file (PDF). Documents must be accessible without authorization and indexed by search engines. We configure access rights at the information block level: read — for everyone, edit — only for the 'Compliance' group.
Table: Typical Banking Products and Information Block Properties
| Product Type | Key Properties | Calculation Form |
|---|---|---|
| Deposit | Amount, term, rate, capitalization, replenishment | Calculator with accrual schedule |
| Loan | Amount, term, rate, annuity/differentiated | Payment schedule with overpayment |
| Card | Payment system, cashback, cost, grace period | Comparison of conditions |
Bank Website Development Stages (bank website development)
| Stage | Content | Duration |
|---|---|---|
| Analytics | Audit of current site, collection of Central Bank requirements, calculator prototypes | 3–4 weeks |
| Design | UI kit, responsive layouts of key pages, UX of calculators | 3–4 weeks |
| Layout and frontend | Component templates, calculators in JS, responsiveness | 4–5 weeks |
| Backend development | Information blocks, integrations (CBR API, CRM/ABS, maps), application forms | 5–6 weeks |
| Security | CSP, HSTS, WAF, encryption, vulnerability audit | 2–3 weeks |
| Testing | Functional, load, penetration testing | 2–3 weeks |
| Launch and support | Migration, monitoring, editor training | 1–2 weeks |
Total timeline — from 20 weeks with parallel design and analytics. A banking project cannot be rushed: each component undergoes a security review before production.
What Is Included in the Work (What's included)
- Project documentation: technical specification, architecture description, integration scheme.
- Integrations: with the Central Bank of Russia, banking ABS, payment services (YooKassa, Sber), delivery services (CDEK).
- Access: to the admin panel, code repository, and hosting.
- Training: a three-day workshop for editors and site administrators.
- Warranty support: 3 months after launch with bug fixes and consultations.
Our company delivers: 10+ years of experience, 50+ projects, and a team of 30 experts. Get an individual estimate of timeline and cost — contact us for a consultation. We will calculate the timeline and cost for your project already at the initial discussion stage.







