What is a project timesheet spreadsheet
It's the spreadsheet where each row is a period of work: who did it, on which project, which task, how many hours and at what rate. It serves to bill the client and pay people who are paid by the hour, not to track the working hours of a Brazilian CLT employee (the formal employment regime), which follows other rules. If your question is about clocking in and out, this isn't the template.
Anyone who sells hours, such as an agency, consultancy, software house or freelancer, lives by this: what isn't logged isn't billed. A simple spreadsheet, filled in every day, already prevents the end of the month when nobody remembers how much they worked for the client.
How to fill it in, column by column
| Column | What to write | Common mistake |
| Date | The day the work was done | Logging everything on the last day of the month |
| Person | Who worked, by name | Logging the whole team's total on one row |
| Project/client | The project and the client, always written the same way | Varying the name ("Bakery," "Golden Wheat") and breaking the sum |
| Task | What was done, in one sentence the client understands | "Miscellaneous work," which can't be defended in a dispute |
| Hours | In decimal: 1h30 is 1.5 | Mixing 1h30 with 1.30 and getting the sum wrong |
| Hourly rate | The price per hour for that person or type of work | Using a single rate for people with different prices |
| Total | Hours times hourly rate, in reais | Typing the total by hand instead of using the formula |
| Billable? | Yes for what will be charged; no for warranty work, internal meetings and proposals | Deleting unbilled hours instead of marking them as non-billable |
In the example, the eight billable rows add up to 37 hours and R$ 4,890.00. The two rows marked "No" (the warranty fix and the sales proposal) stay on record, but outside what gets billed.
Step by step to use the spreadsheet
- Set the hourly rate for each person or type of work before the first entry. Changing the price in the middle of the month is the biggest source of fights at closing time.
- Log on the same day. Hours remembered a week later tend to come out rounded and, almost always, too low.
- Use the formula for the total. In Excel or Google Sheets, multiply the hours column by the rate column.
- Filter by client at the end of the month. Add up only the "Yes" rows for each project and send the detail along with the invoice.
- Check with the team before closing. A five-minute check on Friday avoids a correction after the client has already received the amount.
Common mistakes in time tracking
- Mixing billing and cost. What the client pays per hour isn't what the professional earns. The difference is the margin, and it should be visible only to those who are allowed to see it.
- Correcting hours that were already billed. If someone changes a row after the closing statement went to the client, the amount sent and the spreadsheet no longer match.
- Forgetting hours with no rate. Hours logged without a price vanish from the closing and only show up when someone complains.
- Paying the contractor from memory. People paid by the hour need a statement with the rows they're being paid for, not a number said over WhatsApp.
When the spreadsheet isn't enough
The spreadsheet works well for a small team and a few clients. It starts to fail when several people log at the same time, when rates vary by project and task type, and when you need to know each project's margin without redoing the math. The same goes for tracking how much has already been paid to each contractor. In those cases, the time entry needs to be tied to the task, not loose in a tab. To follow progress, combine it with the weekly status report.
Hours logged on the task, rate applied automaticallyIn Tasskee, each person logs hours on their own task and the hour gets its rate from the most specific rule: project and type, project, or the organization default.
Explore the time module
How to use time tracking in Tasskee
- Log on the task. Each person logs hours on the task they worked on, with a note. Time logging is on the Start plan; the "My hours" screen shows each person only their own hours, with no rates.
- Set the rates. In the Hours module you set the billing rate by project and task type (a warranty bug can be "do not bill") and the rate paid to each person, with an effective date. The system shows a preview of the effect before you save.
- Generate the client's closing statement. Under "To invoice," choose the project and the cutoff date. Tasskee gathers the open hours, shows the preview by task and generates a document you can print, save as PDF or export as CSV. Cost and the internal rate name don't appear in it.
- Record the invoice. Tasskee does not issue invoices (notas fiscais): you issue it in your own system and save the number on the closing statement, then mark it as received.
- Generate the statement for people paid by the hour. People marked as "Paid by the hour" appear under "To pay": you generate the statement up to a date, attach the receipt and mark it as paid. The contractor sees their own statement under "My statements," never the rate billed to the client.
What has already gone into a closing statement or payout statement is locked against editing, and the permissions to see the billing rate, see cost, set rates and close are separate. The analysis, rates, to-invoice and to-pay screens are on the Pro plan; see the plans and pricing and the reports.