Almost nobody loses a janitorial account because they bought the wrong toilet tissue. They lose it because a dispenser sat empty on a Monday morning and nobody in the office knew until the client emailed a photo of it.
That is why the decision in front of you is not "which supply app has the most features." It is whether you need real inventory control, with counts, par levels and purchase orders, or whether you need a request pipeline that reliably moves a message from a janitor's closet to whoever places the order.
For most janitorial contractors, the best software to manage supply requests is a request module inside the field platform crews already use to clock in, not a standalone inventory system. Add barcode inventory only when you warehouse stock centrally and run more than roughly 40 to 50 accounts.
Operators usually reach for the inventory system first because it feels more professional. Then they abandon it in six weeks, because nobody is counting cases of can liners at 10:15 p.m. on a Tuesday.
Inventory tracking or a request workflow: which problem do you actually have?
Before you look at a single demo, work out which of three failure modes is costing you money. They look identical from the client's side and they need completely different tools.
- Nobody told us: the closet ran dry, the cleaner mentioned it to a supervisor who forgot, and it surfaced a week later. This is a communication and intake problem. Software that fixes it is a request form with a timestamp, a photo and an owner.
- You told us and we did not have it: the request arrived, but the item was not in the warehouse or on the truck, and the distributor needed four days. This is an inventory and lead-time problem. Par levels and reorder points fix it.
- We got it, and it cost triple: a supervisor drove to a big-box store, paid retail, and the cost never got charged to the account that consumed it. This is a spend control and cost allocation problem. Approval routing and a cost code per location fix it.
Most small and mid-size contractors have failure mode one, believe they have failure mode two, and quietly bleed money on failure mode three. Pull your last 90 days of supply spend and sort it by vendor. If retail and gas station receipts show up more than a couple of times, you have your answer.
The 10 axes that decide which supply request tool you buy
Here are the categories that actually compete for this job, scored on the axes that decide it in the field. "Ops platform" means the scheduling and time tracking system your crews already open every shift.
| Deciding axis | Group text + spreadsheet | Request module in your ops platform | Dedicated inventory software | Distributor ordering portal |
|---|---|---|---|---|
| Who has to learn a new login | Nobody | Nobody, crews are already in it | Every cleaner and supervisor | Office staff only |
| Usable on a crew phone mid-shift | Yes, but unstructured | Yes, if it runs in a phone browser | Often desktop-first or app-only | Poor, built for buyers |
| Timestamped proof of what was asked | Buried in chat history | Yes, with photo evidence | Yes | Only after an order is placed |
| Approval before money is spent | Verbal, unenforceable | Yes, request then approve | Yes, with PO workflow | Punchout limits only |
| Cost tied to a specific account | Manual, usually skipped | Yes, request is attached to a location | Yes, strongest option | Only if you order per site |
| Live stock levels and par levels | No | No | Yes, this is the point | No, it sees your orders only |
| Purchase orders and receiving | No | No | Yes | Partial, order confirmations |
| Setup time before it is useful | An afternoon | Days, if the platform is live | Weeks, counting and SKU setup | Days, catalog is already built |
| How it is priced | Free | Usually bundled in the platform fee | Commonly per user, so it grows with headcount | Free with the account |
| Where it breaks | Requests vanish, no audit trail | No visibility into what is on the shelf | Crews stop counting, data goes stale | One vendor, no field intake |
Read the bottom row twice. Dedicated inventory software does not fail because it is badly built. It fails because accurate inventory requires a human to count, and night crews do not count. If you cannot name the person who will physically verify stock every week, do not buy it.
What does one supply stockout actually cost you?
Run the arithmetic on your own accounts. Here is an illustrative example with every assumption stated, so you can swap in your real numbers.
Take Meridian Center: a 62,000 sq ft suburban office building, 6 restrooms, cleaned 5 nights a week by a crew of 4. Assume your supervisor's loaded cost is $30 an hour, and that one emergency run per month takes an hour of her time door to door.
- Emergency labor: 1 hour x $30 = $30 per incident.
- Retail premium: assume a $150 basket bought at a big-box store instead of your distributor, at a 35% higher unit cost. That is about $52 wasted.
- Mileage: assume 18 miles round trip at the IRS business standard rate for the year you are in. Look up the current figure rather than guessing.
Call it roughly $90 per incident before mileage. One incident a month across 12 accounts is a little over $1,000 a month in avoidable cost, and that is only the visible part. The invisible part is the failed inspection line item and the client who now watches your restrooms more closely than they did last quarter.
How do you set par levels without counting every case?
You do not need barcode scanners to get this right. You need three service weeks of honest issue data, meaning what actually left the storeroom for each site.
Then use two formulas:
- Par level = (average weekly usage x weeks of coverage you want on site) + one week of safety stock.
- Reorder point = (average weekly usage x supplier lead time in weeks) + safety stock.
If Meridian Center burns 4 cases of jumbo roll tissue a week and you deliver every two weeks, par is 8 plus 4, so 12 cases. If your distributor's lead time is one week, you reorder when the closet drops to 8. Nobody has to guess, and a new supervisor can be taught it in five minutes.
| Consumable | What really drives usage | How to set the par |
|---|---|---|
| Toilet tissue | Restroom traffic: occupants x days serviced | 3 weeks of issue history, per building, never per portfolio average |
| Hand towels | Dispenser type more than traffic. Folded towel sites burn far more than controlled roll | Track separately by dispenser type, not by site size |
| Hand soap | Number of sinks and the dispenser's dose setting | Cartridges per sink per month, then multiply by sinks |
| Can liners | Receptacle count and size mix, plus service frequency | Count receptacles once, per floor, and stop ordering by feel |
| Dilutable chemicals | Hard floor square footage and the dilution ratio your dispensers are set to | Ready-to-use gallons per month, converted back to concentrate |
| Gloves and microfiber | Headcount and shifts per week, not building size | Per cleaner per month, ordered centrally |
Standardizing dispensers across a portfolio does more for supply cost than any software will. Every extra towel dispenser format is another SKU, another par level and another way to run out of the wrong thing.
What should a supply request capture before you approve it?
The quality of the software matters less than the quality of the form. A free text message that says "need paper at the bank" will generate a phone call, and the phone call is the cost.
Required fields on every janitorial supply request
- Location, selected from your account list, never typed by hand
- Item chosen from a controlled catalog of approved SKUs
- Quantity in the unit you actually purchase: cases and cartridges, not "a few"
- Reason code: routine restock, broken dispenser, client special request, spill or incident
- Photo of the empty shelf, closet or dispenser
- Needed-by date, so you can batch with the next scheduled delivery
- Requester name and automatic timestamp
- Approver and approval date
- Billable flag: is this inside the contract, or a pass-through charge to the client
Connect the request form to your inspection process too. When an inspection fails on "soap dispenser empty," that failure should end as a supply request with the photo already attached, not as a note somebody retypes on Friday.
Which option fits which kind of cleaning operation?
No fence-sitting. Find your profile and buy accordingly.
1 to 5 accounts, owner still on the route
Use a shared spreadsheet and one group chat thread, and spend the money on a distributor account with delivery instead. You know every closet personally. Software here solves a problem you do not have yet. Set one rule: a photo of the low shelf, or the request does not exist.
6 to 25 accounts, supplies delivered straight to site
Buy the request module inside your operations platform. This is the largest group of commercial cleaning companies and the clearest recommendation in this article. You do not warehouse much, so live stock counts are irrelevant. What you need is structured intake from crews who are already logging in to clock in, plus an approval step and a per-location cost trail.
25 to 60 accounts with a central storeroom
Run both. Keep field requests in your ops platform, because that is where the crews are, and add lightweight inventory tracking for the storeroom only. One person, usually a warehouse or logistics lead, owns weekly counts on maybe 30 to 60 SKUs. Do not attempt site-level inventory. It will go stale within a month.
60+ accounts, multiple regions, GL coding required
Now dedicated inventory software earns its price, ideally one that exports to your accounting system with account-level cost codes. Keep the crew-facing request form in the ops platform anyway. Field workers should never be asked to log in to a procurement system.
Accounts where the client buys their own consumables
This is common in janitorial contracts, especially in schools and healthcare, and it changes the tool. What you need is a requisition that goes out through a client portal or dashboard, so the client sees the request with the photo and the date, and your file shows you asked on time. When a restroom runs out and the client controls purchasing, documentation is the entire defense.
How much should you pay for supply request software?
Treat this as a line item inside your operations platform budget, not a separate purchase. Standalone inventory tools are commonly priced per user, which is a bad fit for an industry with high turnover in part-time roles. The U.S. Bureau of Labor Statistics reports substantial employment in the janitors and cleaners occupation, much of it part-time, and per-seat pricing punishes you for exactly that structure.
A reasonable test: if the supply tool costs more per month than the avoidable emergency runs you calculated above, you are buying a compliance artifact, not a savings tool. And if you are pursuing ISSA's CIMS certification, remember that what the standard rewards is documented, repeatable process. A simple request workflow that everyone follows documents better than a sophisticated system nobody updates.
Frequently asked questions
Should I bill consumables to the client or build them into the monthly price?
Build routine consumables into the monthly price when your usage history is stable, because it removes a monthly argument and makes your invoice predictable. Pass through only what you cannot forecast: unusual volumes after an event, specialty products the client insists on, and dispenser replacements. Whichever you choose, define it in the contract by product category, not with the phrase "supplies included."
Do I need barcode scanning to track janitorial supplies?
Only if you hold central stock and someone is accountable for weekly counts. Barcodes do not create discipline, they speed up counting that is already happening. Most contractors with under about 50 accounts get better results from a controlled SKU catalog, delivery direct to site, and par levels calculated from three weeks of issue history.
How do I stop crews from over-ordering supplies?
Three controls, in order of effect. First, quantity limits per request per site, so a cleaner cannot ask for 20 cases. Second, an approval step that names an approver rather than sending to a shared inbox. Third, a monthly report of supply cost per account, reviewed by whoever holds the gross margin. Visibility on the third one usually ends the problem.
Can I just use a Google Form for supply requests?
Yes, and it beats text messages. You get a timestamp, structured fields and a spreadsheet you can sort. What you lose is the link to the rest of the job: the form does not know which account the cleaner is standing in, cannot attach a request to a failed inspection, and cannot show it to a client. Start there if you must, then graduate.
What is the fastest way to cut supply cost without changing vendors?
Standardize dispensers. Every extra towel or tissue format multiplies SKUs, par levels and stockout risk, and it blocks you from buying deeper on any one line. Second fastest: audit chemical dilution settings, because incorrectly set dispensers quietly consume concentrate at multiples of the intended rate.
Where CleanTrack360 fits
CleanTrack360 is built for the second profile above: contractors who need structured supply requests from the field rather than a warehouse inventory system. Supply requests live alongside the scheduling, geofenced GPS clock-in and clock-out, and quality inspections with custom checklists and photo evidence that crews already use, and everything runs in the phone browser, so there is no app for a new hire to install. The browser-based client dashboard shows schedules, inspection reports and service requests, which is what you want on accounts where the client purchases their own consumables. Reports export to CSV when you need supply spend next to your labor data.
To be clear about what it is not: CleanTrack360 does not track stock levels, par levels or purchase orders, so if you run a central storeroom you will still want a dedicated inventory tool beside it. Plans are Starter at $99 a month for up to 5 team members, Pro at $199 for up to 20, and Business at $249 for up to 50, priced per plan rather than per user. There is a 14-day free trial with no credit card if you want to test the request workflow on a handful of accounts first.