
What I like best about Mitti by SafetyCulture is its tightly connected inspection, issue tracking, and contractor management workspace that our landscaping leadership and field crews rely on, while I use its reporting exports and user access controls to tie site safety and compliance records back into our accounting workflows at Phoenix Commercial Groundworks Solutions LLC. As our operations accounting specialist and billing admin, I don’t fill out the daily field checklists myself, but I pull Mitti’s finalized inspection logs, contractor sign-off records, and corrective action documentation to validate project milestone completion before releasing client invoices inside OnlineInvoices. The role and permissions configuration panel on its user tab is the feature I come back to most often; I can create custom access groups for foremen, subcontractors, office staff, and our safety lead, so outside landscaping crews only see the inspection templates assigned to their job site and cannot edit our internal investigation or billing-linked notes.
Our commercial landscaping jobs, like park renovation projects and corporate campus maintenance contracts, often include clause requirements that we submit proof of weekly safety inspections before we can bill for milestone payments. Before Mitti, foremen filled out paper checklists or separate mobile forms, took photos, and emailed everything into our shared Microsoft 365 inbox. Those attachments were easy to misfile, and I would spend upwards of three hours each billing cycle chasing missing sign-offs and matching inspection records to the correct project estimate. Now the field team submits their inspections directly in Mitti, attaches hazard photos, and flags issues that need remediation. Once the safety lead marks the inspection as closed, I pull a filtered PDF export of that completed log, attach it straight to the corresponding estimate inside OnlineInvoices, and trigger the client billing workflow. The automated status notifications mean I no longer have to send follow-up emails to foremen asking whether their site checklist is finished. This streamlined handoff between field safety and back-office billing cuts my milestone validation time by roughly 70% each month.
I also rely heavily on Mitti’s built-in audit trail for every user action, template edit, and status change. We maintain these records partly to satisfy our internal compliance standards and CCPA-CPRA rules around contractor contact data stored within the platform. If a subcontractor disputes whether they completed a required safety briefing before starting work, I can pull the timestamped log showing exactly when they accepted the training material and submitted their site inspection. The platform also keeps all contractor credentials, insurance expiry dates, and training certificates organized in one place, so our safety team catches expiring coverage before a crew steps on site. That reduces our company’s liability risk, which indirectly protects our project revenue and prevents billing holds from property managers.
The unexpected benefit I didn’t anticipate after rolling out Mitti is how its scheduling module helps us forecast project delays that would impact our accounts receivable timeline. When a hazard is marked as high priority and scheduled for remediation, Mitti pushes the action due date into our shared calendar feed. If a corrective issue will push back the project milestone, I get visibility early and can flag that to our sales lead before the client expects an invoice. It lets me adjust our expected AR forecast in QuickBooks Online ahead of time instead of scrambling to reconcile unexpected billing delays at quarter end. Mitti is not our billing software, and it never replaces OnlineInvoices or QuickBooks, but it creates the verified, auditable proof package we need to keep our milestone invoicing clean, compliant, and aligned with the contractual requirements of our commercial landscaping clients. Review collected by and hosted on G2.com.
What I find most frustrating with Mitti by SafetyCulture is its limited native webhook event coverage, clunky bulk export workflow, and inflexible seat-based permission boundaries, all of which create consistent bottlenecks for my month-end billing and audit work at Phoenix Commercial Groundworks Solutions LLC. As our operations accounting and billing admin, I rely on completed inspection logs and corrective action sign-offs to validate project milestones before releasing invoices in OnlineInvoices, and these limitations force me into lots of manual work that slows down our AR cycle.
The webhook payloads only trigger on a small subset of events, primarily when an inspection is first submitted. There is no native trigger for when a safety lead approves, closes, or marks an issue as remediated. Last month, we had a large corporate campus landscaping project where our client required signed-off hazard resolution documentation before approving milestone payment. Our foremen submitted the inspection on schedule, but the safety team took two business days to review and close out the high-priority erosion-control finding. I had no automated alert that the record was ready for billing, so I only discovered the approved log when I manually pulled the dashboard mid-week. That pushed our invoice send date back, delayed our receivables timeline, and created extra follow-up emails with our client’s property manager. Since there is no reliable event trigger to push completed, approved inspection metadata through Zapier to QuickBooks Online, I can’t build automated milestone billing triggers in our stack.
Bulk exports are another major pain point. While you can pull CSV and PDF batches, there are hard caps on how many inspection records with attached photos and supporting evidence you can export at once. When I prepare our quarterly compliance archive, I often need to pull inspection logs across 15 to 20 active job sites. If the export includes photo attachments, the limit drops sharply, forcing me to run four or five separate export jobs, rename each file manually, and merge them in Microsoft 365. The exported CSV also leaves out key context I need for US GAAP and CCPA-CPRA record-keeping, such as which subcontractor user submitted the form, their insurance credential expiry timestamp, and the linked project estimate ID. That means I have to cross-reference Mitti’s contractor directory separately to reconstruct a full audit trail for our financial reviews. A single quarterly export session can eat up two hours I would otherwise spend reconciling payments and cleaning up overdue AR.
The seat and permission model also creates unnecessary tradeoffs. Roles are tied strictly to full paid seats, and I can’t create a limited read-only seat for our accounting team. If I want our AP clerk to review inspection evidence for a disputed client invoice, I either have to buy an extra full seat or share my own admin login, which violates our data access policy and CCPA-CPRA least-privilege rules. Our subcontractors also can’t get granular view-only access to just their own site records without being assigned a heavier role that lets them edit templates or see other crews’ inspection data. We’ve had subcontractors accidentally edit shared inspection checklists before, which our safety lead then had to restore, wasting field coordination time.
For improvements, I’d prioritize expanding webhook events to include inspection approval, issue closure, and training completion status so we can sync readiness signals automatically into our billing workflow. Second, lift the multimedia export limits and add configurable export templates that include contractor credential timestamps and project reference fields for our audit archives. Finally, introduce low-cost, limited read-only seat types for back-office reviewers and subcontractors, so we can protect sensitive PII and safety records without buying full admin seats. These changes would cut my manual validation work, make our quarterly financial audits smoother, and turn Mitti into a much better integrated piece of our end-to-end job costing and invoicing workflow. Review collected by and hosted on G2.com.


