# Timesheets and paying subbies

Source: https://help.mucka.ai/engineers/timesheets-and-paying-subbies
Category: Engineers
Last updated: 2026-08-31

> Put down what time someone started and finished and which job it was, approve the hours, and see who's owed what. Mark it paid on Friday and it clears off the balance.

Most firms keep subbie hours on paper, in a WhatsApp thread, or in a spreadsheet nobody trusts by Thursday. Timesheets is the version of that which adds up.

You put down what time someone started and finished and which job they were on, approve the hours, and Mucka tells you exactly who's owed what. When you pay them, you mark it paid and it clears off the balance.

## Getting it switched on

Timesheets is on **early access** while we put it on a few accounts first. Ask for it on the [**Skills**](/skills) page and we'll come back to you — that raises a ticket our end, and you'll see the reply in Settings → Support.

Once it's on, open [**Timesheets**](/timesheets) and press **Settings**. Three things to decide:

- **Who you track** — subcontractors, employees, or both.
- **When your week starts** — Monday, Sunday or Saturday, so the period lines up with your pay run.
- **What they can see** — whether someone logging their own hours also sees what they're owed.

That last one is off to start with, and it's worth a thought rather than a tick. Showing someone their balance is genuinely useful, but it does mean Mucka's figure becomes the number you both work from if you ever disagree about a day.

## Adding someone

There are two ways onto the list, and which one you want depends on one thing: **do they have a Mucka login?**

**If they're on your team** — go to **Settings → Team → People**, pick them, and switch on **Pay them through timesheets**. That's it. Subcontractors are on automatically, because that role exists to describe exactly this person and the seat is free; for anyone else — an engineer you pay by the hour, say — the switch is how you say so. It works for any role, and it's also what lets them log their own hours and see their timesheet in the app.

**If they're not on Mucka at all** — the labourer you had for two days, the one who won't touch an app — press **Add someone** in **People** and put in their name. Same list, same balance; they just don't have a login.

You don't have to go looking for either of those. **People** shows your whole team as well as the people you pay — anyone not on the timesheet list yet is greyed out at the bottom with an **Add** button, so you can put them on without leaving Timesheets, and you can see at a glance that they already exist rather than typing them in again.

<Callout icon="info">
If someone's ended up on the list twice — once typed in by hand, once as a teammate — **People** flags it on their row with a **Join them up** button. Pressing it joins the record you already made, rate and all. Nothing is lost and no history moves. Worth doing: until they're joined up, that person can't log their own hours or see their timesheet in the app, even though they're on your list with a rate against them.
</Callout>

Either way the **hourly rate** is the bit to fill in. It's what their hours get priced at when you approve them, so without it you can't approve anything. It's optional at first — taking a lad on before you've settled on a number is normal, and Mucka would rather hold a blank than a guess — and **People** calls out who's still missing one.

If somebody's on a day rate as well, there's a **They're on a day rate too** link under it. That figure only applies to days you put in before Mucka started asking for start and finish times; everything new is priced by the hour.

If they're a subcontractor you can also record their **CIS deduction** — 20%, 30%, or gross. Record it, is all: Mucka doesn't verify anybody with HMRC and doesn't file your CIS300. That stays with your accountant or your accounts software.

## Logging hours

An entry is a **start time, a finish time and a job**. Mucka works the hours out from the two times — you never type a number of hours — and shows you what it's got before you save, so nothing gets stored that you haven't read back.

Two ways in. **Add hours** puts down a single day: pick who, pick the day, put in what time they started and finished, and choose the job. On a phone you can tap a day straight from the week strip and it opens ready on that date.

The job list isn't your whole diary. It's the jobs **that person was actually on**, with that day's work at the top and the rest of the week under it — so it's a tap, not a search. If the hours weren't against a booked job at all — a yard day, running for materials, a favour — leave it alone and save it without one. That's a normal entry, not a gap.

For a whole week, **Fill in the week** gives you the seven days as a list. Each day starts as **Add**; press it and you get the same start, finish and job for that row. It copies the shift down from the day above, so a normal five-day week is a few taps rather than typing 08:00 seven times. That's the one for "he was on it Monday to Thursday and half four Friday" — it's one pass, and it's also how you edit a week you've already put in.

A night job that runs past midnight is fine. Put 22:00 to 06:00 and Mucka counts it as eight hours and keeps it on the day it started, so it's counted once and it sits on the day you remember sending them out. The flip side is that a mistyped finish time — 06:10 instead of 18:10 — reads as a shift that ran all night rather than as a mistake, so anything over fourteen hours gets flagged in amber before you save it. It's a nudge, not a block: a flood job really does run twenty hours.

**The week you're looking at is the week it goes in.** Stepping back a week, or tapping the *days with no hours logged* prompt, opens that week rather than this one — so it says **Last week** next to the dates and tells you straight out that anything you add lands there. And if the day you've picked already has hours against it, Mucka says what's already on it and the button changes to **Add anyway**. Two entries on one day is a perfectly normal thing — a split shift, a call-out after tea — it just shouldn't happen by accident.

Days that are already approved or paid show with a padlock and can't be changed there.

**Times are not clocking in.** You put them in afterwards, from memory or off a note — nothing runs in the background and there's no GPS following anyone around. That's deliberate. The battery drain and the wrong-address problems are real, and for someone genuinely self-employed, being rostered and tracked is the sort of thing that makes HMRC look twice at whether they're really self-employed at all.

If you turn on **let them log their own hours**, subbies you've invited to the team can put their own days in from the app — nothing else to set up, because they're already on the list. They still can't approve anything, and they can't see anyone else's hours. That's the point of approval.

## So you're not chasing on a Friday

Anyone who logs their own hours gets told about it themselves: *"3 days with no hours logged"*, with the days named — **Tue 11, Wed 12 and Fri 14 Aug** — so they can check them against their own week. Tapping it opens that week ready to fill in. On a phone it's on their home screen; on a computer it sits at the top of their [**Schedule**](/schedule), which is where they land when they log in.

It counts days somebody actually turned up to, taken from when the job was really started or finished rather than when it was booked in. So a job done a day early counts on the day it was done, and a job cancelled before anyone set off doesn't count at all — nobody gets prompted to put down a day they never worked.

It looks at last week and this week. Two weeks is the bit that's still worth filling in; an account that's just switched Timesheets on doesn't get greeted with six months of history.

They only ever see their own days. There's nothing here that shows one subbie another's hours, and no setting that opens it up.

Once everything's in, the prompt turns into a one-line **Your hours are up to date** — worth having on a Friday, when the question is usually "have I done my timesheet or not?".

**Mucka won't text, WhatsApp or ring a subcontractor about their timesheet.** Mucka makes contact with your team; it never contacts anyone on the free Subcontractor role. A subbie is another firm rather than your employee, and the free seat is there so they can see the work you've given them, not so we can chase them on your behalf. The prompt sits in their app waiting for them, and that's as far as it goes.

If you do want somebody chased, move them onto a teammate seat and give them a role of their own. That's a paid seat, and it's the honest version of the question: somebody you want Mucka chasing is somebody you're managing.

## Seeing everyone's week

Open [**Timesheets**](/timesheets) and the week is a grid: your people down the side, the seven days across the top, and each person's total on the end. Everyone's on it, **including anyone who's logged nothing** — that row is the point of the grid, because a list of hours can't show you a person who hasn't put any in.

Press a name and it opens up to show the entries behind the figures: what time they started and finished, which job it was, and whether it's still waiting on you. That's the level an argument about a day actually happens at, and it's why the times are there.

**A day with two entries on it gets flagged.** That's either a split shift or the same shift put in twice, and only you can tell which — so Mucka points at it rather than quietly adding them together. Press **Week** on that person's row to open their week and sort it out.

You can approve one person on their own from their row, or the whole week from the toolbar. Or just ask — see [Doing it by asking](#doing-it-by-asking).

## Approving

Hours sit as **To approve** until you say otherwise. Pressing **Approve** fixes the amount there and then, using the rate on file at that moment.

That matters more than it sounds: if you put someone's hourly rate up next month, it won't quietly rewrite what you already agreed to pay them for last month.

## Changing someone's hours

Open a person's week, press the pencil on a day, and you can change the times, move it to another day, put it against a different job, or take it off altogether.

**They get told.** Whoever logged the hours gets a notification on their phone saying what it was and what it now is — *"Mon 24 Aug — 10.42 hours (07:45 – 18:10) is now 8 hours (07:45 – 15:45)"*. You see that exact sentence in the sheet before you save it, so there are no surprises on either side. Tapping it opens their own week so they can look at the day themselves — they see just their own hours, read-only, whether or not they log their own. If nothing about their pay moved — you only re-filed the day against the right job, say — nobody gets pinged, because a notification about nothing is how people learn to ignore the ones that matter.

Every change is kept: what it was, what it became, who did it and when. That's on purpose. This is the record of a disagreement about money, and the version where only the latest edit survives is no use the third time it comes up.

**Hours you've already paid can't be changed.** The payment points at those hours, and rewriting them would leave it describing work that no longer matches what went out. Sort the difference out on the next payment instead.

If the hours were already approved, changing them re-prices at **the rate you agreed at the time**, not whatever their rate is today. That's the whole point of approving.

<Callout icon="info">
Someone who isn't on Mucka — a labourer you typed in by hand — has no phone to be told on. The change is still recorded; there's just nobody to notify, so you'll want to mention it to them yourself.
</Callout>

## Who's owed what

The top of the page is the whole point — every person with money outstanding, largest first, with how many entries make it up and how far back the oldest one goes.

Anyone waiting on approval is shown separately. Hours you haven't approved yet aren't a debt, so they don't get added to what you owe.

Someone who's stopped working for you still appears here while they're owed. They're exactly the person it's easiest to forget.

## Paying

**Mark paid** against a person settles everything currently outstanding for them and records the payment against those exact days.

If someone else has already paid some of it since you loaded the page, Mucka refuses the whole thing rather than paying part of it — a run that quietly settles three days out of four looks identical to one that settled all four, and you'd only find out when the subbie says he's short.

## Doing it by asking

You don't have to go through any of the above. Tell Mucka, on any surface — the chat bar, the phone, WhatsApp — and it does the same job the screens do:

- **"Put 8 hours down for Hayden yesterday"** logs the day, waiting for approval like anything else.
- **"Who am I owing?"** reads the balances back, with anything unapproved kept separate.
- **"Approve everyone's hours for last week"** approves them, and tells you what it came to and who it covered. If somebody's got no rate on file it approves **nothing at all** and says who's missing one, rather than doing most of it and leaving one lad out.
- **"Hayden finished at four, not six"** puts the day right, and tells him on his phone in the same words you'd have seen on the screen.
- **"Paid Dave his four days"** gets the payment ready.

That last one is the one that works differently, on purpose. Mucka doesn't record a payment on its own say-so: it works out exactly what's owed and puts a card in front of you naming the person, the figure and the days it covers, and nothing is written until you tap it. Paid hours can never be edited afterwards, so it's the one thing here you can't undo — worth a look before it goes down, especially if you asked for it on a phone call.

Asking is a good fit for the bits that aren't worth a screen: a day you've just realised is wrong, or the Friday question of who's owed what while you're stood in a van.

## Sending it to the bookkeeper

**Export** gives you the week as a CSV: date, person, unit, quantity, rate, amount, status. Only approved rows carry a figure, because only they have an agreed rate — unapproved ones are left blank rather than filled in with a zero that would quietly spoil the total.

## What it doesn't do

- It doesn't file anything with HMRC — no CIS300, no verification.
- It doesn't move money. You pay them however you already do; Mucka records it.
- There's no clocking in, no GPS, and no rotas.
