Barform Docs
Open Barform (opens in a new tab)

Labor report

Hours and pay per person and per shift, how overtime is worked out under Mexican labor law, pay rates, open entries and payroll exports.

On this page

Reports › Labor turns the time clock's completed entries into payroll: for each person, how many shifts, how many payable hours, how many of those are regular and how many are overtime at double or triple, and what that costs at their hourly rate. A shift-by-shift detail sits underneath. Recording and fixing the punches themselves is on Time clock and schedule.

Read the Labor report

Who can do this: admins and managers, on every plan. Both see every pay figure, and the exports include each person's rate.

  1. In the back office, go to Reports › Labor. It opens on the last 14 days.
  2. Pick a range: This week, Last week, 14 days, This month or Last month, or set From and To. Any range splits double and triple overtime correctly: one that starts mid-week still counts the overtime worked earlier that service week.
  3. Read the four figures: Payable hours, Regular, Overtime (with "… at double · … at triple") and Total pay.
  4. Read the table, one row per person: Staff (with their role under the name), Shifts, Payable, Regular, OT ×2, OT ×3 and Pay, with a Total row.
  5. Click Shift detail (N shifts) to see every shift: Staff, Date, In, Out, Shift, Break, Payable, Regular, OT ×2, OT ×3 and Pay.

The page's intro says it plainly: "Hours and pay by shift. Days run on your service time, so a shift that ends after midnight belongs to the night it started."

What counts

  • A shift is one completed time entry. It's in the report when its clock-in falls between the start of the first service day you picked and the end of the last. Its Date is the service night of the clock-in. The shifts earlier in the first day's service week are read too, only to count that week's overtime; they aren't shown.
  • Ranges are service days, counted from the venue's date today: 14 days is today and the 13 days before; This week runs from the first day of the current service week to today; Last week is the seven days before that; This month and Last month are calendar months. The line under the range shows your service-day window.
  • Only completed entries count. An entry still on the clock isn't shown until it's closed (see Entries still open).
  • Approved and unapproved entries count the same.
  • Inactive staff are included for the shifts they worked.
  • The role shown is the person's current role.
  • In Shift detail, Break is the unpaid break time. Paid breaks appear only in the exports.
  • Hours are worked out to the second and shown with two decimals; money in pesos, like $1,234.56.
  • With no completed shifts in the range: "You currently have no data for the selected date range."

Note

Everything is worked out again each time the page opens. Changing a rate or one of the overtime settings changes what past periods show too.

How overtime and pay are worked out

Barform applies the Ley Federal del Trabajo overtime rules to every shift: regular hours up to a daily limit, then overtime — paid double for the first block of overtime in each service week, and triple beyond it.

For each shift:

  1. Shift hours = clock-out − clock-in.
  2. Payable hours = shift hours − unpaid breaks, never below zero. Paid breaks stay in.
  3. Regular hours = the payable hours, up to what the same person's earlier shifts that night left of your Ordinary hours per day. The limit is per person per night, so a split shift gets it once.
  4. Overtime = payable − regular.
  5. Double or triple: the person's overtime from their earlier shifts in the same service week (in clock-in order) uses up the double-time allowance first — counted from the start of the service week, even when the dates you picked start later. This shift's overtime is double until the allowance is used up, and triple after that.
  6. Pay, in centavos, rounded per shift: regular hours × rate, plus double hours × rate × 2, plus triple hours × rate × 3. Regular pay, overtime pay and total pay are each rounded on their own, so a shift's total can differ from regular + overtime by a centavo. The page's totals add up the shifts.

Example, with ordinary hours at 8, double time at 9 hours a week and a rate of $50.00:

Shift Payable hours Regular At double At triple Pay
Monday 10 8 2 0 $600.00
Tuesday 12 8 4 (6 of the 9 used) 0 $800.00
Friday 13 8 3 (allowance used up) 2 $1,000.00
Week 35 24 9 2 $2,400.00

A range that starts on Tuesday still pays Friday's 3 hours at double and 2 at triple ($1,000.00): Monday's overtime counts toward the week even though Monday isn't shown.

Someone who clocks out and back in on the same night gets the ordinary hours once for the night. With an 8-hour day, two shifts of 5 hours are 5 regular hours on the first, then 3 regular and 2 at double on the second.

The page's footnote states the rule with your own numbers: "Overtime follows Mexican federal labour law: a person's hours past 8 in a night (all their shifts that night together) are overtime; the first 9 overtime hours of each service week pay double and anything beyond pays triple, counted from the start of the week even when the dates start later. Shifts still in progress are not shown. Sunday premium and rest-day pay are not included."

Not included, on purpose: the Sunday premium, pay for working a rest day, holiday pay, and the legal limit on overtime hours (which limits scheduling, not pay).

Change the overtime rules

Who can do this: admins. A manager who opens the page by its address sees the values but can't change them: "Only an admin can change service time."

  1. In the back office, go to Settings › Hours & scheduling and choose Service time.
  2. Under Overtime, set Ordinary hours per day. Its hint: "8 for a day shift, 7 for a night shift (8pm–6am), 7.5 mixed."
  3. Set Double-time hours per week: "Overtime beyond this many hours in a service week pays triple. The statutory figure is 9."
  4. Check Your service week begins on a: the week the double-time allowance runs in.
  5. Click Save. "Service time saved." appears.

Warning

"These rules change every report and every payroll figure from the moment they are saved. Change them on a day the bar is closed."

Setting Default What it changes
Ordinary hours per day 8 The regular hours in each shift; the rest is overtime. Above 0 and up to 24; decimals are fine, such as 7.5.
Double-time hours per week 9 How many overtime hours in a service week pay double; the rest pay triple.
Your service week begins on a Monday The week the double-time allowance runs in.
Reports will reflect days spanning from — Your service-day start: which night, and so which week, a shift belongs to.
  • Type decimals with a dot (7.5). A comma (7,5) is refused as out of range: "Ordinary hours per day must be between 0 and 24."
  • For the rest of this screen, see Venue settings.

Pay rates and staff with no rate

Pay is each person's ordinary hourly rate times their hours, under the rules above. Someone with no rate on file still has their hours counted, but no pay — and the report says so instead of showing $0.

Rates are set by an admin in Team › Staff; see Staff and roles.

Fix a missing rate

  1. In Labor, read the amber box: "No hourly rate set for …" and "Their … payable hours are not in Total pay."
  2. Click Set rates in Staff.
  3. An admin opens each person's Edit staff dialog, types the Hourly rate and clicks Save.
  4. Reload Labor. Their pay now appears, for past periods too.

How rates are used

  • The report uses each person's current rate for every shift in the range. There's no rate history: raising someone's rate changes what every earlier period shows and exports.
  • With no rate, the hours are in Payable, Regular, the overtime columns and the totals; Pay shows "no rate" and adds $0 to Total pay.
  • In the exports, the Rate cell is left empty when there's no rate, and the pay cells read 0.00.
  • Today also warns about missing rates: "… has no pay rate, so Labor counts their hours but no pay". It lists anyone, active or not, who clocked in during the last 14 days and has no rate.
  • A manager who follows Set rates in Staff can't change rates there; only an admin can.

Warning

Because pay always uses the current rate, export the periods you've already paid before you change someone's rate.

Entries still open

Labor warns about people still on the clock from a day that's already been closed. Those entries aren't in the report — they have no length yet — and would otherwise show up only when finally closed, as one very long shift full of overtime.

  1. Read the amber box Still on the clock from a closed day: each name, the clock-in day and time, and the badge "open since a closed day". Its text: "These entries were never clocked out and the day has since been closed. An open entry is not in this report or in payroll until it is closed — set the clock-out in the time clock."
  2. Click Fix in the time clock and set the real clock-out.
  3. Back in Labor, the shift now appears on the night it clocked in.
  • The box lists open entries that clocked in before your venue's most recent day close (a day closed and started again today doesn't count).
  • It ignores the range you picked, on purpose, so a range that misses the night the entry started can't hide it.
  • Oldest first, in the venue's time zone and language.
  • An open entry that started after your last day close — for example when no day has been closed since — isn't listed here. It shows in the time clock's Needs fixing tile and on Today once it's 16 hours old.
  • With Allow closing the day with staff still on the clock off (Settings › Venue › iPads and service › End of day), closing the day clocks everyone out, so this box rarely has anything in it.

Planned vs worked

The Planned vs worked table, under the people table, puts each person's scheduled hours next to the hours they worked in the same range, so you can see who ran over and who left early.

  1. Pick the range. The table appears only when the range has scheduled hours.
  2. Read Staff, Scheduled, Worked and Difference. Over plan shows in amber with a "+", under plan in blue.
  • Scheduled is the hours of every shift assigned to that person on those service days, drafts included: "Scheduled hours include drafts — a plan is a plan." Open shifts are left out: "Unfilled shifts belong to nobody and are shown on the schedule instead."
  • Worked is the person's payable hours from this same report: unpaid breaks out, open entries not counted.
  • Difference = worked − scheduled. Everyone who was scheduled or worked appears, even with zero on one side.
  • It's on screen only; it isn't in the exports.

Export for payroll

Download the shift detail for the range as an Excel file or a CSV for your accountant.

  1. Pick the range. For overtime, start it on the first day of a service week (see How overtime and pay are worked out).
  2. Click Export xlsx — it reads Exporting… while the file builds — or Export CSV.
  • Both files have one row per shift, not per person, in the order of the shift detail, with these columns: Staff, Role, Date, Clock in, Clock out, Shift hours, Unpaid break, Paid break, Payable hours, Regular hours, OT hours (x2), OT hours (x3), Rate, Regular pay, Overtime pay, Total pay.
  • Date is the service night (year-month-day). Clock in and out are in the venue's time zone and language. Money is in pesos with two decimals.
  • The Excel file has hours and money as real numbers that add up, columns sized to fit, a header row that stays in place, the three overtime columns in yellow and a sheet named Labor. A missing rate is an empty cell.
  • The CSV has every field in quotes and keeps accents when you open it in Excel. Hours and money have two decimals; Rate is empty when there's no rate.
  • The headers and role names follow your back-office language.
  • Both buttons are greyed out when the range has no shifts.
  • If the Excel file can't be built: "The spreadsheet could not be built — try again."
  • The per-person totals, the open-entry warning and Planned vs worked aren't in the files.

Search for a task or a screen: charge, tip, close the day…