Agricultural Enterprise Website Development on 1C-Bitrix
The agricultural business operates on two planes: public representation for partners and regulators, and a closed B2B zone for wholesale buyers. An agricultural enterprise website on 1C-Bitrix must combine both functions — showcase product catalog with quality certificates while providing partners access to current price lists, document management, and real-time inventory.
Product Catalog: Information Block with Industry-Specific Features
The agricultural enterprise catalog structure differs from typical e-commerce. Categories are formed not by marketing principle but by commodity groups per OKPD-2:
- Cereals — wheat (soft/hard, grades 1–5), barley, rye, oats, corn
- Oilseeds — sunflower, rapeseed, soy, flax
- Dairy Products — milk (pasteurized/ultra-pasteurized), cream, butter, cheese
- Meat Products — beef, pork, poultry (if available)
Each information block element includes properties:
| Property | Type | Example Value |
|---|---|---|
GOST_TU |
String | GOST 9353-2016 |
QUALITY_CLASS |
List | 1, 2, 3, 4, 5 class |
PROTEIN_CONTENT |
Number | 12.5% |
MOISTURE |
Number | 14% |
CERTIFICATES |
File (multiple) | PDF certificates of conformity |
HARVEST_YEAR |
Number | 2025 |
STORAGE_LOCATION |
HL Link | Grain elevator, warehouse |
MIN_ORDER_TONS |
Number | 20 |
Quality certificates are displayed on product detail page with download capability. For cereals, data currency is critical — protein content, moisture, gluten indicators are updated from lab reports via 1C integration.
Farm and Warehouse Map
Geolocation is implemented via Yandex.Maps API. The "Objects" information block stores coordinates, object type (field, farm, grain elevator, processing facility, office), address, responsible contact information. Objects are marked on map with different icons by type. Click opens card with photo, description, and contacts.
For large holdings with dozens of operations in different regions, the map becomes key navigation element — partner sees nearest warehouse and can submit order with delivery from there.
Seasonal Content
Agricultural business is cyclical — content tied to seasons. Homepage rotates block with current phase: sowing, vegetation, harvesting, storage. Implementation via "Activity by Date" property in banner information block. Analytical materials (harvest forecast, grain market review, price dynamics) published in news section with tagging by crop.
B2B Portal: Wholesale Prices and 1C Integration
This is the central part of the project and primary engineering complexity point. B2B portal is closed website section, accessible only to authorized counterparties. Each counterparty sees their conditions: personal prices, available volumes, order history, and settlements.
Authorization and Roles:
Standard Bitrix authorization extended via user groups. Group structure:
-
B2B_BUYER— basic catalog and price access -
B2B_MANAGER— order placement, contract access -
B2B_FINANCE— settlement view, reconciliation acts -
B2B_ADMIN— counterparty employee management
Each user is linked to counterparty via UF field UF_CONTRAGENT_ID, referencing counterparty directory in 1C.
Personal Price Lists:
Price type mechanism in catalog module allows creating separate price type per counterparty or counterparty group. But with 200+ counterparties, managing hundreds of price types is unwieldy. Different approach applied:
- 1C generates price list for specific counterparty considering contract terms, discounts, logistics leg.
- Price exported to Highload-block
hl_b2b_priceswith fields:
| Field | Type | Purpose |
|---|---|---|
UF_CONTRAGENT_ID |
Number | Counterparty ID |
UF_PRODUCT_XML_ID |
String | Product XML_ID (1C matching) |
UF_PRICE |
Number | Unit price (ton/liter/kg) |
UF_CURRENCY |
String | BYN / RUB / USD |
UF_MIN_VOLUME |
Number | Minimum order volume |
UF_VALID_FROM |
Date | Effective start |
UF_VALID_TO |
Date | Effective end |
UF_UPDATED_AT |
DateTime | Last sync time |
- When authorized user enters catalog — component substitutes prices from
hl_b2b_pricesinstead of public prices. Unauthorized visitor sees "Price on request".
1C:Enterprise Synchronization:
Exchange built on sale module (CommerceML protocol) with significant enhancements. Standard catalog exchange covers nomenclature and base prices. For B2B portal, additions include:
- Personal Price Export — custom 1C handler formats XML with counterparty prices, uploads via HTTP service to Highload-block.
-
Storage Inventory Export — not consolidated inventory but detailed by grain elevators and warehouses. Field
UF_STORAGE_IDin inventory Highload-block links volume to specific storage point. -
Settlement Export — balance, unclosed invoices, overdue receivables. Data goes to Highload-block
hl_b2b_settlementsdisplayed in counterparty dashboard. - Order Upload to 1C — when order placed on site, data sent to 1C as "Customer Order". 1C REST service accepts JSON, creates document, returns number.
Exchange schedule: inventory every 30 minutes (agent CAgentB2BStockSync), prices once daily at night, settlements daily, orders real-time via HTTP request.
Document Management:
In dashboard, counterparty sees contracts, specifications, invoices, reconciliation acts. Documents stored in 1C, exported to site as PDF files linked to counterparty. Highload-block hl_b2b_documents with fields: document type, number, date, file, status (draft/signed/under review).
For legally significant document circulation — integration with EDI operator (Diadoc, SBIS) via their API. Bitrix acts as frontend: user sees incoming documents, signs with digital signature via browser plugin.
Procurement Request:
Request form: product selection from catalog, volume specification (minimum check), shipment warehouse selection, desired date, delivery basis (EXW/FCA/CPT per Incoterms). After submission — data goes to Bitrix CRM as lead or deal, simultaneously to 1C as customer order.
Harvest and Livestock Accounting
1C:Enterprise integration (configuration "1C:Agricultural Enterprise Management" or "1C:ERP Agro-Industrial Complex 2") allows displaying aggregated data on site:
- Gross harvest by crop for current season
- Yield by operation (c/ha)
- Livestock by type and age groups
- Milk production (for dairy farms)
This data is not published openly — available in closed section for management and investors. Output format — dashboard with charts (Chart.js) and tables, daily update.
Implementation Phases
| Phase | Content | Duration |
|---|---|---|
| Analytics | Business process audit, 1C → Bitrix data mapping | 2–3 weeks |
| Design | Information block structure, HL-blocks, API contracts for 1C | 2 weeks |
| Public Section | Catalog, map, seasonal content, responsive markup | 3–4 weeks |
| B2B Portal | Dashboard, prices, orders, document management | 5–6 weeks |
| 1C Integration | Catalog, prices, inventory, order exchange | 3–4 weeks |
| Testing | Functional, load, real data exchange verification | 2 weeks |
| Launch | Data migration, training, launch, monitoring | 1 week |
Hosting Technical Requirements
For B2B portal with 1C integration, VPS/dedicated server recommended: PHP 8.1+, MySQL 8.0 or MariaDB 10.6, minimum 4 GB RAM (memory usage grows with active 1C exchange), SSL certificate mandatory (commercial data transmitted), cron 1-minute interval for exchange agents.







