Skip to content
Ultramar Labs
IndustriesResearched concept

Custom software for foodservice distributors

Connect the office, warehouse, route, and customer around the ERP you already run.

The operating cycle
  1. Order / exception
  2. Purchasing
  3. Receiving & put-away
  4. Picking (FEFO)
  5. Route & deliver
  6. Proof & returns
  7. Invoice & reporting
What we hear most often

Order exceptions by phone

Out-of-stocks and substitutions get handled in inboxes and calls.

Warehouse-to-route gaps

Picking, routing, and proof of delivery live in separate tools.

Thin customer visibility

Buyers can't self-serve order guides or delivery status.

Reporting by hand

Margin and service-level reporting is assembled manually.

Where the gaps usually appear

Where it usually breaks: an availability exception with no decision path, and delivery proof that never makes it back to the office.

RecordOrder guide & catch weightCustomer-specific pricing and variable weights handled by hand.
ApprovalAvailability exceptionSubstitutions and short-ships need a decision path, not a phone chain.
SystemERP ↔ WMS ↔ TMSA coordination layer is missing between systems that each work alone.
PeopleOrder desk · purchasing · warehouse · driverA customer request crosses four hands before it ships.

What Ultramar might do — no prebuilt vertical product

KeepYour ERP and warehouse management system.
ConnectOffice, warehouse, route, and customer.
ExtendA customer ordering portal and status view.
BuildThe missing exception or routing workflow — studied first, not assumed.
Capability demonstration · Fictional data

HVAC scheduling demo — a related routing pattern

Try a fictional HVAC request becoming a scheduled appointment. Its request-routing and customer-status pattern can be adapted to order exceptions; this example shows an HVAC appointment.

Try it yourself
Capability demonstration · Fictional data
Complete

Interactive example with fictional data. No live vendor accounts are connected here. For your business, we confirm software access and supported actions before building the workflow.

Northgate's tools — now connectedWebsite formGmailServiceTitanGoogle CalendarQuickBooksGroup textsnothing replaced · nothing retyped

Northgate HVAC · request #R-2207

You're scheduled.

  1. Request receivedNo cooling — rooftop unit, Building B
  2. Routed to dispatchPriority: emergency
  3. Being reviewedMarta, dispatch
  4. Time confirmedToday, 2:00 PM · technician Luis

Luis · today 2:00 PM

You’ll get a text when he’s on the way.

Live status

Without this, so far · illustrative

2 retypes3 calls~38 min

Three separate jobsThree separate invoicesNobody adds them up

Today: nobody spots it. Each visit is its own job in the field app and its own invoice in QuickBooks — the pattern only shows up if someone goes looking.

  1. Request submitted
  2. Qualified & routed
  3. Office reviews
  4. Appointment offered
  5. Confirmed & scheduled
  6. The pattern nobody was tracking

Third call on the same rooftop unit in five months — $2,840 in repairs against a $9,400 replacement. The system spotted it across jobs and invoices and drafted the quote; Marta sends it while the tech is still on site.

Now you drive: press each button yourself, playing both the customer and Northgate office.

Try it yourself →
What could change
  • A customer ordering portal with order guides
  • An exception & routing layer between office and warehouse
  • Delivery status and proof of delivery for customers
  • A reporting layer over your ERP and WMS

Not sure where to start? That's what the Working Session is for.

Bring the workflow that frustrates you most. Within 24 hours you get a written Brief with two or three concrete directions and our recommended first move.