What this is
PortaPro handles generator and temporary-power rentals the same way it handles toilets, roll-offs and fencing: your generators, light towers, distribution panels, cable and fuel tanks are products in Inventory, each generator gets its own unit code, and jobs and quotes book them. Two things are built for power on top of that: each product carries its kW rating, fuel and burn rate, and drivers record the hour meter and fuel level on every unit they deliver, service or pick up.
Setting up your power products
Once a company has power products, Power appears in the category toggle on the Inventory page and in the job wizard's product picker. Event companies that rent the odd generator alongside tents can keep using the Events type Generators & Power; it stays in Events.
Finding the right generator
While the list shows power equipment, two filter pills appear next to the category toggle on the Inventory page and in the job wizard's product picker:
A product without a rating or fuel set drops out while that filter is on, so cable and distribution panels leave a "150 to 500 kW" search.
Meter readings
Meter readings on a generator, light tower or fuel tank product decides whether drivers are asked for the unit's hour meter and fuel level:
New generators start on Required at delivery and pickup. Change it in Edit Product at any time.
Recording a reading in the driver app
On any job with a unit that takes readings, the job shows a Meter readings section (titled with where the reading is taken: Delivery, Service visit or Pickup). Each unit on the job gets a row:
The row also shows the unit's last reading so the driver can catch a typo. If a required reading is still missing, the section says how many units still need one.
An hour meter lower than the last reading is refused: check the meter, or tick Meter was replaced if the meter was swapped or reset. Runtime then starts again from the new meter.
No signal on site? The reading (and its photo) is saved to the phone and sent when the connection returns, with the time it was actually taken.
The office sees and can correct the same section in the job drawer.
A unit's reading history
Open the unit (Inventory → the product → the unit) and choose the Meters & service tab. It shows the latest hour meter, the hours run across the readings on record, and every reading with when and where it was taken and who took it. Readings pulled from the generator's controller show as Controller (see Controller readings below). Office staff can:
Which units does a job read?
The units booked on the job (including units held for an event), the units on its delivery when it is a pickup, and units placed on the map at the job's site. Only products with Meter readings set to Optional or Required show up.
Billing the hours run
A generator's rent bills by calendar time, the way its job line is priced. The rent includes running hours, pooled across the whole rental, and the hours run past them bill one of three ways. Set it on the product (Edit Product → Hours over the included hours):
Hours included in the rent are set per day (8), per week (40) and per 4 weeks (160) by default. They follow the periods the rent covers, with no partial periods: a 10-day rental on a weekly rate is 2 weeks, so 80 hours included. A flat-priced or event-priced line counts whole weeks, then days.
Where the hours come from
Hours run are the hour meter readings, never the invoice dates: from the reading at delivery (meter out) to the reading at pickup (meter in). On a long rental, every service visit's reading settles the hours run so far, and each settlement only charges what earlier ones didn't, so runtime bills as the rental goes instead of all at the end.
Example: 2 weeks at $600/week, meter out 1,240.0 hrs, meter in 1,350.0 hrs. That is 110 hours run with 80 included, so 30 hours over at $10.00/hr is Runtime overage $300.00.
Each rental keeps its own terms
The first time a rental settles, it keeps a copy of the product's runtime terms, so changing the product later doesn't change rentals already out. To change one rental, open its delivery job and, under Runtime & fuel charges → Runtime terms, choose Change for this rental. Charges already on an invoice keep what they charged; the next charge makes up the difference.
Billing fuel
Set fuel prices in Settings → Generators & Fuel → Fuel billing:
Fuel bills two ways:
Customers see the price per gallon. With cost plus markup, your cost shows only to the office.
Getting the charges onto an invoice
Runtime and fuel charges are added to the job where the meter was read (the service visit or the pickup). From there:
A charge bills once the job is completed. The same section shows what is waiting and why: no hour meter reading at delivery, no overage rate, no price for the fuel, or a job that was already invoiced (bill that one by hand). Recalculate re-runs the job's charges after you fix a rate or a price. A charge already on an invoice is never changed.
Standby rentals
A generator that sits on site as backup (a standby rental) is usually priced below one that runs the site (prime power). Set it up on the generator product (Edit Product → Standby rentals):
Book the rental as usual, then open its delivery job and, under Runtime & fuel charges → Runtime terms, choose Change for this rental and set Use to Standby (backup). That reprices the rent on the delivery job to the standby percent (the invoice line reads "Standby rate, 60% of the prime rent") and settles hours run against the standby hours. Switching back to Prime power restores the prime price. Every unit on the same line changes together. Once the rent is on an invoice it can't switch here; change the price on the invoice.
Example: a 2-week standby rental at 60% of $600/week rents for $720 and includes 8 running hours. Run 50 hours by a service visit and that visit bills 42 hours of Standby runtime at the standby rate.
Refuel planning
Inventory → Generators → Fuel lists every generator, light tower and fuel tank out on a rental with a fuel reading: where it is, about how much fuel is left now, Needs fuel by (the day it reaches your refuel level), and the next visit booked at the site. These are estimates, labelled as such, from:
A visit booked at the site on or before the day covers it. Book refuel (office staff) books an unassigned visit on that day, tied to the rental's delivery job, so the driver's Meter readings section lists the unit and the fuel they put in bills from the visit. Assign a driver on Jobs & Dispatch.
Set it up in Settings → Generators & Fuel → Refuel planning:
Maintenance by hours
Set the services each generator product needs in Edit Product → Service by hours: a name and every so many hours, days, or both (whichever comes first). Start with oil, filters and a load bank test fills in a common starting set (250 hours or 180 days, 500 hours, 365 days). Fuel tanks have no hour meter and take days only.
Each unit's next due shows on its Meters & service tab and, when due or due soon (within 25 hours or 14 days), on Inventory → Generators → Service due:
The office is notified once per service when it comes due or due soon, the moment a reading crosses the mark, and each morning for services due by date. Office staff and mechanics choose Record service on the unit (the hour meter defaults to the latest reading) and can remove a wrong record from Service history.
Controller readings
If your generators report through a telematics provider (Trackunit, an OEM fleet portal such as Cat VisionLink, or any provider with an AEMP 2.0 (ISO 15143-3) feed), PortaPro can pull each machine's hour meter and fuel level itself. In Settings → Generators & Fuel → Controller readings (owner or admin):
Readings are pulled every 30 minutes (or Pull readings now) and show on the unit as Controller. They keep the refuel estimates and service by hours up to date between visits. Runtime is still billed from the drivers' delivery and pickup readings. PortaPro only reads the feed; it never sends anything to your generators.
