A mid-market textile distributor.

Heritage Fabrics sells decorator fabric by the yard. Master rolls arrive from mills, get cut to customer order — sometimes a 6-yard piece for a designer, sometimes a 60-yard piece for a retail upholsterer — and ship LTL on pallets to addresses across the U.S.

Heritage runs on Acumatica Cloud for ERP and HubSpot Enterprise for CRM. Their catalog spans thousands of SKUs across dozens of fabric collections. Every roll carries a dye lot, and customer reorders frequently specify the same lot so the second cushion matches the first. Get that wrong, it comes back.

Knowledge that walked out at 5pm.

Before Bolt, Heritage's warehouse operation ran on a fifteen-year-old desktop WMS that couldn't run on mobile, a spreadsheet that tracked which rolls were partial, an allocation whiteboard in the supervisor's office, and an institutional memory of who-knows-what lived in the heads of the three longest-tenured warehouse staff.

✕  Before Bolt

Allocation was a whiteboard. Customer service agents called the warehouse to check availability. Warehouse checked the spreadsheet. By the time the agent confirmed, the inventory might already be committed.

✓  With Bolt

Allocation happens automatically. A sales order enters Acumatica, Bolt assigns specific rolls based on availability and dye-lot match, CS agents see real-time availability in their HubSpot-embedded order entry portal.

✕  Before Bolt

No mobile workflow. Receiving, putaway, picking happened on paper tickets that walked between the office and the warehouse floor. Data entry happened after the fact, sometimes hours later.

✓  With Bolt

Every event is live. Keyence scanners update inventory in real time on every scan. Works offline, auto-syncs when connectivity returns.

✕  Before Bolt

Dye-lot matching was manual. Matching a customer's reorder to the same dye lot meant digging through filing cabinets of receiving records. Mismatches led to returns.

✓  With Bolt

Dye-lot match is automatic. Every roll carries lot identity through every subdivision. Allocation picks from the same lot when available, flags when it isn't.

The whiteboard is gone.

Heritage used to do "Sunday afternoon allocation" — the warehouse supervisor came in on a Sunday, pulled up Monday's open orders, walked the floor, and hand-assigned rolls to orders on a whiteboard. Monday's pick lists were generated from the whiteboard. Wednesday, the whiteboard got re-walked.

With Bolt, allocation runs every time an order enters Acumatica. The auto-allocation engine evaluates available rolls by SKU, dye lot, warehouse location, and remainder size, then assigns specific rolls to the order. Customer service agents see real-time availability in the Bolt Order Entry portal — which is embedded directly in HubSpot, so they never leave the CRM to check stock.

What actually changed on the floor

The Sunday afternoon session stopped. The supervisor got his weekends back. Monday mornings start with the pick list already built. New orders entered at 10am are ready to pick by 10:02.

Paper tickets, retired.

Heritage issues Keyence BT-A700 scanners — ruggedized Android devices with a physical barcode trigger — to every warehouse staff member. The Bolt mobile app runs twelve screens covering receiving, putaway, picking, packing, inspection, and cycle counting.

The app is offline-first. Heritage's warehouse has a handful of dead spots where the wifi drops out — between certain high aisles, next to the receiving dock door. The app records every transaction locally and auto-syncs when connectivity returns. Nobody has to remember to "come back up front" to update a ticket.

9:41 AM LTE · 84%
BOLT · Receive
Scan master roll
Scanned HR-DRP-4471
SKUHR-DRP-BRN-60
Width54 in
Length60.0 yd
Dye lotDL-4471
POPO-8823
CONFIRM RECEIPT

Receiving in thirty seconds.

One scan pulls PO details, SKU, dye lot, and expected quantity. Confirm, and the roll is in inventory — allocated automatically if a waiting order matches.

Twelve screens, same pattern. Receiving, putaway, cut, pick, pack, ship, inspect, count. English and Spanish. Works when the wifi doesn't.

Lot identity through every transaction.

Every roll in Bolt carries its dye lot, mill lot, receipt date, and warehouse location. A cut-to-order operation on a 60-yard roll that takes 15 yards automatically creates a 45-yard remainder with the same dye lot, the same receipt date, the same location. The remainder is a first-class inventory record — on the next pick list, visible to allocation, available to CS agents.

Dye-lot matching during allocation is automatic. If a customer is reordering HR-DRP-BRN-60 and we have lot DL-4471 in stock — the same lot as their first order — Bolt allocates from DL-4471. If we don't, Bolt flags it before the order ships so the CS agent can call the customer before the second cushion arrives in the wrong shade.

We tracked partial rolls with sticky notes for fifteen years. Bolt gave us real-time visibility into every foot of inventory on every roll in every warehouse.

Heritage Fabrics · Warehouse Operations

Eight carriers, one screen.

Heritage ships LTL daily. Before Bolt, carrier selection was a separate browser tab — usually whichever carrier the shipping clerk had used yesterday — and BOL generation happened in a third system. Rate shopping was a thing people said they were going to do and then didn't.

Bolt integrates eight LTL carriers with real-time rate quotes returned at the point of shipment. Freight class is calculated from product dimensions and weight. The shipping team selects the best rate, generates the BOL, prints the label, and confirms the shipment — one workflow, one screen.

LTL / RATE-SHOP · SHP-1984 live quote
Carrier Service Transit Rate
TForce FreightLTL Standard3 days$412.80
SaiaLTL Standard3 days$389.50
Southeastern FreightLTL Standard2 days$367.25 selected
Averitt ExpressLTL Standard3 days$398.10
EstesLTL Standard4 days$421.95
ODFLLTL Standard3 days$405.30
XPO LogisticsLTL Standard3 days$418.40
FedEx FreightLTL Priority2 days$445.70
Best rate: Southeastern Freight · $44.70 under default carrier · BOL auto-generates on selection

Reorder signals, not gut calls.

Bolt's Intelligence module classifies Heritage's entire catalog using ABC analysis, learns lead times from the actual receipt dates on historical POs (not the promised dates), calculates safety stock levels from seasonal demand patterns, and surfaces reorder signals weeks before stockout.

The daily DRP dashboard replaced what used to be a monthly "let's count everything" inventory review. Heritage's buying team now reorders from a ranked list of items approaching reorder point, not from their memory of what seemed to be selling lately.

SKU
HR-VEL-TCA-54
Velvet, Terracotta, 54"
ABC class
A
Top 8% of catalog by velocity
Learned lead time
47 days
vs. 30-day vendor promise
Reorder signal
REORDER
Safety stock breached in 11 days at current velocity

The signal above isn't a hypothetical. It's the kind of item that used to stock out at Heritage because the 30-day vendor lead time was what the PO form said, not what the mill actually delivered. Bolt learned the real number from Heritage's own PO history and now triggers reorders seventeen days earlier than the old rule would.

Cloud, independent, Acumatica-native.

Bolt runs as an independent cloud application on Railway, syncing bidirectionally with Heritage's Acumatica instance via the REST API. No middleware. No iPaaS. No separate integration platform to manage.

Stack

Mobile: Android app on Keyence BT-A700 scanners, with OTA updates delivered from Bolt's Mission Control.
Web: React dashboard for warehouse supervisors, CS agents, and buyers.
ERP sync: Acumatica REST API. Customers, products, SKUs, POs, shipments, receipts, allocations. Webhook + 15-minute cron. Max sync latency: 15 minutes.
CRM sync: HubSpot bidirectional via BullMQ workers. Contacts, companies, orders, tickets.
Printing: Cloud printing to Zebra label printers and a Konica multifunction via firewall-forwarded ports.
DAC extensions: Delivered as Acumatica Customization Projects via AcuOps CI/CD. Zero manual publish steps.

Uptime independence

Bolt is independent of Acumatica's uptime. If Heritage's Acumatica instance goes into maintenance, Bolt stays running — warehouse can keep receiving, picking, shipping — and the sync ledger catches up when Acumatica is back. The warehouse never stops because the ERP is down.

What's in production today.

SKUs under management1,700+
Warehouse staff on the mobile appEvery role in the warehouse
Mobile screens in production12
LTL carriers with live rate shopping8
Acumatica sync frequencyReal-time (webhook + 15-min cron)
Max Acumatica sync latency15 minutes
Deployment modelCloud (Railway)
Time from contract to first scanWeeks, not months
Acumatica customization deploys (all automatic via AcuOps)CI/CD

Heritage has been running on Bolt end-to-end since late 2025. Every cut, every receipt, every shipment goes through the system. The spreadsheet is archived. The whiteboard is a whiteboard again.