Reports
Reports
The Reports module gives you visibility into two critical areas of your business: revenue performance and team time allocation. Reports are generated live from the database — they always reflect the current state of your data with no caching delays.
Accessing Reports
Navigate to Reports in the left sidebar. You will see two main report types:
| Report | Purpose |
|---|---|
| Revenue Report | Shows invoiced amounts, payments received, and outstanding balances |
| Time Logs Report | Shows hours logged by employee, project, and task |
Revenue Report
The revenue report gives you a financial summary for any date range you choose. Use it to understand cash flow, outstanding debt, and billing activity.
How to run the revenue report
- Go to Reports → Revenue.
- Set the Date Range:
- Use the date pickers to set a custom from/to range, or
- Use the presets: This Month, Last Month, This Quarter, This Year
- Click Generate Report.
Report output
| Metric | Description |
|---|---|
| Total Invoiced | Sum of all invoice subtotals issued in the date range |
| Total Paid | Sum of subtotals for invoices marked paid in the date range |
| Outstanding | Total Invoiced minus Total Paid |
| Overdue | Sum of subtotals for invoices currently in overdue status |
| Invoice Count | Number of invoices issued in the period |
| Average Invoice Value | Total Invoiced divided by Invoice Count |
Below the summary metrics, a line-item table shows every invoice in the period:
| Column | Description |
|---|---|
| Invoice # | Invoice number |
| Client | Client name |
| Issued | Issue date |
| Due | Due date |
| Amount | Subtotal |
| Status | draft, sent, paid, overdue |
Filtering the revenue report
| Filter | Options |
|---|---|
| Date range | Custom or preset |
| Client | Filter to a single client |
| Status | All, Paid only, Outstanding only, Overdue only |
Time Logs Report
The time logs report shows how many hours your team has logged, broken down by employee and project. Use it for billing reconciliation, capacity planning, and performance reviews.
How to run the time logs report
- Go to Reports → Time Logs.
- Set the filters:
| Filter | Options |
|---|---|
| Date Range | Custom from/to, or presets: This Week, Last Week, This Month, Last Month |
| Employee | All employees, or select a specific team member |
| Project | All projects, or filter to a single project |
- Click Generate Report.
Report output — Summary
| Metric | Description |
|---|---|
| Total Hours | Sum of all hours in the filtered period |
| Billable Hours | Hours logged against billable tasks (if task billing type is set) |
| Employees Active | Count of distinct employees who logged time |
Report output — Employee breakdown
A table showing hours per employee:
| Column | Description |
|---|---|
| Employee | Name of the team member |
| Total Hours | Hours logged in the filtered period |
| Projects | Number of distinct projects worked on |
Report output — Project breakdown
A table showing hours per project:
| Column | Description |
|---|---|
| Project | Project name |
| Client | Client name |
| Total Hours | Hours logged against this project in the period |
| Employees | Number of distinct employees who logged time |
Below the tables, a detailed log list shows every individual time entry: employee, date, task, hours, and note.
Exporting to CSV
Both reports can be exported to CSV for further analysis in a spreadsheet tool.
- Run the report with your desired filters.
- Click Export CSV in the top-right of the report page.
- A CSV file downloads to your browser's download folder.
What the CSV includes
Revenue CSV columns:
invoice_number, client_name, issue_date, due_date, subtotal, status, paid_date
Time Logs CSV columns:
employee_name, project_name, task_title, log_date, hours, note
If you bill clients for time and materials, export the time logs filtered to that client's project and share the CSV (or a formatted version) as a billing appendix with your invoice.
Interpreting the Data
Revenue report
- Outstanding is not necessarily a problem — invoices that are
sentbut not yet due will appear here. Focus on Overdue as the metric that needs action. - Total Invoiced includes
draftinvoices by default. Filter tosent+paid+overduestatus for a more accurate view of active billing. - Month-over-month comparisons are most useful when using the Last Month and This Month presets consistently.
Time logs report
- High hours with low progress on tasks may indicate estimation problems rather than productivity issues.
- If an employee shows zero hours in a period, check whether they forgot to log — the absence of logged time is not the same as the absence of work.
- Per-project hour totals are most useful when compared against the estimated hours in the original proposal.
Limitations
Reports are generated live from the current state of the database. If an invoice is edited or deleted after you viewed a previous report, the numbers will differ the next time you run it. There is no snapshot or period-lock feature — the report always reflects the data as it stands today.
The reports module does not calculate or report VAT, GST, or other taxes. All amounts shown are the raw subtotals from invoices. For tax reporting, export the CSV and process it in your accounting software.
The revenue report filters by the invoice issue date, not the payment date. An invoice issued in January but paid in February will appear in January's report. Keep this in mind when reconciling against bank statements.