Development of a charity foundation website using 1C-Bitrix

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Charity Foundation Website Development on 1C-Bitrix

A charity foundation website solves two tasks simultaneously: collects donations and proves money is spent transparently. Trust is the foundation's only currency, and each website element either strengthens or destroys it. 1C-Bitrix suits such projects thanks to the sale module (payments), info-blocks (projects, reports, stories), and built-in SEO tools for promoting non-commercial queries.

Assistance Projects

The "Projects" info-block is the main section. Each project is an element with properties:

  • Name and Description—text with photo/video
  • Target Amount—number
  • Collected Amount—number, auto-updated from sale module
  • Status—list: active collection, goal reached, completed
  • Category—binding to directory (children, elderly, ecology, medicine)
  • Photo Reports—multiple "file" property with dates
  • Financial Report—PDF file

Progress bar is the key visual element. In news.detail component template, calculate percentage: collected / target × 100. CSS animation on page load. Color changes by threshold: green after 75%, yellow 30–75%, red below 30%. Next to it—donation count (count sale orders linked to project).

On project list page—sorting: "urgent" (deadline proximity), "almost funded" (percent > 80%), "new." Category filtering via catalog.smart.filter.

Donation Receipt System—Technical Core

Accepting money on a foundation website is more than a "Pay" button. It's recurring payments, multiple payment systems, fiscalization, project linking, and report generation. Let's examine the architecture.

sale Module as Foundation. Donation is structured as an e-commerce order, but simplified: no cart, no delivery, no inventory. Create catalog with single "product"—"Donation," where price is user-defined. Technically: e-commerce catalog info-block with one element, "Price" property in "BASE" price type set to 0—actual amount passed via parameter when adding to cart.

Quick Amount Buttons. On project page, place buttons: 100, 300, 500, 1000, 5000 currency units and "Other Amount" field. On button click—AJAX request adds "product" to cart with specified price and redirects to checkout. Parameter PROJECT_ID saved in order property—links payment to project for reporting.

Checkout Page. Minimal fields: name (optional—support anonymous donations), email (for receipt and thank you), amount, payment system choice, data processing consent checkbox. Component sale.order.ajax with custom template, with unnecessary steps removed.

Payment Systems. Connect at least two:

  • CloudPayments—supports recurring via card tokenization, widget embedded via JS SDK. Payment system handler in Bitrix accepts CloudPayments callback and updates order status
  • YooKassa—for alternative methods: SBP (Fast Payment System), e-wallets. Standard Bitrix handler for YooKassa included in sale module

Recurring Donations—Main Technical Task. Regular donations (monthly) give foundation predictable income. Implementation via CloudPayments Subscriptions API:

  1. At first payment, user checks "Subscribe to monthly donation"
  2. CloudPayments saves card token and creates subscription via POST /subscriptions/create with params: Amount, Currency, AccountId, StartDate, Interval: Month, Period: 1
  3. Each month CloudPayments auto-charges and sends callback to site
  4. Callback handler creates new sale order linked to project and user
  5. User receives thank-you email and subscription management link

Subscription Management—personal account page where user sees payment history, can change amount or cancel. Cancellation via POST /subscriptions/cancel CloudPayments API. Amount change—cancel current subscription and create new.

Fiscalization. Charity donations aren't VAT-taxable but need receipt. CloudPayments and YooKassa support auto-fiscalization via cash register (ATOL, OrangeData). In handler settings: tax system—USN, payment subject attribute—"payment," VAT rate—"no VAT."

Collected Amount Update. Handler for OnSaleOrderPaid event—on payment, get PROJECT_ID from order property and increment "Collected Amount" value in projects info-block. Project detail page cache clears via tagged cache.

Reporting and Transparency

Legal requirement (Federal Law "On Charitable Activity" and foundation charter): publish financial reports. Create "Reports" section with document info-block:

  • Annual reports (PDF)
  • Quarterly financial reports
  • Per-project reports—auto-generated from sale data: collected, spent (info-block property field), spending details (text field)
  • Founding documents, certificates, licenses

For transparency, add "Recent Donations" block to project page—list of last 10 orders: name (or "Anonymous"), amount, date. Display via sale.order.list with custom template, filtered by PROJECT_ID.

Volunteer Portal

Section for volunteers with registration via standard system.auth.registration component with additional fields: city, help direction, availability (weekdays/weekends). After registration—access to closed section with event schedule.

Schedule—"Events" info-block: name, date, time, place, spots available, registered users (multiple user binding). Event registration—button that via AJAX adds user ID to element property. At limit, button disables.

News and Beneficiary Stories

Two info-blocks: "Foundation News" (events, actions, press releases) and "Stories" (beneficiary stories with photos and video). Stories are powerful engagement tool: after reading, donation conversion increases. In story template—CTA block with "[name] Help" button and project progress bar linked to beneficiary.

SEO for Non-Commercial Queries

Non-commercial queries ("help children," "online donation," "charity foundation [city]") have low competition but specific optimization needs. Standard Bitrix SEO tools: section title and description templates, friendly URLs via urlrewrite.php, auto sitemap.xml. Microdata NonprofitOrganization schema.org on homepage, DonateAction on project pages.

Development Stages

Stage Content Timeframe
Analytics Federal Law requirements, payment system selection, project structure 2–3 weeks
Design Emotional but not overwhelming. Project layouts, donation forms 2–3 weeks
Development Info-blocks, sale module, CloudPayments/YooKassa integration, recurring payments 5–6 weeks
Volunteer Section Registration, schedule, personal account 2–3 weeks
Content and SEO Project population, stories, microdata setup 2 weeks
Testing Payment scenarios, recurring charges, mobile devices 1–2 weeks

A foundation website on Bitrix is about trust expressed in code. A progress bar updating in real time, public reports, transparent payment history—each element drives people to click "Help" and return again.