System Overview
Welcome to H2 Glam Studio - Salon Billing + HRM System v1.0. This comprehensive guide will help you navigate through all the features of the application, from managing daily appointments to generating monthly payroll.
For first-time setup, go to Settings β Salon Info and configure your salon details, GST settings, and invoice preferences before generating your first bill.
Architecture
The system is built on a modern tech stack for optimal performance and reliability:
- Backend: PHP 8.0+ with Laravel Framework
- Database: MySQL 8 (Port 3308)
- Frontend: Bootstrap 5.3 + Chart.js 4
- Server: XAMPP (Apache + MySQL)
- File Storage: Local storage for photos, logos, and documents
Full Sitemap
Dashboard
- Overview & Stats
- Today's Sales / Expenses
- Staff Attendance Summary
- Appointments Today
- Low Stock Alerts
- Top Services & Staff
- Monthly Chart
Billing / POS
- New Bill (POS Screen)
- Bills & Invoice List
- View Invoice
- Print Invoice (80mm/A4/A5)
- Cancel / Refund Bill
- Collect Due Payment
- Hold & Resume Bill
Appointments
- Appointment List (by Date)
- Book New Appointment
- Check In / In Service
- Cancel Appointment
- Convert to Bill
Customers
- Customer List
- Add Customer
- Edit Customer
- Customer Profile
- Visit History
- WhatsApp Invoice Share
- Loyalty Points
Services
- Service List (by Category)
- Add Service
- Edit Service
- Service Categories
- Commission Settings
- GST Settings per Service
Products
- Product List
- Add Product
- Edit Product
- Low Stock View
- Barcode / SKU
Inventory
- Transaction Log
- Stock Adjustment
- New Purchase Entry
- Supplier Management
- Expiry Alerts
- Stock Valuation
Staff HRM
- Staff List
- Add Staff
- Edit Profile
- Document Upload
- View Staff Profile
- Create Login Account
User Roles & Access
Super Admin
Full access to everything including settings, branches, and roles
Branch Manager
All branch operations β billing, staff, reports (no system settings)
Receptionist
Billing, appointments, customer management
Stylist / Staff
View own appointments, mark attendance, view own services
Accountant
View financial reports, expenses, billing (no editing)
HR Manager
Staff profiles, attendance, payroll, leave management
Go to Roles & Permissions in sidebar to customize exactly which pages each role can view/add/edit/delete.
Billing / POS
The POS screen is the core of the software. It is designed for speed β a complete bill can be created in under 30 seconds.
Billing Flow
Mobile / Name
Click card
Auto popup
Optional
% or Fixed
Cash/UPI/Card
F12 | Auto print
What Happens Automatically on Save
Stock Deducted
Product quantities reduce automatically
Loyalty Points
Customer earns points (1 pt per βΉ100)
Commission
Staff commission recorded for payroll
Invoice Created
Auto-numbered GST invoice generated
Customer Updated
Visit count and total spend updated
Appointment Closed
Linked appointment marked Completed
Step-by-Step: Create a Bill
-
Open POS
Click "New Bill (POS)" in sidebar or press the purple button in header.
-
Find Customer
Press F2 or click the search box. Type mobile number or name. If new customer, they'll be created during billing.
-
Add Services
Press F3 to focus service search. Click any service card to add it. A popup will ask which staff is performing it.
-
Add Products (optional)
Click "Products" tab to switch to retail products. Click to add. Only in-stock products appear.
-
Apply Discount (optional)
Click the pencil icon next to Discount. Enter % or flat amount. Requires discount permission.
-
Select Payment Mode
Click Cash / UPI / Card / Credit / Wallet. For cash, enter received amount to calculate change. Coupon code field is below.
-
Save Bill
Press F12 or click the green "Save Bill" button. Invoice opens in print format automatically.
Click "Hold" to pause a bill and serve another customer. Click "Resume" to get it back. Held bill is stored in browser session only β do not close the tab.
Customer CRM
Customer Journey Flow
Walk-in / Booking
Auto on billing
Auto-tracked
Earn & Redeem
NewβRegularβVIP
Customer Segments
π New
1-2 visits
β Regular
3+ visits
β VIP
5+ visits, βΉ5000+
π΄ Inactive
No recent visits
Open any customer profile β click "Send WhatsApp" to share a message instantly via WhatsApp click-to-chat.
If a customer has allergies noted in their profile, a red warning banner appears on the POS screen when they are selected.
Appointments
Appointment Status Flow
Booking done
Customer arrived
Work started
Bill created
Customer cancelled
Didn't arrive
How to Convert Appointment to Bill
-
Mark "In Service"
Click the βΆ button on the appointment row to move it from Checked In β In Service.
-
Click "Bill" Button
A green "Bill" button appears. Click it β it opens the POS screen pre-loaded with the customer and their booked services.
-
Save Bill
Review, add products if needed, select payment, and save. The appointment is automatically marked Completed.
Services & Products
Services Setup
-
Create Categories First
Go to Services β Categories. Add: Hair Services, Facial, Makeup, etc.
-
Add Services
Services β Add Service. Set name, category, price, GST%, duration, and commission type.
-
Commission Types
Percentage: e.g. 10% of service price. Fixed: e.g. βΉ50 per service. None: no commission.
Inventory Flow
Inventory Management
Purchase Entry Steps
-
Go to Inventory β New Purchase
Select supplier, purchase date, and enter supplier invoice number.
-
Add Products
Click "Add Product" row. Select product, enter quantity, purchase price, GST%, expiry date.
-
Enter Payment
Enter amount paid. If partial payment, balance goes to supplier's due account.
-
Save
Stock is automatically added. Transaction is logged in Inventory β Transaction Log.
A warning appears on Dashboard and Notifications bell when product stock β€ minimum alert level set in the product.
Staff HRM
Staff Management Flow
Profile + Salary
Daily
Commission tracked
Monthly
Salary slip print
Salary Types
Monthly
Fixed monthly amount regardless of attendance (ideal for managers)
Daily
Daily wage Γ present days (ideal for part-time staff)
Commission Only
Earns only from service/product commission
Salary + Commission
Fixed base + commission on top (most common for stylists)
Attendance & Leave
Daily Attendance Marking
-
Go to Attendance
Sidebar β Attendance. Today's date is pre-selected.
-
Mark Status
For each staff, select: Present / Absent / Half Day / Late / Leave / Weekly Off. Enter check-in and check-out times.
-
Bulk Mark
Use "All Present" or "All Absent" buttons to mark all staff at once, then adjust individuals.
-
Save
Click "Save Attendance". Records are used for payroll calculation next month.
Attendance Status Codes
Present
Absent
Late
Half Day
Leave
Weekly Off
Holiday
Go to Attendance β Monthly Report to see the full grid β all staff Γ all dates, with color-coded P/A/L/H status. Can be printed.
Payroll
Payroll Generation Flow
All month
Select month
Salary + Commission - Deductions
Check each row
Select pay mode
PDF-style print
Salary Calculation Formula
Gross = Earned Basic + HRA + Other Allowances
Commission = Sum of all service/product commissions for the month
Net Salary = Gross + Commission - PF - ESI - Advance Deduction - Late Fine
Generate payroll AFTER marking attendance for the full month. If attendance is not marked, present_days = 0 and salary will be βΉ0.
Expenses
Track all salon running costs β rent, electricity, marketing, staff food, repairs, etc.
-
Click "Add Expense"
Opens a modal with title, amount, date, category, payment mode fields.
-
Fill Details
Enter the expense title (e.g., "Electricity Bill June"), amount, select category like "Electricity", and date.
-
Save
Expense is logged and reflected in the Sales Report β Expenses and Estimated Profit cards.
Estimated Profit on Sales Report = Total Revenue - Total Expenses for the selected date range.
Reports
Sales Report
Daily/weekly/monthly sales with trend chart, payment breakdown, top services & staff. Export CSV.
Staff Report
Services done, revenue generated, commission earned, attendance summary per staff.
GST Report
Invoice-wise GST breakdown by tax rate (5%/12%/18%/28%). Print for filing.
Inventory Report
Current stock levels, purchase value vs retail value, low stock highlighted.
Every report has an "Export CSV" button. Use it to open data in Excel for further analysis or accounting.
Settings
Salon Info
Update salon name, address, phone, WhatsApp, email, GSTIN, PAN
Invoice
Set invoice footer, T&C, bank/UPI details shown on invoice
Loyalty
Set how many points earned per βΉ and βΉ value of each point
Printing
Set default print format: RP3230 (80mm) / 58mm / A4 / A5
Customize message templates for invoice sharing, reminders
GST & Tax
Enable/disable GST, set state for CGST+SGST split
Keyboard Shortcuts (POS Screen)
Printing Guide
RP3230 (80mm)
Thermal receipt printer. Fast, no ink. For counter billing.
58mm Thermal
Smaller thermal printer. Compact receipts.
A4 GST Invoice
Full page invoice with customer and salon details, GST breakdown.
A5 Half Page
Compact A5 invoice. Good for smaller businesses.
How to Print from RP3230 Thermal Printer
-
Connect RP3230 via USB
Install the printer driver if needed. Set it as default printer in Windows Printers settings.
-
Open Invoice Print
After saving a bill, click Print button β select "RP3230" format. Or from Bills list β οΈ icon β 80mm.
-
Browser Print Dialog
Press Ctrl+P or the "Print RP3230" button. Select your RP3230 from the printer list. Paper size auto-sets to 80mm Γ auto.
-
Auto-Print (Optional)
Add
&auto=1to the print URL to trigger print automatically without clicking. Useful for fast counter billing.
Set your preferred format in Settings β Printing β Default Printer. This format opens automatically after saving each bill.
Troubleshooting
Cannot login
Check email and password. Password is Admin@123 by default. If account is locked, wait 15 minutes or reset via database.
Payroll showing βΉ0
Attendance for that month is not marked. Go to Attendance, mark daily attendance for all working days, then regenerate payroll.
Chart not showing
This is a browser cache issue. Hard refresh with Ctrl+Shift+R. Chart.js must load before the chart script runs.
Stock not reducing
Only products with "is_for_retail" checked will reduce stock on billing. Check the product settings.
Print not fitting
Select correct format β 80mm for thermal RP3230, A4 for full GST invoice. Check default printer in Settings.
Headers already sent error
This is fixed by ob_start() in header.php. If it recurs, check for whitespace/BOM before.
Page shows blank
Check XAMPP Apache and MySQL are running (port 3308). Run http://localhost/billing β should redirect to login.
Session expires too fast
Increase session.gc_maxlifetime in php.ini. Default is 1440 seconds (24 min).
Run this SQL in phpMyAdmin:
UPDATE users SET login_attempts=0, locked_until=NULL WHERE email='admin@salon.com'
phpMyAdmin β http://localhost/phpmyadmin β Database: salon_db
H2 Glam Studio
β Salon Billing + HRM System v1.0
For support, contact your system administrator.
Generated on 02 Sep 2026