Help Centre

Timesheets and paying subbies

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.

Walkthrough coming soon
90-second video. We're recording these now.

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 page, or just ask Mucka to get it for you, 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 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.

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.

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.

Can't see the job? The last thing in the list is Find another job…. Type the customer's name and you get their open jobs, whoever they're booked to and however long ago, with their last few finished ones under them. That's the one for a job somebody else is down for, a long-running job booked weeks back, or a customer you look after all month. If the customer hasn't got a job open, it offers Start a job for them: pick what the job is and it's made there and then and put on the hours. It isn't put in anyone's diary and nobody is messaged about it — the hours already say who was there and when. (Starting one needs permission to create jobs.)

Billing a customer for the hours. When you raise a new invoice for a customer, it offers every hour logged on any of their jobs that hasn't been billed yet, one line per person per day, priced at your hourly labour rate (never at what you pay the person). Once that invoice is saved, those hours aren't offered again, so a customer you bill monthly only ever gets each hour once. More in Create an invoice.

If the job was started and finished in Mucka, the times are already there. When the day has one job and someone pressed start and finish on it, opening that day (or picking that job) fills the start and finish in from the job, and says so under the times. Check them and save. Anything you've typed yourself stays as you typed it. A job that ran over several days, or was marked done without being started, fills nothing in.

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 go in afterwards, unless you switch on the job timer. Out of the box you put them in afterwards, from memory or off a note. Nothing runs in the background and there's no GPS following anyone around, whichever way you do it: 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.

Or run a timer on the job

If your lads are used to an app like Clockify, open the Timesheets Settings and tick Job timer. Everyone on a job who has a timesheet, you included, then gets a timer at the bottom of the job's card in the diary and on the job itself: Start when they get there, and it counts up — 00:00:00 — while they work; Stop when they leave.

  • Each person runs their own timer. If you and a subbie are both on Tuesday's job, you each start and stop, and you each get your own hours.
  • Stopping puts the hours on their timesheet, against that job, with the start and finish times, waiting for you to approve like any other entry.
  • The first person to start the timer starts the job. Finishing it is still the job's own button, so one person nipping off for parts doesn't close a job the rest of the crew are still on.
  • Subbies and engineers just see the timer on the job. The rest of the status steps stay with you.
  • Left it running? At the end of the night Mucka stops it at your closing time for that day, and the entry says Clock-out missed so you can put the finish time right before you approve it. A call-out that started after closing is left running for them to stop.
  • One job at a time. While a timer is running, the other jobs' Start buttons are greyed out until it's stopped.
  • You only see a timer on your own jobs. Looking at the whole diary, there's no Start button on anybody else's job.

It only records a start and a finish when somebody taps. There's still no GPS and nothing tracking where anyone is.

Hours against a job show on the job. Tap a job in the diary and, under how long it was booked for, Hours logged says how many hours have gone down against it — with anything you haven't approved yet called out, so you can set the hours worked beside the hours booked before you invoice by the hour. It shows once something has been logged against that job, and only to people allowed to see everyone's hours.

And the time spent on a customer shows on the customer. Open a customer and Time spent adds up every hour logged on any of their jobs. Hours still waiting for your approval are counted, and it says how many. Under the total it goes month by month, newest first, so a customer you bill monthly is one look, and then who put the time in. It's hours only, never what you pay anyone, and like the hours on a job it's only there for people allowed to see everyone's hours, once something has been logged.

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, 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 doesn't text anyone about their timesheet. 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 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.

On a phone with the new look

On a phone with the new look switched on, the week sits in a bar at the top with arrows either side, next to the filter button (who to show, and the Timesheets settings) and a round + for Add hours.

Under the title, Owed to your team is what you owe for hours you've approved and not paid yet, the same figure as Who's owed what. The bar sets that beside roughly what's still waiting for your approval, worked out at today's rates because nothing is agreed until you approve it. Its Approve button shows you everything sent in and waiting, whichever week it was for, before anything is approved: each person, their days and hours, roughly what they come to and which weeks. Anyone with no rate set for what they logged is left out, with a Set their rate button, and everyone else still goes through. Fill in the week sits beside it. Then the week itself, a bar for each day with what was logged on it and today in orange: tap a day to put hours in for it. Your people come next, Needs you first (hours to approve, or sent back), then anyone with everything approved, then anyone still owed from an earlier week, then anyone who logged nothing.

Tap someone and their week opens as its own page: each day with its times, the job, why it was sent back if it was, and where it's up to. Anything they sent in for an earlier week that you haven't approved yet is listed under Waiting from other weeks, and tapping the to approve figure at the top takes you there. Tap a day to change it or take it off. At the bottom, Approve approves their week and those earlier days, and the round £ button beside it marks them paid. That asks first, showing the figure and how many days it covers, because paid hours can't be changed afterwards. When you press Mark paid Mucka checks the figure again; if more hours have been approved since you opened it, it shows you the new figure and asks again rather than paying something you didn't see. Afterwards it tells you exactly what was recorded. Back takes you to the list on the same week.

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.

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.

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.

Or have Mucka get it ready for you

Mucka can get the approved hours ready for your accountant every week or every few weeks. Open the Timesheets Settings, tick Send a summary to your accountant, and choose How often: every week, every 2 weeks, and so on up to every 12.

When a period ends, a card turns up in your actions the next morning: who it's going to, which weeks, how many entries and the total, and how many are still waiting for your approval. You can read and change the email on the card. Approve any hours still waiting first if you want them in, then tap Send to accountant. The spreadsheet is built at that moment, so anything you've just approved goes too. It's the same spreadsheet the Export button gives you, it comes from your business name, and if your accountant replies it goes to your business email.

If your bookkeeper only needs the hours, untick Include rates and pay under How often. The spreadsheet then has who worked, when, on which job and for how long, with a total of hours for each person at the bottom, and no rates or amounts anywhere. The card you approve still shows you the total; it's only the accountant's copy that leaves the money out.

Dismiss the card and that period is skipped; the next one comes along when it ends. Nothing is ever sent without you tapping send.

It needs your accountant's email address first. If you haven't added one, the settings show an Add your accountant button that takes you to Settings → Business → Details, where it goes. If you switch it on midweek, the first card waits until that week has finished. A period with no hours logged at all doesn't get a card.

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 GPS and no rotas. The job timer is there if you switch it on, and it only records when somebody taps.

Last updated

Still stuck? Talk to a human — we answer every one.