Portable toilet inventory tracking
36 units in the yard. Then zero on the festival weekend.
Available is a date, not a status. PortaPro counts every tagged unit against the days it's booked, so a quote for that weekend knows what the yard will actually hold.
What the count knows.
The number on a date is the units you could actually load that morning.
- Booked on a job
- Out from the delivery date. Back in the count the day after the return date, not the morning of.
- Overlapping request
- A job for those dates flags the conflict before it's created, with the job and customer that already have the unit. It's a warning the dispatcher reads, not a wall.
- Asked for in the portal
- A customer who needs four more units for a pour asks from their portal. The request waits in the Requests tab of your Inbox, and Book delivery opens a job with the product, the quantity, and the dates, checked against the count like any other booking.
- In the workshop
- Out of the count until the repair is done. A damage note from a driver goes to the workshop with the stop's photos, but the unit stays available until someone in the office sends it in.
- Retired
- Out of every count.
Every tagged unit keeps its own history.
Deliveries, returns, yard transfers, and every repair, on the unit, with who did it and what it cost. When a restroom has had its third door spring this year, repair-or-retire is a lookup, not a memory test.
Filter the timeline to shop work, or export it as a CSV.
The Service history tab lists every service visit on the unit: the date, the site, the driver, the gallons pumped, and the report. It says how it knows. Serviced at site means a service stop closed at the site while this unit was placed there on the map; Booked on this unit means the job was booked with it. When the driver scans the unit's tag at the stop, the row says Recorded on this unit, the one label that means that exact unit was serviced.
What else the record holds.
The yard and the office open the same record. A driver who scans the tag sees what the dispatcher sees.
- Status and place
- Available, on a job, in the workshop, or retired, and which yard or site it's at. On a job, the record shows the dates it's out.
- Rates and attributes
- Day, week, and 28-day rates set on the product and shown on every unit. Color, winterized, fresh water, or anything you define, so you can filter the calendar before you promise the winterized ones.
- Molded markings
- Tool number, vendor, plastic code, and manufacture date, read off the molding with the phone's camera.
- Photos and documents
- Condition photos on the unit's own Photos tab, with its documents beside them. Not in someone's camera roll.
- The tag
- A 4 by 2.5 inch QR label, printed eight to a page. It opens the unit from the phone's camera or from Quick Scan in the app.
The shop has its own board.
Send a unit to the workshop and it leaves the available count. The tracker lists every unit in the shop: the damage, how bad, the stage from Intake to QC, the mechanic, and how many days it's been in. Nothing goes back out on Monday's first delivery because somebody wiped the whiteboard.
Parts and labor hours go on the repair. If the damage wasn't wear and tear, bill it: parts, labor at your shop rate, and your markup become an invoice to the customer the unit came back from. Or mark it wear and tear and move on.
Ten units short for the fair weekend? Rent them in.
A subrental is equipment you rent from another company for a window, usually a big event weekend. Add it under Inventory, Subrentals with the vendor, the dates, the quantity, and the rate, and PortaPro mints real units you can book on jobs like your own. The catch is the one you'd want: they can only be booked for dates inside the window, and an open-ended rental can't use one.
They count in stock only on the days you have them, your own units are picked first when PortaPro chooses, and the fleet you own never changes. When they go back, enter the final cost and it lands as an expense under Equipment Rental (Subrentals), and Job & Route Profitability charges each job its share of the days.
You don't have to remember to do it. When a job or quote is short for its dates, a product card with few or none left shows Rent from a vendor and opens New subrental filled in with the product and dates. A kit with a short part shows Rent N of that part, and a short line on a saved job shows Rent N from a vendor and holds the rented units on that line once the subrental is added.
Questions operators ask
Do I have to tag every unit?
No. Each product is tracked individually, with a unit number and QR tag per unit, or in bulk by quantity. The date-by-date hold covers tagged units, so tag the ones you book for events and holidays.
What unit types does it handle?
Standard, ADA, deluxe flushing, high-rise, handwash stations, restroom trailers, and holding tanks, each with its own count and rates. Roll-off containers are set up the same way.
We run more than one yard. Can I see each one?
Yes. Every unit has a storage location, and the inventory filters by yard. Moving a unit from one yard to another lands on its timeline with the date and who moved it.
Which plan is it in, and can I import my spreadsheet?
Inventory is in every plan, Starter included, with no per-unit fees, so adding fifty restrooms to the yard doesn't change what you pay. Import units in bulk with the unit numbers you already use, then print a tag for each one.
We're short units for one weekend. Can we rent some in?
Yes. Add a subrental under Inventory with the vendor, the window, the quantity, and the rate, and PortaPro creates units you can book like your own, only for dates inside that window. Returning them records what they cost as an expense, and they never count toward the fleet you own. When a job comes up short, Rent from a vendor starts the subrental from that job with the product and dates filled in.