Example: a marketing agency of five people handling copy, design and advertising for about fifteen clients. Most clients pay by the hour. Everyone tracks hours their own way: one in a spreadsheet, another in a notebook, a third rebuilds them from the calendar at month-end. In the first week of each month the manager collects the sheets, adds up hours per client and copies them onto invoices. Some hours are lost every month because nobody remembers them any more.
This is an illustrative example many agencies will recognise. Below is how in NodiTeam you log hours on tasks as you go and issue an invoice from them at month-end, without adding anything up by hand.
What was getting in the way
- ✓Hours lived in different spreadsheets and notebooks, each kept differently.
- ✓Entries did not say which client and which job the work was for.
- ✓Adding up and copying onto invoices took a day or two every month.
- ✓Clients asked what exactly they were paying for, and the answer had to be pieced together from several sources.
Setup: hourly rates and a client on each project
In Company settings → Invoices from tasks the administrator ticks I issue invoices from tasks and enters a default hourly rate. Under Users they enter an hourly rate for everyone who works on tasks, for example a different one for the designer and for the head of advertising. Anyone without their own rate uses the default.
In Work → Projects each client has its own project, and the client is added when editing it. Hours on that project’s tasks are then offered to the right client for invoicing.
Hours as you go, on the right task
People log hours in Work reports → Work log: date, client, hours and a short description, and they also pick the task. They can log as they go, at the end of the day or at the end of the week. Below the description is Additional items, where lines starting with “-” become bullet points, for example everything that was done for an ad campaign.
Those who prefer the phone can log hours from Telegram. Each client has its own group with the bot, and whatever you write there, such as “2h Copy for the autumn campaign”, goes into your work log under that client. On the right of the log, By client shows hours per client, so everyone sees how much they have worked for whom this month.
The invoice at month-end
On the first day of the month the manager issues the invoices in a few minutes:
- 1Opens Finance → Tasks to invoice. On the left are clients with unbilled hours; the period can be narrowed with From and To.
- 2Selects a client. Lines such as “T-12 Task title – First Last” appear with the hours and that person’s hourly rate.
- 3Text, hours and rate can be changed, lines can be moved with the arrows, and unneeded ones unticked.
- 4Add overhead work adds hours that were not on any task, for example a meeting with the client.
- 5Checks the buyer and clicks Continue to invoice. The invoice form opens with all the lines, and if all the hours are in the previous month, the service date is already set to that whole month.
When the invoice is issued, the hours are marked Invoiced and are not offered again. Long tasks are billed as you go: next month only the new hours remain.
A report the client understands
In Work reports → Monthly reports the manager picks the client and month. The report has a header with the provider and the client, all entries with descriptions and the total hours. With the PDF, Word or Excel buttons it is downloaded and sent along with the invoice. The question “what exactly are we paying for” is answered in the attachment.
If an invoice has to be cancelled with a credit note, the hours go back to unbilled and are offered on the next invoice.
What changed
Hours are logged as you go and always against a client and a task, so they are not lost. At month-end there is no more adding up spreadsheets: the invoice lines are ready and the manager only checks them. The client gets an invoice with a report that shows who did what. Since every hour is billed only once, there is no double billing and no forgotten hours.



