Equipment Rental App Starter · Industry version
A rental system built for iron — open-ended billing, hour meters, jobsite delivery, off-rent calls — generated into code you own.
Heavy equipment rental doesn't end on a due date. A skid steer goes to a jobsite until the contractor calls it off, billing rolls in four-week cycles, and the hour meter decides both the invoice and the next service. This starter models that motion and hands your yard the codebase.
01 · The problem
Consumer-style rental software assumes a return date; construction rentals are open-ended. Equipment stays on rent until the contractor calls it off, and revenue recognition runs in daily, weekly, and four-week cycles with the best rate applied retroactively. A system built around fixed date ranges either blocks the calendar forever or bills wrong — usually both.
Meters matter as much as dates. Engine hours drive overage charges, preventive service intervals, and resale value, so a rental record without meter-out and meter-in readings is missing half the contract. Yards that track hours in a notebook find out at trade-in time what that cost.
And the machine's location is a business fact, not a delivery note. Iron sits on jobsites for months, moves between sites on transport you dispatch, and occasionally goes missing between the two. When the system doesn't model jobsites and transport legs, 'where is unit 214' becomes a radio question with three answers.
02 · Data model
Everything in the base Equipment Rental starter —
equipmentcategoriescustomersreservationsrentalsmaintenance_logs— plus the entities this industry actually runs on:
| table | what it holds |
|---|---|
job_sites | Delivery destinations with address, site contact, and gate notes — every open rental points at the site where the machine physically sits. |
meter_readings | Hour-meter values captured at checkout, return, and service — the numbers behind overage billing and maintenance intervals. |
transport_jobs | Dispatch legs for getting iron out and back: machine, truck, driver, jobsite, and window, linked to the rental they serve. |
03 · Screens
Rentals run without an end date and bill on your cycle — day, week, four-week — with the rate ladder applied as the term grows. The off-rent call closes the meter, prorates the final period, and produces the invoice the contractor actually expects.
The delivery desk becomes a dispatch board: today's hauls by truck, each leg tied to a rental and a jobsite. When a contractor calls a machine off, the pickup leg is created from the same record — billing keeps running until it's back in the yard, per your policy.
Reporting speaks fleet language: time utilization and dollar utilization per class, hours accumulated against service intervals, and revenue per unit against its cost. The numbers that decide whether to buy another mini excavator or let a dealer take the old one.
04 · In practice
The rental opens against a contractor and a jobsite, the transport leg is dispatched, and meter-out is captured at handoff. From that moment the unit shows on-rent at that site, and the billing cycle is running.
The contractor calls it off; the system timestamps the call, creates the pickup leg, and on return captures meter-in and condition. Overage hours, fuel, and damage land on the closing invoice with the prorated final period.
A returning machine crosses its service interval, so it routes to maintenance instead of the available line — with a log entry blocking the calendar until the work order clears. No dispatcher goodwill required.
Yes — rentals run until called off, and billing generates per cycle with your day/week/four-week rate ladder. The prorated close-out happens when the machine is picked up or returned, matching how contractors expect to be invoiced.
Meter readings are captured at checkout, return, and service. Each rate can carry included hours per cycle, and overage is computed from the actual meter delta — not from what the driver remembers.
Jobsites and transport legs are first-class records. Every open rental points at a site, every haul is a dispatched leg with a truck and window, and the yard always knows where each unit physically is.
Charge types are yours to define in your code — rental protection percentages, environmental fees, fuel charges, cleaning. They attach to the rental and flow onto invoices; changing a rate is an edit to your own rules, not a vendor request.
Dual7 App Starters
A rental system built for iron — open-ended billing, hour meters, jobsite delivery, off-rent calls — generated into code you own. Describe your version to start — the output is a project you own.