A CRM Built Around How an Engineer-to-Order Manufacturer Actually Sells

Company records showing ERP customer and vendor IDs, NAICS classification and account rating, alongside the rep dashboard

About the Client

Horizon Systems designs and builds bulk material handling and automated ingredient management systems from Lawrence, Kansas, with manufacturing and machining across five locations. Pneumatic conveying is the core of the business, alongside batching, mixing, weighing, storage, and the automation controls that run it all.

Their customers are food, pet food, plastics, and chemical manufacturers. Their own description of themselves is the most useful one: "an engineering company that manufactures." Every system is engineered for the plant it goes into, and that shapes how they sell.

The Challenge

Engineer-to-order selling does not fit a generic CRM. A deal is a long technical conversation across several people at a plant, the same customer is often also a vendor, and the account record has to line up with the ERP that runs the job. Off-the-shelf tools model a pipeline of transactions, not a relationship with a facility.

Four problems shaped the build:

  1. Duplicate records multiply quietly. Plants get entered twice under slightly different names, and a duplicate account means a rep calls a customer who already has a rep.
  2. The CRM and the ERP have to agree. If the account in the CRM cannot be tied to the customer and vendor records in the ERP, nobody trusts either one.
  3. Accounts need classification, not just contact details. Industry, NAICS code, account class, and rating are how this business decides where to spend sales time.
  4. Sales happens in the field. Reps cover territory geographically, so the system has to think in locations and routes, not just lists.

The Solution

Active Logic built a custom CRM shaped around the way Horizon sells, rather than bending their process to fit a product.

Deduplication by Geography

Rather than matching on company name, which fails the moment someone types "Inc." differently, the system uses location to recognise when a record already exists for a facility. Duplicates get caught at entry, when they are cheap to prevent.

Records That Match the ERP

Company records carry their customer and vendor identifiers, so an account in the CRM resolves to the same entity in the ERP that runs the job. Job history is visible from the account, which means the sales conversation starts from what was actually built.

Classification and Pipeline

Accounts are classified by industry, NAICS code, class, and rating, and opportunities roll up into pipeline and sales-history reporting. Territory mapping and route planning give field reps a view of their area rather than a list of names.

Built on Laravel with a Vue front end, including contact and opportunity management, document attachments, activity auditing, and role-based user administration.

The Outcome

The platform is in production, running Horizon's company and contact records, opportunity pipeline, field mapping, and sales reporting. It went from a starting point to a working system with a team of six senior engineers over roughly seven months.

7 mo To production
6 Senior U.S. engineers
500+ Commits to delivery

The measure of a CRM like this is not how many features it has. It is whether the sales team uses it instead of a spreadsheet, and whether the account you open matches the job the plant is actually running.

Generic CRM Not Fitting How You Sell?

Engineer-to-order, distributor channels, and ERP-linked accounts rarely fit an off-the-shelf tool. Tell us how your sales process actually works.