KozyOps / Products / Web back office
Web back office

The KozyOps web back office

The Angular 21 SPA your back office runs on. Onboarding wizard, customer dashboards, fuel routing, billing, branding, reports, all on one screen, role-gated server-side.

The screen your office runs on.

The web back office is a single Angular 21 SPA, deployed per dealer, that every office seat works inside. Dispatch, AR, the controller, the AP clerk, the parts manager, payroll, the GM, the owner. One database per tenant, one S3 bucket per tenant, feature flags per tenant. Eight server-enforced roles. A driver cannot see a ledger card because the API refuses, not because a menu hides it.

Start where every account starts

Account Search is the entry point. Search by name, phone, email, or account number. The system flags duplicates the moment you try to save one.

Quick Create Customer takes a name and a phone. The record is real after step one. From there the Onboarding Wizard layers everything else on in tabs: Service Location, Labels and Taxes and Promotions, Fuel Systems, Service, Holds, Credit Cards. Link Types capture the messy reality: Homeowner, Tenant, Price Matched, Fuel Payment Override, Service Payment Override.

The Customer Dashboard

Per-customer hub. Profile, account number, phone, email, service plans, locations, taxes.

The Overview tab carries the boxes the office actually opens during a phone call. Services Box. Holds (Credit Hold and Service Hold, visible at a glance). Balance with a link straight to the ledger. Quotes and Proposals. Tasks with status, assignee, due date. A Communication Board for pinned notes, edited inline, deleted with an audit log entry behind it.

A customer can have multiple locations. Each location is its own address with its own service plans, taxes, and accounts. Each location carries Labels, Promotions, Taxes, Customers (yes, plural per address), Service Zones, and four note categories: Description, Additional Notes, Driver Alert, Router Note. Google Places handles the geocoding. The lat/long marker on the map is drag-adjustable when Google guesses wrong.

Fuel Systems and Equipment

A system represents a group of equipment that all share the same fill connection. A two-tank manifolded propane setup is one system, not two. A 275-gallon heating oil tank is one system. A four-cylinder propane bank is one system.

Equipment slots into the system: Tank (with Size, Recommended Capacity, Optimum Delivery), Regulator (with expiration date), Filter, Other. Custom Fields hang off the system or the individual piece of equipment.

Each system runs on one of three Window Strategies.

Degree Day

For accounts without a monitor. HDD accumulates against a base temperature, default 65°F. K is HDD per gallon, smoothed across the last three to five deliveries. Gallons used equals HDD accumulated divided by K. When the projected remaining hits the reserve threshold, the system surfaces on the map.

Monitored

For accounts with hardware on the tank. Float, ultrasonic, or pressure. Cellular, WiFi, or LoRa. Read by serial, refreshed on the monitor’s cadence. Stale monitors (48 hours by default) fall back to a degree-day projection so a dead battery never silently strands a customer. Degree day provides a forecast; monitor provides ground truth.

Calendar

For accounts on a fixed cadence. Day-of-week or specific-date triggers. Recurring placement on the route board without recalculation.

Auto Delivery on a system means the strategy posts requests automatically. Off means the office posts them manually. Both end up in the same place.

The Fuel Map, Staging, and Routes

Every delivery request, auto or manual, lands on the Fuel Map as a pin. Filter by Fuel Type, Routing Date, Min and Optimal gallons. Pull a Lasso around a neighborhood and convert the selection into a Staging Load. Assign the load to a Terminal (the pickup or drop-off origin), give it a Load Number, drop it on a Route.

Routes accept drag-and-drop placement, sequence optimization, and reuse from prior days. Once a route runs, the delivery data lands on Fuel > Deliveries, filterable by fuel type and route. Office verifies the gallons, confirms pricing with a checkmark, and the line is ready for billing.

Billing

Invoices

All generated invoices land in one queue before posting. Filter by Date Range, Payment Type, Bill Type, Status, Brand. Batch Post, Email, Export. Once posted, it cannot be undone.

Collections

Posted invoices for customers with a card on file but no autopay. Counters across the top: Reminders Completed, Due, Upcoming, Unpaid. Charge a card, place a Credit Hold, send an email or text, all from the row.

Bank Deposits

One per business day. Receipts categorized Visa/MC/Disc, AMEX, Check/Cash. Allocate cash and checks across unpaid invoices line by line. CSV export at the end.

Subscriptions

Per-customer recurring charges. Type, amount, effective date, expiration, interval.

Service and the Job List

The Job List defaults to the signed-in tech, today. Filter by date, by tech, by status. Cards surface the service address, customer, and Problem / Equipment / Action labels.

Each job opens into Info, Notes, Pictures, Equipment. Equipment splits ATU for heating and ACT for cooling. The editing rule that everyone learns once: start before notes. Notes are read-only until Start stamps a jobStart. End stamps jobEnd, locks Notes, and locks Request Parts and Add Reading. The order is enforced. The audit trail shows it.

Quotes and Proposals

Status flow: Draft, Sent, Signed, Closed. Scopes of work, pricing, materials, optional upsell scopes. PDFs generated and versioned, emailable from the record. Closure reasons capture wins and losses for the report. Approved scopes convert into projects with line items. The visibleAt toggle controls when the proposal appears in the customer portal.

Reports

  • Tune Up Search and Tune Up Scheduler. Filter by type, date, plan status. Bulk-add to the ATU or ACT Email List.
  • Customer Reach Outs. Notifications sent and scheduled.
  • Fuel Delivery Report. Sums deliveries, leftovers, revenue, expected vs delivered, shortages, margin, lowest and highest price. Per row: System, Account, Driver, Load, Stop, Expected and Delivered Gallons, Cans and Additives, Tank Description.
  • Aging Report. Status across Active, On Hold, In Collection, Inactive, Terminated. Buckets 0-7, 7-14, 14-28, 28-56, 56+ days. CSV export.

Admin

The Admin Dashboard shows the employee roster for a selected date. Status icons flag no shift, flexible, clocked-in-without-shift, completed, and late (more than three minutes after start).

Branding is the operator’s control panel for multi-brand. Each brand carries its own company name, tagline, address, state license list, HOD license number, light and dark logos, favicon, thumbnails, Oil and Propane Service Plan PDFs, Portal URL, and support email and phone. One operator, separate brands, separate compliance footprints, one back office.

Beyond Branding, Admin holds the configuration the rest of the platform leans on: Custom Fields, Fuels (free-form, with Tank Size Templates), Invoice Codes, Invoice Subtypes, Labels (color-coded by category), Promotions (Flat, Percentage, or Per-Unit; Universal, Countdown, Limited, Volume, Time-Based), Taxes (percentage or per-unit, across fuel sales, services, subscriptions, service plans, propane exchanges), Terminals (onsite or offsite, with lat/long), Vehicles (multi-container, multi-fuel-compatible), and Zones (Degree Day, Brand, Service; drawn on the map or pulled from a city or zip list with a Weather Location Marker).

RBAC and audit

Eight server-side-enforced roles: SuperAdmin, Admin, Accounting, Office, PartsManager, Technician, Driver, Customer. Record-level change logs and view logs across every resource. When a regulator asks who saw what and when, the answer is in the database.

Who uses it

The dispatch desk. The AR team. The controller. The AP clerk. The payroll administrator. The parts manager. The customer-experience lead. The GM, the COO, the owner. IT and SuperAdmins.

Drivers and technicians live in KozyServiceman on iOS. Your customers live in the customer portal.

In the product reference

Ready to run a tighter operation

See KozyOps on your own data.
30 minutes, real questions, no slides.

Bring a route, a customer card, last month's deposit reconciliation, anything you would like walked through inside KozyOps on a demo tenant.

Request a demo Open docs ↗