Customer accounts and CRM for portable sanitation
Customers have sites. Sites have gate codes.
Each site keeps its own access note, onsite contact, units, and rate card. The driver reads the note on the stop before pulling in, not on a sticky note in the cab.
A site has a life. The record keeps up.
From the day the units are booked to the day they come home. Pausing or closing a site never deletes its history.
- Pending delivery
- Set the date and the delivery job is created for it. Recurring service waits until the units are on the ground.
- Active
- Service jobs generate from the site's plan, and it bills on cycle.
- On call
- No recurring visits. The site still bills, and you go out when they call.
- Paused
- Winter shutdown or a payment hold. Billing and service stop, the rates and counts stay, and resuming is one click.
- Closed
- The units come home and the site drops off your lists. Every invoice stays, and it reopens if they call back.
The account around the sites.
The work happens at the sites. The people, the paperwork rules, and the money sit on the customer.
- Contacts
- The owner, the bookkeeper, the site super, the after-hours number. Each contact is typed as billing, on-site, emergency, or additional, and one is primary.
- Who gets what
- Each contact is ticked for billing email (invoices, statements, receipts, reminders), service reports, quotes, or any mix. The AP inbox gets the invoice and the super gets the service report, every time, without anyone picking recipients.
- Terms
- Payment terms, a grace period of its own for the customer who always pays on day 40, billing in arrears or in advance, and the PO number that prints on every invoice and invoice email.
- Money
- The Financial tab shows what is outstanding, what has been billed and collected, and every invoice with its status. The Billing tab rolls each active site's rate card into one monthly recurring figure and flags a site with no rate.
The history writes itself.
Jobs, office notes, portal sign-ins, and payments land on the customer's timeline in the order they happened, including the visit that ran late and the note that the fair board wants the same layout next year.
Nobody writes it up. The dispatcher, the driver, and the bookkeeper each did their part, and the record is what it added up to.
Built for the builder who pays by the lot.
Parent accounts
File a general contractor's divisions under one account. Each division keeps its own address, rate card, and invoices; the parent shows every division's balance and the total.
One invoice per site
Flip one switch and the cycle bills every site on its own invoice, then sends them all in one email. Their AP downloads one PDF per lot, or pays them all at once, and each invoice still settles on its own.
Questions operators ask
Can I bring my customers over from my old system?
Yes. Paste your list straight from a spreadsheet, an email, or your notes, in any format, or upload the CSV or Excel file you already have. PortaPro maps it to customers and their sites, with address, unit count, unit type, rate, frequency, and status, and shows a preview with any problems flagged before anything is created. A paste of a few hundred customers works the same as ten. An opening balance becomes a sent invoice dated as of the import, so aging matches your old system; a negative one becomes an account credit. QuickBooks sub-customers arrive filed under their parent.
What happens when a customer stops renting?
Make them inactive. They drop out of every list and search, and recurring invoices, autopay, reminders, review requests, and marketing all stop, while every invoice, payment, and job stays on the record. Reactivate them any time. Delete is for duplicates and mistakes: it is blocked for any customer with financial history, and a deleted customer sits in Trash for 30 days.
Does it sync with QuickBooks?
Yes, one way, to QuickBooks Online every night or to QuickBooks Desktop through a real live sync, not a file export. Customers go across with name, email, phone, billing address, and tax-exempt status, followed by their issued invoices and payments. The parent account grouping stays in PortaPro for now; each division arrives as its own customer.
Which plan is it in, and what if a site gets closed by mistake?
Customer records, sites, contacts, and rate cards are in every plan, Starter included. A closed site comes back: turn on Show closed sites, open the site's menu, and choose Reopen site. It returns Active with its rate card rows, rates, and full history. Type the unit counts back in and it bills again on the next cycle.
See one customer with every site, gate code, and invoice.
Moving from another system? The import brings customers, sites, and opening balances, and QuickBooks sub-customers arrive as parent accounts.