B2B Personal Account Development on 1C-Bitrix

B2B Personal Account Development on 1C-Bitrix We specialize in building B2B cabinets on 1C-Bitrix. Our experience spans dozens of projects with non-standard role logic, approvals, and integrations. Picture this: a corporate client logs into the cabinet but cannot find an order within two minutes,

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    995
  • 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
    733
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    862
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1134

B2B Personal Account Development on 1C-Bitrix

We specialize in building B2B cabinets on 1C-Bitrix. Our experience spans dozens of projects with non-standard role logic, approvals, and integrations. Picture this: a corporate client logs into the cabinet but cannot find an order within two minutes, download an invoice, or check their credit limit. Instead, they call the manager. Such calls are a failure metric. We eliminate the root cause: we design the cabinet so that business processes run without employee distraction. We cut those calls by 50% — direct savings of your managers' time.

In 12–20 weeks, we deliver a turnkey cabinet where each employee sees only their tasks, orders are created from the legal entity, and documents from 1C are pulled automatically. Get your project assessed free — contact us.

How Role Management Works

The central entity is Company, linked to Bitrix users via a Highload-block b2b_company_users. Fields: UF_COMPANY_ID, UF_USER_ID, UF_ROLE, UF_ACTIVE, UF_CREATED_AT.

Roles are defined as constants in a module:

  • ROLE_OWNER — full rights, manages employees and company details
  • ROLE_BUYER — creates and views company orders
  • ROLE_ACCOUNTANT — documents and finances only, no order creation
  • ROLE_VIEWER — view history only

Inviting an employee: the owner enters an email → a token is generated → an email is sent via CEvent::Send with template B2B_COMPANY_INVITE → the link creates (or links) a Bitrix user → a record is added to b2b_company_users.

What is Needed Beyond Standard Orders

List of company orders, not user orders — CSaleOrder::GetList with filter by UF_COMPANY_ID (custom order field). Filter by status, date, manager. Search by order number and SKU via CSaleBasket::GetList with a subsequent JOIN.

Approval statuses: we add custom ones (APPROVAL_PENDING, APPROVED, REJECTED) to b_sale_status. Transitions are handled in OnSaleStatusOrderChange handlers with notifications via CEvent::Send. Order comments — via Highload-block order_comments with fields UF_ORDER_ID, UF_USER_ID, UF_TEXT, UF_CREATED_AT, UF_IS_INTERNAL (for internal notes).

Why 1C Integration is Critical

Documents from 1C are a key value. The scheme:

  1. In 1C, set up an HTTP service or regular XML export via CommerceML.
  2. A Bitrix agent (CAgent::AddAgent) polls the service every 2–4 hours.
  3. Results are stored in the Highload-block b2b_documents: UF_COMPANY_ID, UF_DOC_TYPE (invoice, waybill, reconciliation), UF_NUMBER, UF_DATE, UF_AMOUNT, UF_FILE_ID (or UF_EXTERNAL_URL).
  4. In the cabinet — a list with filters, PDF download.

If 1C provides PDFs directly — we cache them in /upload/b2b/docs/{company_id}/ named by document number. If only metadata — on click we make a request to 1C and stream the file via PHP without saving to disk (saves space).

Financial Summary

The "Finance" block on the dashboard: current credit limit and used amount (progress bar), overdue debt with date, monthly order total. Source — Highload-block b2b_credit_status, synced from 1C. If data is older than 6 hours — a warning "Data is being updated". If overdue exceeds a threshold — a banner in the header and the "Create order" button is blocked.

Notifications

Two channels:

  • Email: mail events (CEventType, CEvent) B2B_ORDER_CREATED, B2B_ORDER_STATUS_CHANGED, B2B_ORDER_APPROVED, B2B_DOCUMENT_READY. Templates are editable in the control panel.
  • Internal: unread counter in the cabinet via Highload-block b2b_notifications (UF_USER_ID, UF_TYPE, UF_TEXT, UF_LINK, UF_IS_READ, UF_CREATED_AT). AJAX every 30 seconds or WebSocket (pull module).

Comparison: Custom vs Standard Cabinet

Criteria Standard Custom
Order search Up to 5 seconds Up to 1 second (3x faster)
Role management Not present 4 roles with flexible permissions
Documents from 1C Not supported Automatic pull
Approval No Custom statuses and notifications

A custom cabinet cuts order creation time threefold — that's dozens of hours saved per month for your clients.

What is Included in the Work

  • Audit of current business processes and requirements.
  • Architecture design for roles and entities (Company, Highload-blocks).
  • Development of components for order and document management.
  • Integration with 1C via CommerceML or REST.
  • Setup of notifications (email + internal).
  • Testing on real scenarios.
  • Handover of documentation and administrator training.

We are certified 1C-Bitrix partners, guaranteeing deadlines and full transparency. Contact us for a project assessment — we will prepare a custom proposal.

Timelines

Block Duration
Role and company architecture 2–3 weeks
Company order management 2–3 weeks
Documents and 1C integration 2–4 weeks
Financial block 1–2 weeks
Order approval 2–3 weeks
Notifications 1–2 weeks
Testing 2–3 weeks

Total: 12–20 weeks. Less if a ready-made framework is used. More if non-standard approval logic or complex 1C exchange is needed.