Case study · Product
PaidProper — SaaS client management for tradespeople
What PaidProper is
PaidProper is client management software for tradespeople. It brings clients, quotes, invoices, scheduling, payments and communication into one place, so a plumber, electrician or joiner can run the admin side of their business from one app instead of a notebook, a spreadsheet and a string of text messages.
The product began life as Use CMA (“Client Management App”) and was relaunched as PaidProper. Coder Studios designs, builds, hosts, supports and markets it.
The product problem
Small trade businesses lose time and money to admin: quotes written up in the evening, invoices that go unpaid because nobody chased them, appointments arranged over the phone and job photos scattered across a camera roll. General-purpose business software is often built for office teams and accountants rather than someone working on site. PaidProper is designed to be simple enough to use from a van, and complete enough to replace several tools.
Core functionality
- Client management — clients with multiple contacts, addresses, emails and phone numbers, notes and tags.
- Quotes — line items, reusable templates, recurring quotes, comments and a full status history.
- Invoices and payments — invoices, payment tracking and automated payment reminders.
- Client portal — clients can view quotes, book appointments, upload files and send messages.
- Documents and media — file sharing, job photos and a portfolio.
- Checklists and broadcasts — job checklists and bulk emails to groups of clients.
- Teams — one account for the whole business, with invitations and memberships.
- Referral programme — customers can earn by referring other businesses.
Product architecture
PaidProper is a Laravel 13 application with a Livewire and Tailwind CSS interface. The team, rather than the individual user, is the unit that owns data and pays for the subscription, which keeps pricing simple — one flat price for the whole team — and makes adding a colleague a normal part of the product rather than a billing event.
A lot of what PaidProper does happens outside a web request. Queued jobs, managed by Laravel Horizon, handle sending, syncing and reporting, so the interface stays responsive even when a third-party service is slow.
Payments
Subscriptions are billed through Stripe using Laravel Cashier, and customers can take card payments from their own clients through Stripe. Billing is attached to the team, trials run for fourteen days without a card, and the billing flow also supports the referral programme.
Scheduling
Appointments and bookings are built in, including self-service booking through the client portal. Scheduled commands handle the time-based side of the product: sending quotes at a chosen time, creating recurring quotes, and sending payment reminders and follow-ups.
Notifications and email
Email is how most of PaidProper’s value reaches people: a quote ready to review, a follow-up, a payment reminder, a booking alert, a weekly activity digest. Each is a queued notification, and most are delivered by email with some also stored in the app. Getting timing, tone and deliverability right is a constant part of running the product.
Integrations
Invoices can be pushed to Xero automatically. The integration runs as background jobs so that accounting stays in sync without the user waiting on Xero’s API.
SEO and product marketing
The marketing site is part of the same Laravel application: feature pages, pages for individual trades, comparison pages, a blog and free tools such as quote templates and job checklists. It has a hand-built XML sitemap and JSON-LD structured data, and the interface is available in ten languages. It is a working example of the development-led technical SEO we offer to clients.
Ongoing development
PaidProper is live and in active development. It has an extensive automated test suite — Pest feature tests and Laravel Dusk browser tests — which is what makes frequent releases safe. New features come from what customers actually do and ask for.
If you’re building a SaaS product and want a team that has done this for itself, see SaaS development.
Contact