CRM for a small firm off the shelf or built
CRM for a small firm off the shelf or built: when HubSpot-class tools fit, and when a system on your own job data serves trades and clinics better.
·
4 min read
Quotes and invoices stuck in email is how a lot of UK trades and service firms still run money: a PDF in the thread, a reply that said “go ahead”, and a chase list living in someone’s head. That is not organisation. That is a system of record you cannot trust when the customer asks what they agreed last month, or when a deposit needs matching to the right job.
Email is fine for a conversation. It is a terrible place to store the version that matters. The electrician sends quote_v2.pdf, the customer accepts in a one-line reply, and nobody files it against the job. Three weeks later the office sends invoice.pdf based on the wrong lines, or the builder cannot prove what was accepted when the scope argument starts. Clinics and small agencies do the same with “final FINAL” attachments and WhatsApp screenshots of “yes, that price is fine”.
I’ve seen owners chase payment from memory because the inbox search returns twelve copies and none of them say paid. Outstanding amounts hide in threads. Accepted quotes hide in replies. The accountant gets a zip of PDFs at month-end and rebuilds the story by hand. Being “more organised in Gmail” does not fix that. Labels and starred threads still leave you guessing which PDF was the real quote. You need statuses, not better folders.
Unstuck means one place holds the quote, its status, the acceptance, the job that came from it, and the invoice that followed. Draft, sent, accepted, declined, expired for quotes. Draft, sent, paid, overdue for invoices. The customer opens a link on your domain, accepts without creating an account, and the system records who said yes and when. Line items carry across so you are not retyping prices into a blank Word template at 10pm.
You still need a bookkeeper or accountant. Operational quote-to-cash is not the same as bookkeeping. Separate them: the ops system shows what is outstanding and what was agreed; the ledger does VAT returns and year-end. Do not ask Gmail to do both.
A light quoting tool or an accounting package’s estimate screen can be enough when one person does every quote, jobs are rare, and you never need the accepted lines to become a job with visits. The moment you have a team, repeat customers, deposits, or work that spans weeks, email-plus-PDF starts leaking money and time. Then you want ops software: quotes, jobs, and invoices in one workflow you own, not a folder of attachments.
Eight Mile builds that as SaaS and operations software on accounts you control. For trades and service firms we already run that loop in TradeOps: quote emailed as a link, acceptance becomes a job, invoices follow the work, with statuses you can see without digging the inbox. Talk to us about TradeOps if it fits, or a custom build if your process is odd enough that a product would fight you. Either way the point is the same: encode how you already work, on accounts and data you can take with you if you leave.
If quotes and invoices stuck in email is your Tuesday afternoon, the fix is not another PDF template. It is one workflow with clear status from quote to cash, so Tuesday’s chase list is a screen, not a memory exercise.
If you want that on a system you own, contact Eight Mile and say how quotes leave the office today and where the chase list lives.
CRM for a small firm off the shelf or built: when HubSpot-class tools fit, and when a system on your own job data serves trades and clinics better.
·
4 min read
When WhatsApp is running your jobs, groups and voice notes become the job board. What a proper ops system replaces, without taking phones away.
·
4 min read
Field team software fails without offline-first: vans need capture, queue, and sync that works when signal dies.
·
3 min read
If your website form still emails one person's Gmail, enquiries vanish when they're away, and a shared lead list with an owner fixes it.
·
4 min read
What changes when a trades business moves from paper job sheets to a phone app, including how the app copes with no signal.
·
4 min read
Still running the business on Microsoft Access? The signs it's holding you back, and when to keep it, move to a product or rebuild it.
·
4 min read
Connecting your job system to Xero or QuickBooks: when an export is enough, when a connector fits, and when a custom integration pays.
·
3 min read
Security audit vs penetration test: when to review config first, when a buyer needs a pentest, and usual order for SaaS.
·
3 min read
Secrets in git repository history outlive a deleted file. Rotate first, then stop the next temporary commit.
·
3 min read
Cloud bill went up and nobody can say why: usually orphaned resources, missing tags, or one shared account. Fix ownership first.
·
3 min read
If one person knows how to deploy it, you have a person, not a process. Fix ownership, access, and a path the team can run.
·
3 min read
Multi-tenant SaaS mistakes that show up after launch: isolation, roles, files, billing, and when to stop and fix.
·
3 min read
Taking software in-house after a consultancy build: when to move, what must be true, and what a real handover includes.
·
3 min read
You don’t need a 40-page spec to start: what to bring instead, ruthless v1 must-haves, and how a first release gets priced.
·
3 min read
What “first working link in week two” actually means: a real URL for feedback, not a finished SaaS on day 14.
·
3 min read
Rescue a SaaS someone else built: when to take over an inherited product, stabilise vs rewrite, and own the accounts.
·
3 min read
Security audit checklist before you go live: access, secrets, backups, auth, deps, alerting, and when to bring in an auditor.
·
3 min read
AWS vs managed hosting for a small SaaS: when simple platforms fit, and when owned cloud, IAM and infra in git win.
·
3 min read
Internal tools: buy SaaS or build on your data: when shelf seats win, and when custom on your stack is the real product.
·
3 min read
Customer portal vs email-and-Excel for trades / clinics / field teams: when a login beats chaser calls and wrong quote versions.
·
3 min read