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.

Quick Start

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

Tip

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

Search / Select Customer
Mobile / Name
β†’
Select Services
Click card
β†’
Assign Staff
Auto popup
β†’
Add Products
Optional
β†’
Apply Discount
% or Fixed
β†’
Select Payment
Cash/UPI/Card
β†’
Save Bill
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

  1. Open POS

    Click "New Bill (POS)" in sidebar or press the purple button in header.

  2. Find Customer

    Press F2 or click the search box. Type mobile number or name. If new customer, they'll be created during billing.

  3. Add Services

    Press F3 to focus service search. Click any service card to add it. A popup will ask which staff is performing it.

  4. Add Products (optional)

    Click "Products" tab to switch to retail products. Click to add. Only in-stock products appear.

  5. Apply Discount (optional)

    Click the pencil icon next to Discount. Enter % or flat amount. Requires discount permission.

  6. Select Payment Mode

    Click Cash / UPI / Card / Credit / Wallet. For cash, enter received amount to calculate change. Coupon code field is below.

  7. Save Bill

    Press F12 or click the green "Save Bill" button. Invoice opens in print format automatically.

Hold Bill

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

First Visit
Walk-in / Booking
β†’
Profile Created
Auto on billing
β†’
Visits & Spend
Auto-tracked
β†’
Loyalty Points
Earn & Redeem
β†’
Segment Upgrade
New→Regular→VIP

Customer Segments

πŸ†• New

1-2 visits

βœ“ Regular

3+ visits

⭐ VIP

5+ visits, β‚Ή5000+

😴 Inactive

No recent visits

WhatsApp

Open any customer profile β†’ click "Send WhatsApp" to share a message instantly via WhatsApp click-to-chat.

Allergy Notes

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

Confirmed
Booking done
β†’
Checked In
Customer arrived
β†’
In Service
Work started
β†’
Completed + Billed
Bill created
Cancelled
Customer cancelled
or
No Show
Didn't arrive

How to Convert Appointment to Bill

  1. Mark "In Service"

    Click the β–Ά button on the appointment row to move it from Checked In β†’ In Service.

  2. Click "Bill" Button

    A green "Bill" button appears. Click it β€” it opens the POS screen pre-loaded with the customer and their booked services.

  3. Save Bill

    Review, add products if needed, select payment, and save. The appointment is automatically marked Completed.

Services & Products

Services Setup

  1. Create Categories First

    Go to Services β†’ Categories. Add: Hair Services, Facial, Makeup, etc.

  2. Add Services

    Services β†’ Add Service. Set name, category, price, GST%, duration, and commission type.

  3. Commission Types

    Percentage: e.g. 10% of service price. Fixed: e.g. β‚Ή50 per service. None: no commission.

Inventory Flow

Purchase Entry β†’ Stock In ↑
↓
Retail Sale (POS) β†’ Stock Out ↓
↓
Service Use β†’ Stock Out ↓
↓
Low Stock Alert ⚠ (if qty ≀ min level)

Inventory Management

Purchase Entry Steps

  1. Go to Inventory β†’ New Purchase

    Select supplier, purchase date, and enter supplier invoice number.

  2. Add Products

    Click "Add Product" row. Select product, enter quantity, purchase price, GST%, expiry date.

  3. Enter Payment

    Enter amount paid. If partial payment, balance goes to supplier's due account.

  4. Save

    Stock is automatically added. Transaction is logged in Inventory β†’ Transaction Log.

Low Stock Alert

A warning appears on Dashboard and Notifications bell when product stock ≀ minimum alert level set in the product.

Staff HRM

Staff Management Flow

Add Staff
Profile + Salary
β†’
Mark Attendance
Daily
β†’
Services Done
Commission tracked
β†’
Generate Payroll
Monthly
β†’
Mark Paid
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

  1. Go to Attendance

    Sidebar β†’ Attendance. Today's date is pre-selected.

  2. Mark Status

    For each staff, select: Present / Absent / Half Day / Late / Leave / Weekly Off. Enter check-in and check-out times.

  3. Bulk Mark

    Use "All Present" or "All Absent" buttons to mark all staff at once, then adjust individuals.

  4. Save

    Click "Save Attendance". Records are used for payroll calculation next month.

Attendance Status Codes

P
Present
A
Absent
L
Late
H
Half Day
Le
Leave
W
Weekly Off
Ho
Holiday
Monthly Report

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

Mark Attendance
All month
β†’
Click Generate
Select month
β†’
Auto Calculate
Salary + Commission - Deductions
β†’
Review Payroll
Check each row
β†’
Mark Paid
Select pay mode
β†’
Print Salary Slip
PDF-style print

Salary Calculation Formula

Earned Basic = (Basic Salary Γ· Working Days) Γ— Present Days
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
Important

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.

  1. Click "Add Expense"

    Opens a modal with title, amount, date, category, payment mode fields.

  2. Fill Details

    Enter the expense title (e.g., "Electricity Bill June"), amount, select category like "Electricity", and date.

  3. Save

    Expense is logged and reflected in the Sales Report β†’ Expenses and Estimated Profit cards.

Profit Calculation

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.

Export CSV

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

WhatsApp

Customize message templates for invoice sharing, reminders

GST & Tax

Enable/disable GST, set state for CGST+SGST split

Keyboard Shortcuts (POS Screen)

F2 Focus customer search box
F3 Focus service search box
F12 Save bill (same as clicking Save Bill button)
Enter (in search) Trigger search / filter
Tab Move between form fields
Esc Close modals

Printing Guide

How to Print from RP3230 Thermal Printer

  1. Connect RP3230 via USB

    Install the printer driver if needed. Set it as default printer in Windows Printers settings.

  2. Open Invoice Print

    After saving a bill, click Print button β†’ select "RP3230" format. Or from Bills list β†’ ️ icon β†’ 80mm.

  3. 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.

  4. Auto-Print (Optional)

    Add &auto=1 to the print URL to trigger print automatically without clicking. Useful for fast counter billing.

Default Printer

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).

Quick Reset (if locked out)

Run this SQL in phpMyAdmin:
UPDATE users SET login_attempts=0, locked_until=NULL WHERE email='admin@salon.com'

Database Access

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