➡️ Book Free Demo & Get Special Discount
I was talking to the owner of a growing handyman and furniture business. He was at a breaking point.
"I have 20 technicians, but it feels like I'm doing 20 jobs," he said. "I'm the lead generator, the dispatcher, the inventory manager, the accountant, and the payroll clerk. I'm great at building furniture, but I'm failing at building a business."
He showed me his system:
A whiteboard with names and job sites (often out of date).
A separate spreadsheet for inventory (never accurate).
A shoebox of receipts for expenses.
A spiral notebook for leads.
His entire weekend spent creating invoices and calculating pay.
He had looked at enterprise software, but the cost was astronomical, and it didn't fit his unique mix of on-site repairs and in-shop manufacturing.
The challenge was laid down: could we build a completely custom, scalable, and fully automated system to run his entire business using only free Google tools?
No paid APIs. No monthly software fees. No third-party servers.
Today, after a ton of work, the answer is a resounding yes. We call it HandyFlow, and it handles everything. I want to walk you through exactly what that means.
A. Customer & Lead Management ➡️ The Front Door
It starts with a public-facing Google Site. Customers visit, see his services, and fill out a "Book Service" or "Request Quote" Google Form.
The moment they hit submit:
The system instantly creates a lead in a Leads_DB Google Sheet, assigning a unique Job ID (L-20251015-…).
An automated confirmation email is sent to the customer via Gmail.
A notification is sent to the admin.
The script even flags it: Is it for furniture? Is the email from a repeat customer? It's all logged.
B. Technician & Job Management ➡️ The Command Center
Technician Master Record: A Technicians_Master sheet holds everything: skills, contact info, home zone (pincode), and even commission rules.
Auto-Assignment Engine: The "brain" in Apps Script kicks in. It finds the perfect technician by matching skill (Carpentry), nearest zone (700084), and lowest current workload.
Instant Dispatch: The chosen technician immediately gets a detailed job email via Gmail and an event is created on their Google Calendar with the address for navigation.
Full Job Lifecycle: The job is tracked in the Jobs_Tracker sheet from New → Assigned → In Progress → Completed → Invoice Generated → Closed. Every status change is logged in a Job_History tab.
Field Reporting: The technician uses a JobCompletion Google Form on their phone to submit hours, parts used, job photos (uploaded to Google Drive), and even capture a customer signature.
C. Inventory & Manufacturing ➡️ The Workshop
Central Inventory: A Raw_Materials sheet tracks every screw and plank, including unit cost and supplier.
BOM Generation: When a manager approves a "Standard Wooden Chair" order, an "Automation Menu" in the sheet runs a script. It references a BOM_Template, calculates every part needed (WD-005:1, HW-001:2), and estimates the total material cost.
Automated Deduction: When the manager marks the order as "Delivered," the script automatically deducts all the BOM items from inventory.
Low-Stock Alerts: If deducting those parts pushes an item below its reorder point, a Purchase_Requisition is automatically created and an email is sent to procurement.
D. Finance & Payments ➡️ The Back Office
Automated Quoting & Invoicing: The system uses Google Docs as templates. It merges customer and job data, calculates costs, generates a professional PDF, saves it to a Generated_Invoices folder in Google Drive, and emails it to the customer automatically upon job completion.
Payment & Expense Tracking: A Finance_Master sheet logs every sale as a positive number and every expense (logged via an Expense_Logging Form) as a negative number.
Overdue Reminders: A daily trigger scans for unpaid invoices past their due date and automatically sends polite reminder emails.
Payroll Automation: On the 1st of every month, a time-driven trigger runs. It calculates each technician's pay (base + job commissions), generates a PDF payslip from a Google Doc template, and emails it directly to them.
E. Dashboards & Reporting ➡️ The 30,000-Foot View
Live P&L: The Finance_Master sheet has a P&L_Summary tab with a simple formula that provides a live, up-to-the-minute Profit & Loss statement.
Looker Studio Integration: All the key Google Sheets are connected as data sources to Looker Studio, creating visual dashboards for the owner to see:
Revenue by service type
Technician productivity and customer ratings
Inventory burn rate and reorder forecasts
Daily Owner's Briefing: Every morning at 7 AM, the owner receives an automated email summarizing yesterday's revenue, new leads, and urgent low-stock items.
G. Administration & Security ➡️ The Foundation
Role-Based Access: We use built-in Sheet Protection to ensure that only managers can approve quotes and only accountants can view payroll.
Immutable Audit Log: Every single action the script takes—from assigning a job to sending an email—is recorded with a timestamp in a dedicated Audit_Log sheet.
Automated Backups: A monthly trigger automatically exports the most critical sheets as CSVs and saves them to a Backups folder in Google Drive.
We took a business drowning in chaos and built it a custom, automated operating system for free. This is the power of leveraging the tools you already have. It proves that you don't need a massive budget to build a scalable, efficient, and data-driven business.
If this story resonates with you, I'd love to hear what part of your own business workflow you wish you could automate away.