Imagine: a dealer comes to your site, enters a part number — and the stock doesn't match what's in the warehouse. Or they search for a part by three parameters, and the filter returns '0 results'. A typical scenario for manufacturing portals where the catalog has tens of thousands of SKUs, and prices and availability change daily. Without proper architecture, such a portal becomes a static showcase, useless for B2B sales. We develop corporate portals for industrial enterprises from scratch: from process audit to commissioning. Implementing such a portal reduces the load on the sales department — order processing time is cut by 30–40%, and the number of document errors is halved.
What problems does a corporate portal solve?
The main pain point is scattered data: prices in Excel, stock in 1C, orders by email. Dealers spend hours on phone clarifications. The portal automates typical requests: search by specifications, generation of commercial offers, shipment tracking. Managers' time savings reach 40%.
Technical product catalog
Industrial enterprise products have a complex structure:
- Category hierarchy (often 3–5 levels)
- Technical specifications (up to 100 attributes for complex equipment)
- CAD files, drawings, passports
- Certificates of conformity (GOST, TU, ISO)
- Analogues and compatible products
Faceted search by specifications is a key tool for technical specialists. We use Elasticsearch with dynamic facets. Comparison: Elasticsearch processes filtering by 50 attributes 5 times faster than MySQL with indexes.
Dealer/partner personal account
- Individual price list (discount or markup on base prices)
- Real-time warehouse stock
- Quick order by part numbers (bulk-input: list of part numbers + quantities)
- Order history, statuses, shipment tracking
- Invoices, waybills, certificates in PDF
- Marketing materials (brochures, 3D models, images)
Integration with 1C:UPP / ERP
1C:Manufacturing Enterprise Management is a typical accounting system. We implement two-way synchronization:
- Product catalog (part numbers, specifications, prices, stock) → portal
- Orders from portal → 1C for production planning
- Status updates → portal for dealer
For enterprises using SAP, integration is available via SAP BAPIs or OData API.
How we implement 1C integration:
- Analyze the data structure and 1C configuration.
- Develop an API for two-way synchronization.
- Set up order processing and statuses.
Integration methods table:
| Method |
Synchronization |
Complexity |
| Via XML/CommerceML files |
Nightly or scheduled |
Low |
| Via REST API |
Real-time |
Medium |
| Via SAP BAPIs/OData |
Real-time |
High |
Why is ERP integration important?
Without it, the portal is just a storefront. Data becomes outdated within an hour, dealers see irrelevant stock, orders get lost. Integration with 1C or SAP automates the end-to-end process: from request to shipment. This reduces the order cycle by 30%.
Product configurator
For customizable products (made-to-order equipment) — an online configurator: parameter selection (power, configuration, options) → automatic generation of technical specifications and estimated cost → request for quotation. Inquiry processing times are reduced from days to hours.
How is portal technical support organized?
Product technical support is not just a feedback form. The partner account includes:
- Creating technical requests (installation questions, claims)
- Access to the technical knowledge base
- Chat with a support engineer
What is included in the work
- Full architecture design (backend, frontend, infrastructure)
- Catalog development with faceted search
- Personal account with individual prices and stock
- Integration with accounting system (1C, SAP)
- Product configurator (if needed)
- API documentation and administrator guide
- Employee training and access transfer
- Warranty support after launch
Timeline
Technical catalog with B2B functions and basic 1C integration: 3–4 months. Full portal with configurator, dealer network, deep ERP integration: 5–8 months.
Additional hosting comparison table:
| Parameter |
VDS (4 vCPU, 8GB RAM) |
Dedicated server (8 vCPU, 32GB RAM) |
| Base CMS |
up to 10,000 visitors/day |
up to 100,000 visitors/day |
| Price |
from 2,000 ₽/month |
from 10,000 ₽/month |
Typical mistakes in portal development
- Unaccounted real-time stock synchronization — dealer sees outdated data.
- Lack of search for non-standard specifications — users cannot find the right part.
- Complicated registration in the personal account — partners have to wait for email confirmation.
We have been working with industrial portals for over 10 years and have implemented more than 50 projects. Get a consultation for your project — we will estimate timelines and select a technological solution. Contact us to discuss the details.
Development of Corporate Portals and Internal Systems
We specialize in developing corporate portals — CRM, ERP, LMS, and Intranet. Each project starts not with landing page layout, but with how business rules will be embedded into the architecture: who sees which data, how 1C and accounting systems sync, how 500 contacts turn into 500,000 without performance degradation. Over 7 years, we have delivered over 40 portals for companies with 50 to 5000 employees. We will evaluate your project in two business days — just contact us.
A public website can be launched without detailed design — iteratively improved based on feedback. With a corporate portal, this approach does not work: the cost of fixing architectural decisions after launch for 200 users is incomparably higher. Therefore, we spend 70% of our time on analysis and prototyping, and write code only after the role matrix and integration scheme are approved.
Three areas where bad decisions are often made: access rights model, performance on large data, and real-time updates.
How to build a role model for 30 departments?
Access rights model. "A manager sees only their own clients, a department head sees the entire department, a director sees the whole company, but financial data is visible only to the CFO and above." This is not three roles — it's a matrix of roles, permissions, organizational units, and record ownership. Implementing it with if ($user->role === 'manager') in controllers will make the code unmaintainable after six months.
The correct approach: Spatie Laravel Permission for basic role model + Policy classes for object-level permission (can('view', $deal) checks not only the role but also ownership). For complex hierarchical structures — ABAC (Attribute-Based Access Control) instead of RBAC.
Performance on large data. CRM with 500,000 contacts, filtering by 10 fields, sorting by activity — a naive implementation yields 15-second queries. Composite indexes, denormalization of aggregates (last_activity_at on the record itself instead of MAX over related table), Elasticsearch for full-text search on contacts.
Real-time updates. Multiple employees working on the same document or task. Without WebSocket — constant setInterval with polling every 5 seconds, extra server load, update delays. Laravel Broadcasting + Pusher/Soketi or a custom WebSocket server on Node.js — for notifications and real-time changes.
CRM Systems
Typical set: contacts, companies, deals, activities, sales funnel, reports. Technically straightforward. The complexity lies in the details.
Pipeline with custom stages. Every company wants its own funnel. Stages must be configurable without deployment. Table pipeline_stages with position, color, is_final, probability — and drag-and-drop for reordering on UI (React DnD or dnd-kit).
Change history. Who and when changed a deal status, reassigned a responsible person, added a note. Audit log via Observer or spatie/laravel-activitylog. On UI — timeline with filtering by activity type.
Email integration. IMAP/SMTP for connecting corporate mailbox, automatic linking of incoming emails to contacts by email address. This works reliably only with proper handling of bounces, spam, auto-replies — filtering is required.
Why is ERP not about code but about data?
ERP is when CRM, warehouse, production, accounting, and HR are unified into a single system. Full ERP from scratch is rare (usually integrating with existing systems), but modular systems for specific businesses are common.
Key principle: financial operations must be immutable. Not UPDATE orders SET status = 'cancelled' — but creating a new record order_cancellations with a reference to the original order. This is the immutable ledger principle, which simplifies auditing and reconciliation.
Integration with 1C is almost always part of an ERP project. Two-way synchronization: from 1C to portal (directories, balances, prices) and from portal to 1C (orders, documents). RabbitMQ as an event bus between systems is more reliable than direct HTTP interaction — if 1C is unavailable, messages wait in the queue.
How are LMS structured: learning platforms?
Learning Management System — courses, modules, lessons, tests, certificates, user progress.
Video content is the most demanding part of an LMS. Storing video on your own server and serving via Nginx is a bad idea: expensive, slow, no adaptive bitrate. Correct approach: upload to S3/Cloudflare R2, transcode via AWS Elemental MediaConvert or Mux, HLS playlist for adaptive streaming via Video.js or Plyr.
Viewing progress — periodic sending of watch_position from the frontend (every 10–30 seconds), storage in Redis with periodic synchronization to PostgreSQL. Do not save every second to the database — it will kill performance.
SCORM compatibility — if integration with corporate training materials is needed. Separate module, there are ready libraries (scorm-again).
Intranet and HR Portals
Corporate intranet: news, documents, organizational structure, HR processes (vacations, requests, KPIs).
Organizational structure in the database is a hierarchical structure. Adjacency list (parent_id on each record) is simple to implement but slow for recursive queries. Nested Sets or Closure Table are faster for reading hierarchies, more complex for changes. In PostgreSQL — recursive CTEs (WITH RECURSIVE) with adjacency list — a balance between simplicity and performance.
Document and request approval — workflow engine. Simple linear approvals (employee → manager → HR → accountant) can be done without a special engine. Non-linear (parallel branches, conditional transitions, delegation) — consider ready solutions: Temporal.io for workflow orchestration or a custom state machine based on the state-machine pattern.
What is included in the work
When ordering a corporate portal development, you receive:
- Architectural documentation (ER diagrams, integration scheme, role matrix)
- Full code in a Git repository with CI/CD
- Access to infrastructure (hosting, databases, storage)
- Training for administrators and key users (2–3 sessions)
- Warranty support for 3 months after launch
Our design principles rely on official Laravel documentation on authorization (Policies) and recommendations for working with queues.
Technical Stack for Portals
| Layer |
Tools |
| Backend |
Laravel + PostgreSQL |
| Frontend |
React + TypeScript (Inertia.js or separate SPA) |
| Real-time |
Laravel Echo + Soketi / Pusher |
| Search |
Meilisearch (quick start) or Elasticsearch (volume) |
| Queues |
Laravel Queue + Redis |
| Files |
S3-compatible (MinIO self-hosted or AWS S3) |
| Monitoring |
Sentry + Telescope (dev) |
Timeline Estimates
| Portal Type |
Timeline |
| CRM (basic) |
10–16 weeks |
| LMS (courses + video + tests) |
14–22 weeks |
| HR Portal (vacations, KPIs, org structure) |
12–20 weeks |
| Corporate ERP (modular) |
24–52 weeks |
The cost is calculated individually after a detailed analysis of requirements and role model. To get a preliminary estimate, contact us — we will analyze your task and offer an optimal turnkey solution.