The Challenge
A manufacturer of custom doors, drawer fronts, and cabinet components sells its products through an established network of distributors and dealers. Its products offer extensive configuration options, allowing customers to specify everything from materials and finishes to profiles, dimensions, and other manufacturing details.
Historically, dealers relied on traditional ordering channels or specialized design tools to develop and submit orders. While those tools served particular purposes, there was an opportunity to provide a more direct and accessible way for dealers to work with the manufacturer’s catalog, configure products, obtain pricing, and place orders.
The complexity of the product catalog made this more challenging than building a conventional ecommerce storefront. Every order must represent a valid product configuration, and pricing can vary by dealer and depend on the combination of options selected across an entire order.
The manufacturer already relied on an established warehouse management and ERP system to manage its customers, product catalog, pricing, and production orders. Any new ordering platform needed to work within that existing environment rather than introduce a competing product database or pricing system.
The goal was to give dealers greater independence and flexibility through a dedicated online ordering experience, while keeping the manufacturer’s existing systems and production workflows intact.
The Solution: A Custom Dealer Ordering Platform
Beginning in 2021, I designed and developed a custom web-based ordering application that connects directly to the manufacturer’s existing warehouse management and ERP system.
The application provides authenticated dealer accounts, a configurable product catalog, real-time pricing, quote management, and online order submission. Rather than maintain a separate catalog or pricing engine, it integrates with the ERP to retrieve current customer information, validate product configurations, calculate dealer-specific pricing, and submit completed orders.
The result is a purpose-built B2B ordering environment that accommodates the manufacturer’s product complexity while giving dealers control over much of the ordering process.
A Configurable Product Catalog
One of the most technically challenging aspects of the project was translating a highly configurable manufacturing catalog into an intuitive online ordering experience.
Products can have numerous features and options, with rules governing which combinations are compatible. Certain materials, finishes, profiles, and other selections may be mutually exclusive, while other options depend on selections made elsewhere in the configuration.
The portal imports the product catalog and its associated configuration rules from the ERP on a scheduled basis. These include products, features, available options, global order options, and exclusion rules.
When a dealer configures a product, the application uses those rules to present valid choices and prevent incompatible combinations from being selected.
The system also supports order-wide or “global” options that apply across multiple line items. Dealers can configure these settings once and apply them throughout an order, with additional validation to identify conflicting selections.
This makes it possible to manage complex orders containing multiple products without forcing dealers to configure every detail independently.
Real-Time Pricing and ERP Integration
Pricing was another important architectural consideration.
Because pricing is customer-specific and depends on the complete product configuration, maintaining a separate price list in the ordering application would introduce unnecessary complexity and the risk of discrepancies.
Instead, the application uses the ERP as the authoritative pricing source.
When a dealer requests pricing, the portal builds an XML request containing the configured products, selected options, quantities, and applicable order-wide settings. That request is sent to the ERP, which validates the configurations and returns dealer-specific pricing for each line item.
The application then presents the returned pricing alongside any validation errors or issues that need attention before the order can proceed.
This approach ensures that quotes reflect the same pricing rules used by the manufacturer’s internal systems, without duplicating the pricing logic in the web application.
The integration also handles customer information, shipping addresses, order validation, order submission, and order details. Submitted orders flow directly into the existing system, where they become part of the manufacturer’s established production and fulfillment process.
Quote Management and Dealer Self-Service
The portal gives dealers a consistent, self-service environment for working with the manufacturer’s product catalog. They can explore available products, configure options, obtain accurate pricing, and develop quotes at their own pace.
Dealers can:
- Browse the product catalog and view product imagery and configuration previews.
- Configure products and receive validation as they make selections.
- Request current, dealer-specific pricing.
- Save quotes and return to them later.
- Share quotes through links with other members of their organization.
- Print quotes with or without pricing.
- Create designer sub-accounts for additional users.
- Select shipping addresses associated with their account.
- Submit completed orders directly to the manufacturer.
- Review order history and check order status.
This gives dealers more control over the sales process, from initial product selection through final order submission, without requiring them to coordinate every step through the manufacturer’s order desk.
Payments and Financial Reconciliation
The platform initially supported orders placed on check or established payment terms. Credit card payments were added as a later phase of development.
The payment functionality has evolved considerably since its initial implementation. In late 2024, I rebuilt the card payment integration using HelcimPay.js, with card information tokenized in the browser so sensitive card data does not pass through or get stored on the application server.
Payments are associated with the manufacturer’s ERP order number to simplify reconciliation. The application also checks dealer payment eligibility against the terms maintained in the ERP, ensuring that the card payment option is presented only to eligible accounts.
As the system matured and real-world payment scenarios emerged, I added safeguards for duplicate charges, consecutive payment attempts, and payment reconciliation. A dedicated payment ledger and administrative lookup tools give customer service representatives a way to investigate payment attempts and resolve questions without relying solely on external payment records.
Card payment capabilities were introduced gradually, with the functionality eventually made available to all eligible dealers in 2026.
Tools for Customer Service and Administration
Although the portal is designed primarily for dealer self-service, internal staff also need visibility and tools to support the ordering process.
The application includes administrative capabilities for managing user accounts, resetting passwords, granting customer service access, and reviewing orders.
Customer service representatives have dedicated order views with pricing details and sorting capabilities that make it easier to work with complex orders and their global options.
Additional tools include payment attempt history and lookup functionality, providing staff with better visibility into transactions and reducing the effort required to investigate payment questions.
Technical Architecture
The application is built with Laravel and PHP, using MySQL for application data and a combination of server-rendered views and modern JavaScript components for the user interface.
The architecture has evolved over the life of the project:
- Laravel and PHP: Provide the application framework, authentication, business logic, and integration services.
- MySQL: Stores dealer accounts, quotes, application data, and supporting transaction records.
- Vue 3 and Pinia: Power the newer catalog and quote-building interface.
- HTMX: Supports dynamic interactions within the server-rendered application.
- XML-based ERP integration: Connects the portal to the manufacturer’s existing warehouse management system for customer information, addresses, configuration validation, pricing, and order submission.
- Scheduled catalog synchronization: Imports products, features, options, and configuration rules from the ERP nightly, with product images synchronized separately.
- HelcimPay.js: Provides tokenized credit card payments.
- SendGrid: Handles transactional order confirmations and internal notifications.
A dedicated API client and XML-building services handle communication with the ERP. Error handling and timeout management help keep the application responsive when the external system is slow or temporarily unavailable.
Development and testing are also isolated from the live ERP environment through a local Docker-based development setup and a mock API. This allows integration changes to be tested without sending development requests into the manufacturer’s production systems.
Continuous Development and Modernization
This project has been an ongoing development relationship rather than a one-time application build. Since its initial launch in September 2021, the platform has continued to evolve in response to operational needs, new functionality, and changes in the underlying technology.
Some of the more significant milestones include:
- 2021: Initial launch with product configuration, ERP pricing, order submission, and customer service notifications.
- 2022: Dealer order history and refinements to catalog synchronization.
- 2023: Additional dealer functionality, warranty replacement workflows, and a substantial revision to the product exclusion and configuration engine.
- 2024: Modernized ERP import processes, introduced a mock API for safer development, upgraded the Laravel framework, and rebuilt the credit card payment integration.
- 2025: Introduced a new Vue 3 catalog and quote interface, initially released to selected dealers using feature flags.
- 2026: Expanded card payments to all eligible dealers, added payment tracking and customer service tools, upgraded the application framework, and migrated the application to a modernized server environment.
The newer Vue interface was developed alongside the existing application rather than introduced as a disruptive replacement. Feature flags allowed selected dealers to use and evaluate the new experience before broader deployment.
This incremental approach has allowed the platform to modernize while continuing to serve an established dealer base.
Results and Business Impact
Since its initial launch in September 2021, the platform has become an established ordering channel for the manufacturer’s dealer network.
Current production figures illustrate the scale of the application:
- 24,000+ orders submitted through the portal.
- 26,600+ quotes created by dealers.
- 1,660+ user accounts across approximately 1,090 dealer and vendor organizations.
- 400+ dealer organizations placed at least one order in the most recent 12-month period.
- 522 products supported by the catalog.
- 11,500+ product features and 47,500+ configurable options managed through the application.
Beyond transaction volume, the platform provides several important benefits:
- Dealer empowerment: Provides dealers with direct access to the manufacturer’s catalog, configuration tools, and pricing.
- Greater flexibility: Allows dealers to develop, save, revise, and share quotes independently, without relying on traditional ordering channels.
- Product configuration accuracy: Applies manufacturing compatibility rules during the ordering process to help ensure submitted orders are valid.
- Direct ERP integration: Connects dealer activity directly to the manufacturer’s existing pricing and order-processing systems.
- Expanded accessibility: Makes the ordering process available through a dedicated web application, without requiring dealers to adopt specialized design software.
- Continued platform evolution: Provides a foundation for ongoing improvements to the dealer experience as the business and its product catalog evolve.
Conclusion
Building an online ordering system for a configurable manufacturing business requires a different approach than building a conventional ecommerce storefront.
The application must understand the relationships between products and options, account for customer-specific pricing, validate complex configurations, and integrate reliably with the systems responsible for production and fulfillment.
This project demonstrates how a custom application can extend an established warehouse management and ERP environment rather than replace it. By building a purpose-designed ordering layer around the manufacturer’s existing systems, the business gained a scalable self-service channel for its dealer network while preserving the operational infrastructure it already depended on.
What began as an initial ordering application in 2021 has developed into a substantial business platform that continues to support thousands of users and tens of thousands of quotes and orders.