Item Description
RepairFlow — Repair & Service Shop Management System
I started building RepairFlow after working with a garage owner who tracked everything in paper notebooks. His real problem wasn't the repairs — it was knowing whether a job was profitable after parts were sourced, and whether his mechanics were working on what they were supposed to be working on. No off-the-shelf script handled that combination, so I built this from scratch for real shop conditions.
It's been running live in production and has processed real repair orders, real invoices, and real inventory movements. This isn't a demo-only project.
Live Demo — repairflow.dreamteams.cloud | Documentation
Demo accounts — password 123456 for all:
| Role | Login | What they see |
|---|---|---|
| Admin | 0900000001 | Everything — settings, reports, all modules |
| Receptionist | 0900000002 | Front desk: appointments, repair orders, invoices, customers |
| Technician | +15550100001 | Only their own assigned jobs — no prices, no estimates |
| Accountant | 0900000004 | Payments, debts, cash book, financial reports only |
Three things that make it different from other repair scripts
1. Digital Vehicle Inspection (DVI) with a customer-facing shareable link
The technician fills out a checklist — Good / Monitor / Needs Repair — and uploads photos per item. The system generates a unique link you send to the customer via WhatsApp or Zalo. The customer views the full inspection report in their browser with no login. When the customer first opens the link, the system records the timestamp. Items flagged as "Needs Repair" can be converted into an estimate in one click — no re-typing. I haven't seen another repair shop script on any marketplace that does this.
2. Remote estimate approval via a shareable link
Send a unique link to the customer. They enter their phone number to verify identity, then approve or decline. No customer account needed. On approval, the estimate converts directly into a repair order with all line items pre-filled. This was designed for situations where the customer drops off the car and you need their sign-off before starting work.
3. One codebase, four shop types
Set the shop type once in General Settings — Auto Workshop, Phone Repair, Electronics, or Custom — and the entire system changes: what the "asset identifier" field is called (plate number / IMEI / serial number), whether odometer is shown, and which inspection templates appear. I'm using this same codebase deployed for different clients with different configurations.
Full module list (17 modules)
Repair Orders — status workflow (Received → In Progress → Parts Waiting → Completed → Returned), multiple technician assignment, internal timeline per order, FIFO inventory auto-deduction on completion, one-click invoice generation. The system prevents double-deducting parts from the same order.
Digital Inspection (DVI) — admin-built templates, technician fills on mobile, photo uploads per item, shareable customer link, first-view timestamp recorded, convert flagged items to estimate.
Estimates with Remote Approval — line items with discount and tax, shareable approval link, phone number verification, approved estimate converts to repair order automatically.
Appointments — book with customer, asset, technician, and service notes. Status: Pending → Confirmed → Arrived / Cancelled. Convert to repair order or DVI with one click — details carry over. Technicians have a personal day-by-day schedule view.
Invoices & Payments — auto-generated from completed repair orders, partial payment support, multiple payment accounts (cash, bank, e-wallet), shareable public invoice preview (no customer login needed), print-ready layout.
Inventory — FIFO batch lot tracking, purchase orders with supplier debt, multi-warehouse + storage location support, stock transfer between locations, kit unbundling with cost allocation, low-stock alerts. Product types: Part, Labor/Service, Bundle/Kit.
Customer Debt & Supplier Debt — aging tracking, partial repayments, overdue highlighting.
Cash Book — income entries auto-created from invoice payments, expense entries from supplier payments, manual expense entries, daily summary per account.
CRM / Leads — prospect pipeline, activity log per lead (calls, messages, notes), source tracking, one-click convert to customer.
5 Report types — Revenue & Profit (gross margin, net profit, trend chart), Inventory value & movement, Debt aging, Operations KPIs & technician performance, Customer & asset history. All reports support Today / 7 Days / This Month / This Quarter / Custom date range.
Roles & Permissions — 4 built-in roles + custom role builder. Powered by Spatie Laravel Permission. Technicians see only their assigned orders and never see cost prices or margins.
Web Installer — 7-step browser-based wizard, no SSH or CLI knowledge needed. Checks PHP extensions, creates the database if it doesn't exist, streams the install log live in the browser. Routes are auto-locked after install completes so the installer can't be re-run.
System Audit Log — every login, logout, failed login, create, update, delete, and restore action is recorded with a before/after data diff. Admin-only access.
PWA — installable from the browser, web push notifications for new orders and completions, mobile bottom nav for technicians, sidebar nav for office roles on desktop.
SMTP Config — configurable from admin settings panel, test email from UI, Gmail App Password supported.
Tech stack
- Backend: Laravel 12, PHP 8.2+
- Frontend: Livewire v3 (v4.x compatible), Alpine.js, Tailwind CSS v4
- Database: PostgreSQL 14+ — MySQL is not supported (JSONB columns are used)
- Auth: Custom provider — staff can log in with phone number or email
- Permissions: Spatie Laravel Permission v6
- Audit: owen-it/laravel-auditing v14
- PDF: barryvdh/laravel-dompdf v3
- Push: laravel-notification-channels/webpush (VAPID)
- Architecture: Livewire component → Service interface → Service → Repository interface → Repository → Model. Every interface is bound in service providers — no concrete class injection.
The codebase uses a custom Enum base class (not PHP 8.1 backed enums) that supports values() for select dropdowns and getLabel($value) with locale-aware translation. All user-visible strings go through translation keys — nothing is hardcoded in English or Vietnamese.
What's in the package
- Full Laravel 12 source code, PHP 8.2+ — no encoded files, no licensing server
- 17 functional modules, all wired up and working
- 7-step web installer (browser-based, no CLI)
- Vietnamese and English language files, fully translated
- 4 built-in roles with a custom role builder
- Inspection template seeders for Auto, Phone Repair, and Electronics shop types
- Demo seeder with realistic data across all modules
- PWA manifest, service worker, web push keys setup guide
- Database migrations and role/permission seeders
- HTML documentation: Installation Guide, User Guide (all 17 modules), Changelog
- 6 months support
Server requirements
PHP 8.2 or 8.3, PostgreSQL 14–16, Apache 2.4+ or Nginx 1.18+, HTTPS (required for PWA and push notifications). Required PHP extensions: pdo_pgsql, openssl, mbstring, tokenizer, xml, ctype, json, curl, gd, zip, fileinfo, intl. Node.js is not needed at runtime — compiled frontend assets are included.
Tested on: Ubuntu 22.04 VPS, macOS local dev (Herd), Hostinger shared hosting (PHP 8.2).
Who this is for
Shop owners who want to stop tracking jobs on paper or in spreadsheets and need something that actually fits how a repair shop works — not a generic CRM with "repair" bolted on.
Developers and agencies deploying a system for a repair shop client. The Service/Repository architecture and interface binding make it straightforward to extend without touching the core layer.
SaaS builders who want a working multi-role, multi-vertical base to clone per customer or build a proper multi-tenant product on top of.
Changelog
v1.0.0 — 2026-08-26 — Initial release
17 modules: Repair Orders, Digital Inspections (DVI), Appointments, Estimates (remote approval), Invoices, Payments, Customer Debt, Supplier Debt, Cash Book, Inventory (FIFO + Kit Unbundling), CRM/Leads, 5 Reports, Roles & Permissions, System Audit Log, SMTP Config, PWA, Web Installer.
Features
Repair Orders
- Full status workflow: Received → In Progress → Parts Waiting → Completed → Returned
- Multiple technician assignment per job; internal timeline logs every status change and note
- FIFO inventory deduction on completion — parts cannot be double-issued
- One-click invoice generation from a completed order
Digital Inspection — DVI
- Admin builds reusable inspection templates with groups and checklist items
- Technician marks each item: Good / Monitor / Needs Repair; attaches photos per item
- Shareable customer result link — customer views without logging in
- System records the moment the customer first views the link
- Convert flagged inspection items to an estimate in one click
Estimates with Remote Customer Approval
- Line-item estimates with discount and tax
- One-click shareable link — send via WhatsApp, Zalo, or SMS
- Customer verifies with their phone number then approves or declines remotely
- Approved estimate converts to repair order with no data re-entry
Invoices & Payments
- Auto-generated from completed repair orders; print-ready layout
- Shareable public preview link — customer views invoice without logging in
- Multiple partial payment entries per invoice
- Configurable payment accounts: cash, bank transfer, e-wallet
- Status tracking: Unpaid / Partially Paid / Fully Paid
Inventory Management
- Product types: Single Part, Service/Labor, Bundle/Kit
- Purchase orders: Draft → Review → Confirmed workflow
- FIFO batch lot tracking — oldest stock issued first, automatically
- Multi-warehouse and storage location support
- Stock transfer between locations with quantity selection
- Kit unbundling with per-component cost allocation
- Low-stock alerts when quantity falls below minimum level
Appointments
- Book with customer, asset, date/time, assigned technician, and service notes
- Status: Pending → Confirmed → Arrived / Cancelled
- One-click convert to repair order or digital inspection — all fields pre-filled
- Technician "My Schedule" — personal day-by-day calendar view
Customers & Assets
- Individual and corporate customer types (with tax code field for B2B invoicing)
- Multiple assets per customer; asset identifier uniqueness enforced system-wide
- Customer detail page: asset list, full invoice history, outstanding balance
- Shop type configures asset terminology (vehicle / device / equipment) throughout the UI
CRM / Leads
- Track prospects who enquired but have not visited yet
- Activity log per lead: calls, notes, Zalo/Facebook messages
- Source tracking for conversion analysis
- Status: New → Contacted → Qualified → Converted / Not Interested
- One-click convert lead to full customer record
Debt Management
- Customer debt aging summary and per-invoice payment history
- Supplier debt with overdue highlighting and repayment recording
- Payment history is immutable — corrections via reverse entry
Cash Book
- Auto-recorded income entries from invoice payments
- Auto-recorded expense entries from supplier payments
- Manual expense entry for other outgoings
- Summary: Total In / Total Out / Net Balance per payment account and date range
Reports (5 Types)
- Revenue & Profit — gross margin, net profit, month-on-month trend chart
- Inventory — stock value, fast/slow movers, movement history, location allocation
- Debt & Cash Flow — customer aging, top debtors, supplier aging, daily cash flow
- Operations — repair order KPIs, average handling time, technician performance, appointment conversion rate
- Customers & Assets — new vs. returning customer ratio, assets due for service, full service history
- Date filters: Today / 7 Days / Month / Quarter / Custom range
Roles & Permissions
- 4 built-in roles: Admin, Receptionist, Technician, Accountant
- Fully customizable additional roles via Admin panel
- Granular permission matrix — powered by Spatie Laravel Permission v6
- Technicians see only their own assigned repair orders; never see cost prices or financial reports
System & Administration
- System audit log — records every login, logout, create, update, delete, and restore with before/after diff
- General settings: shop name, logo, currency, language (VI/EN), timezone, opening hours, PWA icons
- SMTP configuration from Admin UI — no server file editing; test send feature included
- Forgot password — time-limited email reset link (60 minutes)
- Phone-or-email authentication — staff can log in with either
Web Installer
- 7-step guided wizard runs entirely in the browser — no SSH or CLI needed
- Automatic PHP extension check with clear pass/fail display
- Auto-creates PostgreSQL database if it does not exist
- Real-time install log streamed to browser during setup
- Installer routes auto-locked after completion
PWA & Mobile
- Fully responsive — designed for phones first, scales to tablet and desktop
- Installable as a native-style app from the browser (no App Store)
- Web push notifications for new repair orders and completions
- Bottom navigation bar optimised for technicians on mobile
- Sidebar navigation for office roles on desktop
Multi-Vertical
- Shop type setting adapts asset labels, identifier fields, and inspection templates throughout the entire UI
- Supported verticals: Auto Workshop, Phone Repair, Electronics Repair, Custom
- Switch vertical at any time from General Settings — no code changes needed
Internationalisation
- Full Vietnamese and English language support
- Language can be switched from General Settings
- All text uses translation keys — easy to add additional languages
All Reviews
Verified source code
Free support included
Download code immediately after purchase
Quality guarantee for your satisfaction
Support: info@sellanycode.com
All Questions
Information
| Category | Scripts & Code / PHP Scripts |
| First Release | 9 September 2026 |
| Files included | .php, .html, .css, Javascript .js |
| File Size | 20 MB |
| Frameworks | PHP Scripts |
Start Selling Your Code. Enjoy 80% Revenue Share, Fast Payouts for All Developers!
START SELLING NOWItem Purchase
RepairFlow Repair & Service Shop Management System | Laravel Livewire & PWA (€45.00)
*Price does not include processing fee