Developing an agricultural enterprise 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

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:

  1. 1C generates price list for specific counterparty considering contract terms, discounts, logistics leg.
  2. Price exported to Highload-block hl_b2b_prices with 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
  1. When authorized user enters catalog — component substitutes prices from hl_b2b_prices instead 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_ID in inventory Highload-block links volume to specific storage point.
  • Settlement Export — balance, unclosed invoices, overdue receivables. Data goes to Highload-block hl_b2b_settlements displayed 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.