Home>Our Work>Capital Jayco: B2B HVAC Digital Maturation on Shopify Plus

Capital Jayco: B2B HVAC Digital Maturation on Shopify Plus

From Integrating a Barcode Scanner to Crafting a B2B Ecosystem on Shopify Plus

Capital Jayco logo on a gradient blue to purple background with visible HVAC equipment.

PROJECT IN BRIEF

Client

Flag of Canada

Operation geography

Canada

Industry

Distribution

Market

Heating, Ventilation, and Air Conditioning

Services

Systems of record and data flows modeling

Data migration

QuickBooks Online Integration

React Native App Development

UX/UI design and implementation

Custom B2B functionality

Platforms

shopify plus logo


IN THE SPOTLIGHT

Capital Jayco

Capital Jayco was founded by Colo Jacob, an HVAC contractor. He saw his fellow tradespeople wasting hours battling fragmented suppliers, outdated tools, and inefficient processes.

"I believe contractors shouldn't have to fight their suppliers to do the job."

Colo Jacob
Colo Jacob
Founder of Capital Jayco

He wanted every HVAC contractor in Canada, whether a large franchise or a solo operator, to have access to speed, precision, and digital tools usually reserved for the giants.

THE CHALLENGE

Outgrowing a DIY B2B legacy stack

Colo and his team started with the tools they could manage themselves. They used a user-friendly but simple and disjointed stack. Their public face was a Webflow site that acted as a digital brochure with no real commerce power.

Their operations, however, lived in a legacy warehouse management tool called Inflow. It was clunky and data-poor, leaving Jayco with no true "master" for pricing, customers, or inventory. Information was dispersed, unorganized, and difficult to track.

But Inflow had one undeniable advantage: it talked to barcode scanners used to insert serial numbers.

Why was it critical for Jayco?

HVAC warranties are tied to individual serial numbers, not just general product models. If a complex unit fails, Jayco must be able to track the exact serial number of the parent unit or its sub-components to honor the claim.

Given their order volume, having warehouse staff manually type complex alphanumeric codes guarantees inefficiency and human errors that could cost Jayco thousands in voided warranties.

THE MIGRATION DILEMMA

Upgrading the platform, breaking the warehouse

Colo knew they couldn't scale with such a basic and disorganized stack. So he decided to migrate to Shopify Plus and make it the single source of truth for customers, pricing, and orders.

It was the right move for the business, but it created one immediate operational issue.

While Shopify was superior in every other way, it didn't natively support Jayco’s exact workflow: using barcode scanners to assign serial numbers to individual order lines.

What it means in practice

They upgraded their brain but paralyzed their hands. Instead of a simple "scan and go" workflow, warehouse staff would have to stop, read serial numbers, and type them into Shopify by hand.

THE TIP OF THE ICEBERG

Integrating a barcode scanner with Shopify Plus

In late December 2025, we received a ping from Shopify, introducing us to Colo and his seemingly simple request: build the bridge that would let the new system perform that one simple yet critical task.

"Make a Socket Mobile S720 2D scanner talk to my new Shopify store so my warehouse team can avoid manually typing in serial numbers."

Colo Jacob
Colo Jacob
Founder of Capital Jayco

We made an assumption: if it works in a browser, it will work in a browser on any operating system

Our R&D Lead and Front-End Architect, Maksim Huretsky, picked up the scanner and built a Proof of Concept prototype - a web app that connects the scanner to Shopify. Then we sent it to Jayco, confident in our delivery.

“I tested it on a Windows laptop. The app in the browser talked to the scanner, the scanner talked to Shopify. It was working.”

Maksim Huretski
Maksim Huretski
Front-End architect at Amitech Group

We hit a wall we hadn't seen coming. While Windows allows browsers to communicate with local hardware relatively freely, iOS security protocols and sandboxing block the browser from seeing the scanner entirely.

"I open the app in my browser, but the scanner won't connect!"

Colo Jacob
Colo Jacob
Founder of Capital Jayco

We couldn't ask Apple to lower their security standards, so we had to get creative.

To bypass the browser’s limitations, we built an iOS app, Jayco Warehouse App, using React Native. It embedded the Shopify Admin interface and had the privileges to "shake hands" with the scanner.

Additionally, in this app, the Jayco staff could:

• See unfulfilled orders

• Fulfill orders per order line

• Assign one or more serial numbers to each order line

Then, we engineered a data flow to make the scanned serial number also be injected directly into the final, tax-compliant QuickBooks PDF invoice, ensuring an accurate paper trail for the buyer.

What it means in practice

When fulfilling the order, the warehouse team could scan boxes with the scanner connected to an iPad to insert serial numbers in the order custom metafield in their Shopify Admin. The same serial number would appear in the customer account and invoices.

a diagram of custom React Native app developed for Capital Jayco Warehouse App

Capital Jayco Warehouse App Diagram

We had solved the hardware puzzle. But in doing so, we uncovered a much larger operational gap.

THE REAL CHALLENGE

Building HVAC specific B2B architecture

PHASE 1

Enhancing Shopify B2B Accounts with warranty functionality

Jayco could now easily insert serial numbers into orders for warranty claims. But while Shopify’s native B2B customer accounts are excellent for refunds or returns, they don’t handle warranty claims out of the box.

We had to build this custom functionality from scratch and insert it into the Shopify customer portal. 

Just like that, we went from integrating a 2D scanner to building a post-purchase service platform. And we were still scratching the surface.

What it means in practice

A warehouse worker scans a unit, assigning serial numbers to specific order line items. When a client logs into their portal months or years later, they don't just see "Air Conditioner." They see the exact unit they bought. They can select that specific serial number and click "Claim Warranty," triggering a flow that validates the claim against the purchase date.

box icon
PHASE 2

Data migration of historical orders for warranty claims

While customizing the customer accounts, Colo emphasized that a B2B warranty isn't a standard B2C return. In the HVAC world, a contractor might need to claim a warranty on a heat pump they bought two years ago.

This meant we had to perform a massive historical migration, pulling years of order data from their Inflow and injecting it into Shopify. Here we ran into another issue.

“Jayco’s data was fragmented, with no single source of truth. Customer details lived in one place, inventory in another.”

 Dmitry Bogdanov
Dmitry Bogdanov
CEO and founder of Amitech Group

Before executing data migration, we had to clean, structure, and unify this data, effectively rewriting their digital history so that it could be digested by Shopify.

What it means in practice

A customer enters the new Shopify portal on launch day and sees their full history of orders with an option to submit a warranty claim even if the order was placed years ago.

arrow down icon
PHASE 3

Accounting for nuances of B2B warranty returns

Neck deep in the warranty logic, we had to account for another specific B2B reality: the customers don’t always return exactly what they bought.

If a client buys a massive industrial rooftop unit, they aren't going to ship the whole thing back because a valve failed. They need to claim a warranty just on that valve. That valve is not a real product. It’s a sub-component inside the main unit, but it’s not sold separately on Shopify. It has no SKU, no price, and no page.

To solve this without bloating the storefront catalog, we leveraged Shopify's 'List of Products' metafields. We mapped unlisted sub-components to the parent product, allowing the system to understand the complex hierarchy.

This saved Jayco from the nightmare of replacing entire units for minor failures.

What it means in practice

A client can select the main unit, drill down into its sub-components, and file a claim for a part that doesn't exist on the storefront.

ERP INTEGRATION

Making Quickbooks Online B2B ready

With the products and history in place, we were closer to the true scope of the project.

In the B2C world, a transaction is simple: you pay, you get a receipt, you’re done. In the B2B world, a "purchase" is just one move in a long game of credit limits, Net-30 terms, and offline settlements.

“Make the digital experience mirror my financial reality. If my client mails me a check, I want the online credit limit to reflect that in Shopify.”

Colo Jacob
Colo Jacob
Founder of Capital Jayco

The problem was that the existing QuickBooks Online Shopify integration was missing core B2B logic distributors needed to operate.

Built for retail, where data mostly flows one way (Shopify to QuickBooks), it couldn't handle critical complexities that define Jayco's business:

Bidirectional SyncKeeping Paper Trail"Out of Stock" Handling
Bidirectional SyncKeeping Paper Trail"Out of Stock" Handling
Description

Clients often pay via wire transfer or physical check. These payments are recorded directly in QuickBooks, not in Shopify.

B2B buyers need a tax-compliant, official invoice for their own audits, not just a Shopify order confirmation email.

In retail, if a product is out of stock, the client can't buy. In B2B, that’s impossible because contractors plan projects months in advance.

The Risk

The native integration didn't listen for these offline payments. If a customer paid an invoice via check on Tuesday, Shopify still saw them as "maxed out" on Wednesday and blocked their orders.

If the portal didn't provide this, Jayco’s team would be buried under hundreds of emails asking for a PDF.

If Shopify blocked a purchase because inventory was zero, Jayco could lose the project to a competitor who accepted backorders

The Solution

Custom integration: It watches QuickBooks for any payment activity and instantly releases the "Available Credit" in Shopify.

Invoice linksA fetch system that grabs the official PDF from QuickBooks, complete with tax codes and branding, and pulls it back into the Shopify Customer Portal.

Draft Orders: Overriding the default logic to create a "Draft Order" flow for out-of-stock items that get pulled to Quickbooks only when the order is finalized, creating the invoice and reflecting the credit limit.

diagram of Amitech group custom integration for Shopify Plus and QuickBooks online that fully supports B2B operations.

The diagram of the QuickBooks integration and data flows

To deliver these solutions, we had to abandon the native integration app and architect a custom middleware on AWS Lambda. It calculates real-time credit limits, syncs offline payments, and ensures that Shopify (the operational truth) and QuickBooks (the financial truth) are never out of step.

UX improvements for B2B buyers

In B2B, friction isn't just annoying, it costs time.

To make the background logic actually improve B2B buyer experience, we extended Shopify Customer Account with a section that shows payment terms, credit limit, and remaining credit.

In addition, we built a custom Checkout UI extension that accounts for available credit. If a buyer is maxed out, the system automatically hides the “Pay by Invoice” option, forcing them to settle via credit card to proceed.

When the financial and warranty systems were robust enough to handle the business, we turned our attention to other problems that plagued the old workflow and solved them with custom logic.

worker icon
Pickup Delegate
If a driver showed up at the warehouse and their name wasn't on the order, the warehouse team had to freeze the process, call the office, and verify identity.
The Fix
A custom "Pickup Delegate" field in the checkout. The buyer simply types in the name and phone number of the person collecting the goods. The warehouse sees this, verifies the ID, and loads the truck.
magnifying glass icon
Search by Purchase Order
Because Shopify identifies orders by its own system ID, a client searching for "PO-Project-Alpha" would not find anything and would have to go through orders manually to find the match.
The Fix
Improved the native search logic in the Customer Portal. Now, the search bar indexes the client’s custom PO number. Buyers can type in their reference code and instantly find their order.

HVAC-tailored taxonomy and custom product configurator

While the backend was complex and comprehensive, the storefront had to remain simple and familiar. Jayco liked the look of their original Webflow site but it was just pictures on a screen.

Using it as a headless frontend wasn't viable because it would require robust server-side rendering. So, we rebuilt the site from scratch using an empty Shopify Liquid theme and trying to closely match their brand identity.

We also collaborated with the Jayco team to understand how their clients actually buy to create a brand new taxonomy with five logical pillars:

• Wall

• Units

• Central Systems

• Consumables

• Thermostats

Colo didn't realize how complex some of his products were until we tried to digitize them. Some products could only be sold individually. Some - could be sold separately or only within a bundle. Others had such complex product relationships that they essentially required a Custom Product Configurator with the Conditional Product Logic.

What it means in practice

If a user selects a specific 3-ton outdoor heat pump, the system automatically filters the indoor units to show only the compatible matches. We encoded the expertise of a sales rep directly into the interface.

Moreover, HVAC units are technical machines with complex installation requirements. If installers arrive at a job site and realize they do not have the wiring diagram or the spec sheet, work stops.

To solve this, we customized the Product Detail Pages to include downloadable brochures and technical specifications.

Change management and team training

Capital Jayco is a distributor. They do not have an eCommerce department or a content team. So we couldn't just hand over the keys and walk away. We had to teach them how to operate their new system

We created comprehensive guidelines, manuals, and instructional workflows. We taught them how to write product descriptions, how to tag images for SEO, and how to manage the new "master data" in Shopify.

“We treat every migration as a change in how the business operates, not just a stack switch.”

 Dmitry Bogdanov
Dmitry Bogdanov
CEO and founder of Amitech Group

Completing a full-scale B2B digital transformation

Capital Jayco project delivery timeline. Kickoff in early January 2026, launch on February 27, 2026

On February 27, 2026, after less than two months, Capital Jayco went live. What started as a barcode scanner integration, became a full-scale B2B digital transformation.
dice icon 1
External Wins

Complete Digital Experience: A static brochure site was transformed into a fully transactional B2B ecosystem.


Buyer Adoption: The vast majority of orders are now placed directly through the self-service storefront.


Safe Landing: The company successfully executed a massive architectural migration with zero revenue drops or operational downtime.

    dice icon 2
    Internal Wins

    +20%

    Increase in Total Orders

    +8%

    Gross Sales Growth

    With the launch of his new Shopify Plus-powered site, Colo Jacob provided every HVAC contractor in Canada, whether a large franchise or a solo operator, with access to the speed, precision, and digital tools usually reserved for the giants.

    Capital Jayco project. TL;DR

    Capital jayco project summarised in one image

    THE UNDERLYING INGREDIENTS

    Project duration

    2 months

    Tech stack

    AWS Lambda

    React Native

    Shopify Liquid

    GraphQL

    Team composition

    Frontend Architect

    Frontend Developer

    Backend Developer

    Product Owner

    Last updated: March 23, 2026

    Let’s build something great together!

    Drop us a line and we will contact you to shape our path forward

    Drag & drop or

    Max. files: 3

    Max. file size: 10 MB

    By clicking Submit, you acknowledge that you’ve read and agreed with our Privacy Policy

    EXPLORE MORE IN THIS CATEGORY

    Sit back & eCommerce

    Contact us

    +48 789 798 356

    info@amitechgrp.com

    Poland, Wrocław

    Świętego Antoniego 2/4

    Services

    Copyright © 2025 Amitech Group

    Copyright © 2025 Amitech Group