Developing an Agricultural Enterprise Website on 1C-Bitrix
We build agricultural enterprise websites on 1C-Bitrix that combine a public storefront with certificates and a private B2B portal for wholesale buyers. When standard e-commerce fails to cover the specifics — GOST compliance, personalized pricing, 1C synchronization, and document management — we create a system where every element works for the business. On average, portal maintenance costs drop by 30% of the annual IT budget (from 300,000 to 500,000 RUB per year for a medium-sized enterprise), and clients reduce manual work by 250 hours per month. Below is an engineering focus on the B2B part and catalog.
Product Catalog: Infoblock with Industry-Specific Features
The catalog structure for an agricultural enterprise differs from typical e-commerce. Categories are formed not by marketing but by OKPD-2 product groups: grains (wheat, barley, rye, oats, corn), oilseeds (sunflower, rapeseed, soybean, flax), dairy and meat products. Each infoblock element includes properties:
| Property |
Type |
Example Value |
GOST_TU |
String |
GOST 9353-2016 |
QUALITY_CLASS |
List |
1, 2, 3, 4, 5 grade |
PROTEIN_CONTENT |
Number |
12.5% |
MOISTURE |
Number |
14% |
CERTIFICATES |
File (multiple) |
PDF certificates of conformity |
HARVEST_YEAR |
Number |
Current harvest season |
STORAGE_LOCATION |
Link to HL |
Elevator, warehouse |
MIN_ORDER_TONS |
Number |
20 |
Quality certificates are displayed on the detail page with download capability. For grains, data freshness is critical — protein, moisture, and gluten values are updated from lab protocols via 1C integration.
Farm and Warehouse Map
Geolocation — via Yandex.Maps API. The 'Objects' infoblock stores coordinates, type (field, farm, elevator, workshop, office), address, and responsible person's contacts. Different icons are used per type; clicking opens a card with photos and contacts. For holdings with dozens of farms, the map becomes a key navigator: a partner sees the nearest warehouse and can place an order for delivery from there.
Seasonal Content
The cyclical nature of agribusiness means content changes with the seasons. The homepage features a rotating block with the current phase: sowing, vegetation, harvesting, storage. Implementation — 'Activity by date' property in the banner infoblock. Analytics (crop forecast, market review, price dynamics) are posted in news tagged by crop.
How to Set Up Personalized Price Lists for Each Counterparty?
This is the core engineering task of the B2B portal. Each counterparty sees their own terms: personalized prices, available volumes, order history. We use standard Bitrix authorization with extended user groups:
- B2B_BUYER — basic catalog access
- B2B_MANAGER — order placement, contracts
- B2B_FINANCE — mutual settlements, reconciliation statements
- B2B_ADMIN — management of counterparty employees
Each user is linked to a counterparty via UF_CONTRAGENT_ID, referencing the 1C directory.
The price type mechanism of the catalog module allows creating a price type for each counterparty, but with 200+ counterparties it becomes cumbersome. Our approach: 1C generates a price list per counterparty, exported to a Highload-block hl_b2b_prices with fields:
| Field |
Type |
Purpose |
UF_CONTRAGENT_ID |
Number |
Counterparty ID |
UF_PRODUCT_XML_ID |
String |
Product XML_ID |
UF_PRICE |
Number |
Price per unit |
UF_CURRENCY |
String |
BYN / RUB / USD |
UF_MIN_VOLUME |
Number |
Minimum volume |
UF_VALID_FROM |
Date |
Start date |
UF_VALID_TO |
Date |
End date |
UF_UPDATED_AT |
Datetime |
Sync timestamp |
The component retrieves prices from the HL-block for authenticated users; unauthenticated users see 'Price on request'.
Steps to configure the B2B portal:
- Create user groups and link them to counterparties.
- Deploy the Highload-block
hl_b2b_prices with required fields.
- Set up export of personalized price lists from 1C via an HTTP service.
- Write a component that substitutes prices based on the user.
Why Is Standard 1C Exchange Inefficient for a B2B Portal?
Standard CommerceML is designed for catalog and base prices. For personalized price lists, warehouse stock, mutual settlements, and order loading, custom solutions are required. A custom HTTP service in 1C generates XML with counterparty-specific prices 10 times faster than standard exchange for arrays of 500+ items. This saves clients up to 40% of order processing time, amounting to from 200,000 RUB per month. Schedule: stock — every 30 minutes (agent CAgentB2BStockSync), price lists — once daily at night, mutual settlements — once daily, orders — in real time.
Document Management: In the personal account, the counterparty sees contracts, invoices, reconciliation statements. Documents from 1C are uploaded as PDF to hl_b2b_documents with fields: type, number, date, file, status. For legally significant document flow — integration with Diadoc or SBIS via API.
Purchase Request: A form with product selection, volume (minimum check), shipping warehouse, date, delivery basis (EXW/FCA/CPT per Incoterms). After submission, data goes to Bitrix CRM (lead/deal) and to 1C as a purchase order.
What's Included in Development
When ordering an agricultural enterprise website, you get:
- A fully configured public catalog with industry-specific infoblocks
- A B2B portal with personalized prices, orders, and document management
- 1C integration (catalog, prices, stock, orders, mutual settlements)
- Farm and warehouse map on Yandex.Maps
- Dashboard with crop and livestock indicators (optional)
- Documentation, employee training, and warranty support
Implementation Stages
| Stage |
Content |
Duration |
| Analysis |
Business process audit, data mapping 1C → Bitrix |
2–3 weeks |
| Design |
Infoblock structure, HL-blocks, API contracts for 1C |
2 weeks |
| Public part |
Catalog, map, seasonal content, responsive layout |
3–4 weeks |
| B2B portal |
Personal account, prices, orders, document management |
5–6 weeks |
| 1C integration |
Exchange of catalog, prices, stock, orders |
3–4 weeks |
| Testing |
Functional, load, exchange testing with real data |
2 weeks |
| Launch |
Data migration, training, go-live, monitoring |
1 week |
Hosting Technical Requirements
We recommend a VPS/dedicated server with PHP 8.1+, MySQL 8.0 or MariaDB 10.6, at least 4 GB RAM, SSL certificate, cron with 1-minute interval for agents. A dedicated server is required for active 1C exchange.
We'll evaluate your project in one day — contact us. Get a consultation on 1C and Bitrix24 integration from our engineer.
How to properly design infoblocks?
When developing a 1C-Bitrix website, we see dozens of projects where poor infoblock structure slows down the site. Typical scenario: the client asks for a "product catalog." The developer creates one infoblock catalog, puts 15 properties in it. Six months later – 40 properties, 8 of which are used only for one category. The filter lags, the b_iblock_element_property table grows to millions of rows, CIBlockElement::GetList runs for 3 seconds. Consequences – conversion drop, loss of customers, additional optimization costs. In one project after catalog refactoring, page generation time dropped from 4.2 to 0.8 seconds, and annual support costs were reduced by over $10,000 through eliminated redundant queries and agents.
Our approach: design infoblocks before writing a single line of code. Separate infoblocks for entities (products, categories, brands), dictionary properties via highload blocks, trade offers for SKUs. This builds performance for years. If you want a preliminary audit of your infoblock schema, contact us for a free review of common mistakes and recommendations.
Why 1C-Bitrix outperforms most CMS for business
The choice of CMS is dictated by business needs, not preferences. Native 1C exchange via catalog.import.1c provides two-way synchronization of products, prices, balances, and orders through CommerceML without third-party modules — five times faster than developing custom exchange on OpenCart or WordPress, saving hundreds of thousands of rubles. Proactive security module includes WAF, file integrity control, SQL injection protection, and two-factor authentication; it's certified for FSTEK requirements. Modular architecture lets you enable only needed modules — iblock, catalog, sale, search — reducing DB queries per hit. Regular patches close vulnerabilities faster than open-source projects (average CVE fix time two weeks). Official documentation is maintained on the vendor's site.
What highload blocks are and how they speed up the catalog
Highload blocks are an alternative to extended infoblock properties when the list of values can grow to thousands of entries. Typical example: manufacturers, countries, colors. If stored as list properties in an infoblock, each filter triggers a full scan of b_iblock_property_enum table. With HL-blocks, selection uses indexes – filter response time drops from 1–2 seconds to 50 ms. We use HLB component and custom queries via Bitrix\Highloadblock\DataManager. This is critical for catalogs with 100,000+ items.
From our practice: an online store with 500,000 items. Standard filter by brand took 4 seconds. The server couldn't handle 50 concurrent requests – pages crashed. We moved the brand directory to an HL-block, added tagged caching for 15 minutes, and set up an agent to clear cache on change. After optimization, filter time was 120 ms, average LCP was 1.8 seconds. The project runs stable without failures.
What integrations are critical for 1C-Bitrix stores
Each e‑commerce project requires reliable connections with payments, fiscalization, logistics, and CRM. We integrate YooKassa, CloudPayments, Tinkoff, Apple Pay, Google Pay for payments; ATOL and OrangeData for 54-FZ compliance via sale.cashbox; CDEK, Boxberry, PEC, Russian Post, Yandex.Delivery for logistics; Bitrix24, amoCRM, Roistat, Calltouch, Mindbox for analytics and CRM. All integrations are configured with proper error handling and fallback logic.
What's included in 1C-Bitrix website development
Each project includes a full set of documentation and artifacts to prevent knowledge loss after handover.
- Technical specification – user stories, infoblock diagrams, integration schemas.
- Source code in Git – with commit history, release tags, branching rules.
- Administrative documentation – description of custom components, deployment instructions, list of agents and events.
- Staff training – up to a 3-hour webinar: admin panel, order management, price settings. Recorded for later review.
- Access to staging during development – test before production deployment.
- Warranty support – bug fixes for 30 days after launch. Post-warranty support packages with SLA (response 2 hours, resolution 8 hours).
Our process and technologies
| Project type |
Timeline |
Complexity |
Key features |
| Corporate website |
from 1 month |
Medium |
Catalog, news, forms, CRM integration |
| Online store |
from 2 months |
High |
54-FZ, marketplaces, 1C exchange, SKU |
| B2B portal |
from 3 months |
Very high |
Personal prices, document flow, Bizproc |
| Landing page |
from 2 weeks |
Low |
LCP < 2s, composite cache, static |
| Multisite structure |
from 1.5 months |
High |
Separate content, shared catalog, hreflang |
Tech stack: mobile-first markup, tested on physical devices (iPhone, iPad, Android). Use BrowserStack for Safari on iOS. Performance goals: LCP < 2.5 s, FID < 100 ms, CLS < 0.1. Enable composite site (composite module), CDN, tagged caching, WebP/AVIF, lazy loading. SEO: Schema.org via JSON-LD, auto-generation of sitemap.xml via seo module, canonical and hreflang for multilingual versions. robots.txt blocks /bitrix/ from indexing. CI/CD: Git, auto-deploy via GitLab CI, staging. DB migrations: sprint.migration module with versioning.
Process:
-
Analytics – study competitors, gather requirements, create prototypes in Figma. Output: technical specification with user stories.
-
Design – UI/UX with design system. Components are reusable.
-
Development – write components with custom templates in
local/templates/. Business logic in local/modules/.
-
Testing – functional, cross-browser, load testing (up to 1000 requests). Critical bugs fixed before launch.
-
Launch – deploy to production, monitoring via UptimeRobot, alerts in Telegram. Fixes for first 48 hours.
Multilingual support and redesign
Full localization via language files lang/ and SITE_ID mechanism. hreflang for each version. Regional versions with different prices and content – IP detection (main.geo) or manual selection. Multidomain – unified management of multiple domains.
Redesign without losing rankings: performance audit (PageSpeed, WebPageTest), SEO (Screaming Frog). New template in local/templates/ with preserved URL structure. 301 redirects only if URL changes significantly. Kernel update, migration to D7 ORM, infoblock restructuring, migration via sprint.migration with Git.
Guarantee and support
We have been working with 1C-Bitrix for 12+ years, completed 500+ projects. Certified developers on staff. Fixed price in contract – no surprises. Warranty period covers code errors. After warranty, subscription packages with SLA (response time 2 hours, resolution 8 hours). 24/7 availability monitoring, alerts in Telegram. Get a consultation and preliminary estimate: contact us via the form on the website or chat – we'll respond within an hour. Order turnkey development – we'll design infoblocks, integrate 1C, and speed up the catalog. If you already have a site on another CMS, order a performance audit and migration to Bitrix.