A comprehensive garage management system built for ERPNext/Frappe Framework that handles vehicle service operations, work orders, inspections, and sales invoice integration.
- Vehicle Job Cards: Complete job card management with status tracking
- Service Work Orders: Individual work order management and tracking
- Vehicle Inspections: Inward and final inspection workflows
- Sales Invoice Integration: Automatic invoice creation and payment tracking
- Parts Management: Track parts usage and costs
- Technician Management: Work assignment and tracking
- Payment Status Tracking: Real-time payment status with overdue detection
- Automatic Status Updates: Smart status progression based on work completion
- Force Cancel Utilities: Handle linked document cancellation issues
- Progress Indicators: Visual work progress tracking
- Comprehensive Reporting: Job card status and work completion reports
- Automatic Creation: Generate invoices from completed job cards
- Payment Tracking: Monitor payment status (Unpaid/Paid/Overdue/Partially Paid)
- Smart Unlinking: Force cancel linked invoices when needed
- Status Synchronization: Auto-update job card status based on invoice status
- Overdue Handling: Automatic detection and status updates for overdue invoices
- Draft → Initial creation
- To Inspection → Requires inward inspection
- To Work Order → Ready for work assignment
- In Progress → Work orders active
- Ready for Delivery → Work completed, ready for invoice
- Completed → Invoice created and work finalized
- Draft → Initial state
- Not Started → Assigned but not begun
- In Progress → Currently being worked on
- Completed → Work finished
- On Hold → Temporarily paused
- Cancelled → Work cancelled
- Install the app:
bench get-app garage_app
bench install-app garage_app- Run database migrations:
bench migrate- Restart the system:
bench restart- Navigate to Vehicle Job Card doctype
- Fill in vehicle details and customer information
- Add required services to the services table
- Submit the job card to begin workflow
- Work orders are automatically created from job card services
- Assign technicians to individual work orders
- Track progress and update status as work progresses
- Mark work orders as completed when finished
- When job card status reaches "Ready for Delivery"
- Click "Create Sales Invoice" button
- Review and submit the generated invoice
- Job card status automatically updates to "Completed"
- Overdue Detection: System automatically detects overdue invoices daily
- Status Updates: Job cards with overdue invoices remain "Completed" status
- Force Cancellation: Use built-in utilities to handle linked document issues
The app automatically creates custom fields for Sales Invoice integration:
vehicle_job_card- Link to source job cardpayment_status- Payment tracking fieldinvoice_total- Total amountoutstanding_amount- Remaining balance
- Daily: Check for overdue invoices and update statuses
- Hourly: Update job card statuses based on work order completion
garage_app.force_cancel_utils.force_cancel_sales_invoice- Force cancel linked invoicesgarage_app.invoice_management.cleanup_and_create_invoice- Clean and recreate invoicesgarage_app.payment_status_updater.check_overdue_invoices- Update payment statuses
garage_app.invoice_management.check_job_card_invoice_status- Check linking status- Vehicle Job Card methods:
create_sales_invoice(),update_payment_status()
"Cannot delete or cancel because Sales Invoice is linked"
- Use the Force Cancel button in Sales Invoice form
- Or run:
bench --site [site] execute garage_app.force_cancel_utils.force_cancel_sales_invoice --kwargs "{'docname': 'INVOICE_NAME'}"
"Field not found" errors in JavaScript
- Ensure all custom fields are created properly
- Check field names match between JavaScript and DocType definitions
Job Card status not updating
- Run payment status updater manually:
garage_app.payment_status_updater.check_overdue_invoices - Check that all work orders are properly completed
For issues and support, please check the error logs in ERPNext and ensure all dependencies are properly installed.
MIT License