How to write a professional hair salon invoice
A hair salon invoice does three jobs: it tells the client exactly what they are paying for, it protects you legally, and it makes you look like a business worth paying on time. At minimum it should include your business name and contact details, the client's name and job location, a unique invoice number, the invoice date and due date, an itemized list of services or materials, and the total amount due.
Typical hair salon line items
- Cut & style
- Color service
- Blowout
- Treatments
- Sales tax where applicable (toggle the taxable switch per line item)
- Deposit or partial payment already collected — it is deducted automatically
Payment terms & tips for hair salon
Beauty pros often collect a booking deposit to cut no-shows. List retail products separately from services, and note your cancellation policy in the notes field.
Add your preferred payment methods (Zelle, check, ACH…) so clients can pay without a follow-up call, and always include a PO or job reference when billing a company — accounting teams reject invoices without one.
Hair Salon invoice FAQ
What should a hair salon invoice include?
Include your business name and contact details, the client name and job location, an itemized list of services or materials with quantities and rates, the date and invoice number, payment terms, and the total amount due. Hair Salon invoices often also list license numbers, job reference numbers, or insurance details.
Can I add a deposit or partial payment to a hair salon invoice?
Yes. Enter the amount already collected in the Deposit Paid field — the generator subtracts it automatically and shows the Balance Due your client still owes.
Is this hair salon invoice template really free?
Yes — 100% free, no account or signup required. Everything runs in your browser, and your business and client data never leaves your device.
Which formats can I download?
You can export your finished invoice as a print-ready PDF, an editable Word (DOCX) file, or an Excel (XLSX) spreadsheet — all generated locally in your browser.