Tangled LLC. Short answers about the account, the files, and the reports.
Click a question to open the answer. Button and tab names below match the analytics page. Still stuck? Write to us from the Contact page.
An analytics page for salon owners. You upload your checkout (sales) file and your staff hours, and the account shows the day, the week, the month and the year: revenue per labor hour (RPLH) against your break-even, utilization, labor %, the service mix, and profit after wages and costs. It also has a pay-period bonus calculator and a weekly scheduler.
It does not book appointments, take card payments, run payroll, file taxes, or replace your booking software. To see what it looks like first, open the Sample.
Tangled Solo is built for booth and suite renters: $29 a month after a 7-day free trial, no card needed to start. It shows your take-home per chair hour after rent, product and card fees, the day each month your rent is covered, tips, which services and regulars pay best, and a tax set-aside. It reads your GlossGenius, Vagaro, Square, Phorest, etc. export in your browser. Start your trial on the Tangled Solo page, or try it with Example numbers first.
Salon owners with employee or commission stylists use the Growth Plan: $59 a month plus $15 per additional location.
You land on your salon page, with Open my analytics and Start 7-day free trial (then $59 / month).
If it says “Payment not confirmed yet. Refresh in a minute.”, wait a minute and refresh the page.
The tool opens after the month is paid and you agree to the terms of service. The agreement is remembered in that browser, so a new browser or device may ask you to agree again.
Load Day brings back a saved date. Clear only empties the screen; it does not delete the saved day.
Your sign-in lasts for the browser tab. Closing the tab or the browser ends it. Sign in again and your saved data loads back from your account.
How to get the file out of your booking system, into the tool, and checked. Menu names in other companies’ software may vary slightly.
File types accepted: .csv, .txt and .pdf. You can pick several files at once; they are read one after another.
.csv file.Menu names may vary slightly. Export whole days; the tool replaces each date it finds in a file (see re-uploading).
Open it in a spreadsheet. It should have one row per item, with columns for the checkout date and time (such as Date Succeeded), the item type (Service, Retail, Gratuity…), the service or product name (such as Descriptor), the staff member (such as Provider) and Price.
After you upload it, the Import bar says “GlossGenius line-item format detected.” If that line is missing, the file was read as a generic file. Check that you chose the line-item report and did not rename its columns.
Scheduled hours are paid hours on the clock. Billable hours are hours spent with clients.
Hours first, then the checkout file. An hours-only file has no sales in it, so for the dates it covers it sets that day’s sales numbers to zero. A checkout upload afterwards puts the sales back and keeps the hours.
If you already did it the other way round, upload the checkout file again for those dates.
Not as-is. The tool has no special reader for timesheet exports; it reads hours only from a CSV with Date, Staff and Scheduled Hours columns (Billable Hours optional).
GlossGenius lists Time Sheets among its reports on its Gold and Platinum plans, and its help center says timesheet entries can be exported as CSV (the report is emailed to the account email). To use one:
Date, Staff, Scheduled Hours (and Billable Hours if you track it).Partly. The tool automatically recognizes the GlossGenius line-item layout, the Phorest Sales Transactions CSV (net of discount and VAT; Phorest steps), and the Square Item Sales Detail CSV (Square Service rows count as Service $, product rows as retail, and refunds are subtracted). Raw exports from other systems are not directly supported: their column names differ, and a raw line-item file from another system can be misread (for example, retail left out, or every service given the same name).
The reliable route: export a sales report from your system, total it per day (and per stylist, if you can) in a spreadsheet, and save it in the daily summary format. Then upload that file.
Use a system that is not listed? Other booking systems can be added on request. Email us a sample export and we will add it.
Use these exact headers in the first row. Date and Service Sales are required; the rest are optional.
| Header | What goes in it |
|---|---|
Date | The day, like 2026-03-09 or 3/9/2026. |
Staff | The stylist. Needed for per-stylist numbers and for hours. |
Service Sales | Service revenue, without tips. |
Retail Sales | Product sales. |
Tips | Gratuity (kept separate from Service $). |
Tickets | Number of clients or services. |
Scheduled Hours | Paid hours on the clock. |
Billable Hours | Hours with clients. |
One row per stylist per day (or one row per day, without the Staff column). Numbers can include $ and commas. Example:
Date,Staff,Service Sales,Retail Sales,Tips,Tickets,Scheduled Hours,Billable Hours 2026-03-09,Stylist A,400,30,60,6,8,6 2026-03-09,Stylist B,300,0,40,4,7,5 2026-03-10,Stylist A,350,20,50,5,8,5.5
Keep only these columns. Extra columns with words like “total”, “amount” or “price” in the header can be picked up as the wrong number. A file with no Date column is filed under the date picked on the Daily tab.
Pointers from each company’s help center. Square’s Detail CSV uploads directly; for the others, use the export to fill in the daily summary format; menu names may vary slightly.
.csv, .txt or .pdf) and open them.There is no separate save step. Uploaded days are saved right away and synced to your account.
Each date in the new file replaces that date’s sales numbers: Service $, retail, tips, tickets, service counts and each stylist’s Service $. Nothing is double-counted, and named client visits are not duplicated.
Because a date is replaced as a whole, export whole days. If one day’s sales are split across two files, the second upload replaces the first for that day.
Yes, as a fallback. The tool reads the PDF’s text (it needs an internet connection the first time, to load the PDF reader). If the text looks like a table, it is read like a CSV. Otherwise the tool finds a date and dollar amounts and fills in one day’s revenue as an estimate.
After a PDF upload, check the Daily tab and fill in hours and stylist Service $. CSV exports import more accurately.
The analytics page has nine tabs: Daily, Services, Weekly, Weekday trends, Schedule, Monthly, Annual, Payroll and Team.
Tiles turn green, yellow or red against the targets on the Team tab. Use Calculate, Save Day, Load Day and Clear to work with one date.
Pick a date in Week of (the tab shows seven days from that date) and click Refresh.
A read-only look at days you already saved; nothing on this tab changes your data. Use it to see how every Monday (or any weekday) behaved across a year before you post a schedule.
You get averages by weekday, a trend chart, a year heatmap (gold is positive, red is negative, empty means no saved day), the stylists who worked that weekday, and every matching date.
Pick the Month and click Refresh.
Pick the Year and click Refresh.
It works out RPLH bonuses by pay period. It does not run payroll.
The Pay periods table (last 4 to 26 periods) shows each stylist’s hours, production, RPLH, tier and bonus; the summary below totals them. Bonus RPLH is production ÷ scheduled hours for the period.
On Weekly, Monthly and Annual. It shows the peak hour, peak weekday, peak week, peak month and busiest day, and a heat table of tickets by checkout hour. The hour is when the ticket checked out in your booking system (usually near the end of the service), in this computer’s local time. It needs a GlossGenius line-item upload, which carries checkout times. Tips are left out.
Revenue per labor hour: service revenue (tips left out) ÷ scheduled (paid) hours. For one stylist it is their Service $ ÷ their scheduled hours.
On the Daily tile, green means at or above your stretch goal, yellow means at or above break-even, and red means below break-even.
The RPLH break-even ($) you set on the Team tab ($42 until you change it). It is drawn across the RPLH charts. Hours or days under the line bring in less per labor hour than your break-even.
Stylist RPLH charts also show a labor-cover line: the cover wage × (1 + employer burden), what an hour must bring in to cover that hour’s pay. Leave Cover wage $/hr blank to use the most common roster rate.
Billable hours ÷ scheduled hours. The Team tab target is 80% with a warning below 65% until you change them. The scheduler separately aims for 90% when it sets hours.
Day profit = service revenue + retail − labor − product cost − the day’s fixed-cost share − other variable costs − card fees.
Weekly, Monthly and Annual add up the saved days. Profit margin compares profit with revenue.
Labor cost ÷ service revenue. By default it shows green at or below 50% and red above 55%; set your own on the Team tab.
The tool treats gratuity as a pass-through, not salon revenue. Tips are tracked on their own line in Daily inputs and are left out of Service $, RPLH, profit and client spend.
On the Annual tab: the year’s run-rate × 365, minus the full year of fixed costs. It is a straight-line estimate from the days you have saved.
The totals show week hours, estimated labor (with FICA), stylist-days and the average on the floor. The schedule does not change your saved Daily days.
It reworks the week’s hours from the shifts on the grid and your saved Daily history: the same week last year, your weekday trends, and the last 8 weeks. Each day’s hours target is billable hours ÷ 90% utilization.
It changes the posted week and lists what it read; the notes box clears afterwards. Notes can also cap the people on a day (“only 3 people”), even out hours, cut or add hours by a percent, start a day later, close a day, or open a holiday.
.jpg picture (a preview also appears on the page).Show fill-ins shows or hides fill-in staff. Remove under a name takes that person off the posted schedule; saved Daily history is not deleted.
Change them whenever rent or utilities change, and save again.
When you save, the monthly total × 12 is spread evenly over this calendar year’s operating days: every day with a saved record, plus the rest of the year projected at the salon’s observed open rate. Days with no record (closed days, such as holidays) carry $0.
Reset defaults restores the starting values (break-even $42, stretch goal $50, utilization 80% / warn 65%, labor green ≤ 50% / red > 55%, retail 12%, card fee 2.6%, burden 7.65%). It also sets fixed costs back to $0.
Rate changes apply to new daily entries; days already saved keep their rate. Stylists added from an upload start at $20/hr, so set their real rate. Add employee on the Schedule tab also adds to the roster.
Set Txn fee % (card processing) on the Team tab (2.6 by default) and click Save targets & fixed costs. For a single day, change Txn fee rate % on the Daily tab; Card / collected sales for fee $ sets the amount the fee applies to (blank means service + retail).
New accounts get a 7-day free trial, no card needed. After that, the Growth Plan is $59 a month, collected by Stripe.
Under the terms, you may cancel any month. A month already paid is not refunded, and access lasts through the paid month.
Canceling does not delete your data. To remove it, sign in and use Delete my data or Delete account.
Under the terms, the account can close until the month is paid again. Update your card in the Stripe billing portal.
While you are signed in, a small bar sits at the bottom right of the page with your email, Sign out, Delete my data and Delete account.
Click Sign out. Any pending change is saved to your account first, then the copy in this browser is cleared and you return to the sign-in screen.
Your account and billing stay open. The export still sitting in your booking software is not touched.
DELETE and confirm.This deletes your account and all its data, and cancels your subscription. If you see “Could not delete the account…”, try again or write to us.
Or write directly to [email protected]. Please don’t send passwords or client lists.
Yes, on a paid account. The tool keeps a working copy in your browser and saves it to your account automatically a few seconds after each change, and when you leave the page. When you sign in, it loads back, so you can sign in from another computer.
This covers saved days, the roster, settings and fixed costs, the service list, the schedule and stored client names.
No. Each account can read only its own salon’s data. Under the terms it is one salon, one login: don’t share your password or upload another shop’s file.
From the terms: you keep the client list. Tangled does not sell it and does not use a salon’s guests to market to another salon. Files are used to build that salon’s read and to keep the archive for that account.
The file itself is not kept. The tool stores the numbers it reads: each day’s totals, each stylist’s hours and Service $, service counts, and checkout-hour counts. From a GlossGenius line-item file it also stores full client names with visit dates, stylist and spend (services + retail), for the client counts. Walk-ins and first-name-only tickets are ignored.
tangled_analytics_2026-03-09.json downloads.It holds the roster, saved days, settings (targets, fixed costs, pay settings) and the service list. It does not include the schedule grid or stored client names.
.json file.Days in the backup are added, or replace the same dates. The roster, settings and service list are replaced by the backup’s.
No data rows: the file is empty or has only a header. Export again with a date range that has sales.
No usable rows: the tool could not find dates or values it understands. Use the GlossGenius line-item export, or the daily summary format with its exact headers.
The tool reads .csv, .txt and .pdf. Open an Excel file and save it as CSV, then upload the CSV.
The PDF reader loads from the internet the first time you upload a PDF. Connect and try again, or use a CSV export, which imports more accurately.
Hours may have been estimated from ticket times. Upload real hours, or type Sched hrs and Billable hrs on the Daily tab and click Save Day. Also check each stylist’s rate on the Team tab.
The tool matches staff by first name (or a matching roster name), so two people who share a first name are counted together. If this affects your salon, write to us from Contact.
That saved day includes someone who is no longer on the roster. They still count toward that day. Add them back on the Team tab if you need to edit their rate.
There are no saved days in that period yet, or a needed input is zero (for example, no hours). Pick a period that has data and click Refresh.
Fixed costs may not be entered or saved yet. Enter them on the Team tab and click Save targets & fixed costs. Also check stylist rates and the day’s product cost.
The file is not a Tangled Analytics backup, or it was changed. Use a file made with Export JSON.
Changes save to your account a few seconds after you make them. When you finish, click Sign out; it saves any pending change first. Then sign in on the other computer.
No questions match. Try another word, or write to us from the Contact page.