Skip to main content
The Reports module provides pre-built and filterable reports drawing live data from Finance, HR, Inventory, and Projects — giving you a single place to analyse business performance without exporting to spreadsheets.

What Reports owns

  • Financial reports — P&L, balance sheet, cash flow, aged receivables/payables
  • HR reports — headcount, payroll summary, leave balances, attendance
  • Inventory reports — stock valuation, movement history, low stock alerts
  • Project reports — utilisation, budget vs actual, billable hours
  • Profitability — per-order gross margin with auto-captured COGS
  • Channel Performance — revenue, orders and AOV broken down by sales channel
  • Reconciliation Workbench — bank-transaction-to-record matching with three confidence tiers
  • AI Usage — credits spent per user, per request, with tokens captured

Data flows into Reports from

ModuleWhat it sends
FinanceAll financial transactions
HRWorkforce and payroll data
InventoryStock quantities and valuations
ProjectsTime entries and budget data
All financial reports require your fiscal year to be configured in Settings → Company Profile. Without it, reports cannot calculate period-based comparisons or year-to-date figures.

Common tasks

Run a Profit & Loss report

1

Open Reports → Financial → Profit & Loss

2

Set the date range

Choose a custom start and end date, or select a preset period: This Month, Last Month, This Quarter, Last Quarter, This Year, Last Year.
3

Apply filters (optional)

Filter by department or cost centre to see a segmented P&L — useful for understanding which part of the business is profitable.
4

Enable comparison (optional)

Toggle Compare to and select a prior period. The report adds a comparison column showing variance in both amount and percentage.
5

Review on screen or export

Drill into any line to see the underlying transactions. Click Export to download as PDF (formatted) or CSV (for further analysis).

Run a Balance Sheet

1

Open Reports → Financial → Balance Sheet

2

Set the as-at date

The balance sheet shows your financial position at a single point in time. Choose the date — typically the last day of a financial period.
3

Review assets, liabilities, and equity

The report is structured in standard accounting format: Current Assets, Non-current Assets, Current Liabilities, Non-current Liabilities, and Equity.
4

Verify the balance

Total Assets must equal Total Liabilities plus Equity. If the sheet is out of balance, there is an unreconciled journal entry — contact your accountant.

Run an aged receivables report

1

Open Reports → Financial → Aged Receivables

2

Set the as-at date

Choose the date you want to see outstanding customer balances as of. This is typically today or the last day of the month.
3

Review

The report groups all outstanding invoices by age bucket: Current (not yet due), 1–30 days overdue, 31–60 days, 61–90 days, and 90+ days.
4

Act on overdue invoices

Click through to any customer to see their specific invoices, or click an invoice directly to send a payment reminder.
5

Export

Download as CSV for your credit control team or as PDF for management review.

Run a payroll summary report

1

Open Reports → HR → Payroll Summary

2

Select the period

Choose a specific payroll period (e.g. March 2025) or a date range spanning multiple periods.
3

Review totals

See total gross pay, total deductions (broken down by type: tax, pension, etc.), and total net pay. View by department and per employee.
4

Export

Download as CSV for your accountant or for uploading to your bank’s bulk payment portal.

Run a stock valuation report

1

Open Reports → Inventory → Stock Valuation

2

Set the as-at date (optional)

Defaults to today. Change to a historical date to see a snapshot (e.g. end of the quarter for balance sheet purposes).
3

Filter by category or location (optional)

4

Review

See the current quantity on hand and total value for each item, broken down by location. Total inventory value is shown at the top.
5

Export

Download as CSV or PDF for your finance team or auditor.

Run a project utilisation report

1

Open Reports → Projects → Utilisation

2

Set the date range and select team members (optional)

3

Review

See total hours logged per person, broken down into billable and non-billable. The utilisation percentage shows what proportion of available hours were billable.
4

Identify over- and under-utilised staff

Consistently high utilisation may indicate burnout risk or need for additional headcount. Low utilisation may indicate capacity for more work.

Run a Profitability report

The Profitability report calculates per-order gross margin from your sales orders and the cost of goods sold (COGS) captured automatically at the time of the sale. Both Shopify and WooCommerce orders include shipping cost, so margins are accurate end-to-end.
1

Open Reports → Profitability

2

Set the date range and channel filter (optional)

Filter by sales channel (Shopify, WooCommerce, In-store, B2B) to see margin per channel, or leave unfiltered for the full picture.
3

Review the six KPI tiles

Total revenue, total COGS, gross margin %, total shipping cost, average order value, and number of orders.
4

Drill into the per-order table

The table shows every order with its margin %. Sort by margin to find loss-making orders. The table is virtualised, so 100,000 rows render without lag.
5

Export

Download as CSV for further analysis.
COGS is captured automatically by a database trigger when a sales order is confirmed. Items priced using FIFO or weighted-average pull the relevant cost; manually-priced items use the cost field on the item record. If a margin looks wrong, check the item’s cost in Inventory.

Run a Channel Performance report

The Channel Performance report compares revenue, orders, and AOV across all your active sales channels in a single view.
1

Open Reports → Channel Performance

2

Set the date range

3

Review by channel

Each channel (Shopify, WooCommerce, In-store, B2B, etc.) gets a row showing revenue, order count, AOV, refunds, and net revenue. Variance vs the previous period is shown alongside.
4

Drill into a channel

Click any channel to see its top products, top customers, and per-order list filtered to that channel.
To add or rename channels, see Sales Channels in Settings.

Use the Reconciliation Workbench

The Reconciliation Workbench is where you match bank transactions to invoices, vendor bills, expense claims, and payment runs. The Auto-Reconciliation Engine pre-classifies every transaction:
  • HIGH — auto-applied. No action needed; this section just shows you what was matched.
  • MEDIUM — confirm with one click, or reject.
  • LOW — review and confirm or reassign.
  • Unmatched — assign manually to an existing record, or create a new entry.
1

Open Reports → Reconciliation Workbench

2

Pick the bank account

Each connected bank account has its own reconciliation queue.
3

Work through MEDIUM and LOW matches first

Click Confirm for ones the engine got right; Reject for ones it did not. The engine learns from your confirmations and improves matching over time.
4

Handle unmatched transactions

Tag with a category, link to a record, or write off. Unmatched transactions stay queued indefinitely until you act on them.
5

Periodic close

At month-end, run the Reconciliation Status report to confirm 100% of bank activity is reconciled before closing the period in Finance.
The 3-pass matching engine runs nightly and on every new bank transaction. For details on confidence levels and the matching logic, see the Bank Feeds integration page.

Build a custom report

1

Open Reports → Custom → New Report

2

Select the data source

Choose Finance, HR, Inventory, or Projects as the primary data source.
3

Select fields

Choose the columns you want in the report. Drag to reorder them.
4

Add filters and grouping

Filter rows by any field (e.g. customer, department, date range). Group by a dimension (e.g. group by month, group by category).
5

Save and schedule

Save the report for reuse. Optionally schedule it to run automatically (daily, weekly, monthly) and be emailed to specific recipients.

Troubleshooting

Finance aggregates data from all modules automatically. Unexpected figures are usually caused by payroll postings from HR, depreciation entries from Assets, or expense reimbursements from Travel & Expense. Open Finance → Journal Entries, filter by the date range, and sort by source to identify the origin of any unusual entries.
An imbalanced balance sheet means there is at least one journal entry where debits and credits are not equal — this should not be possible if entries were created through the normal workflow. If you entered manual journal entries, review them in Finance → Journal Entries. Contact your accountant if you cannot identify the cause.
The report uses the as-at date to determine outstanding balances. If the payment was recorded after the as-at date you selected, the invoice will appear as outstanding as of that date — which is correct. Change the as-at date to today to see current outstanding balances only.
Check that the recipients’ email addresses are entered correctly on the report schedule. Also confirm that your email provider is connected and working under Settings → Email. Send a test email to verify the connection.
Discrepancies are typically caused by the costing method (FIFO vs average cost) or by stock adjustments that were posted without a corresponding Finance journal entry. Go to Inventory → Adjustments and check for any adjustments without a linked Finance entry. Ensure your Settings → Inventory costing method matches what your accountant expects.

FAQ

Yes. When saving any report, toggle Schedule and set the frequency (daily, weekly, monthly) and the recipients. The report runs at the scheduled time and is emailed as a PDF or CSV attachment.
Every report exports to CSV, which opens directly in Excel. For formatted reports with charts and layout, use the PDF export. CSV is better for further data manipulation; PDF is better for sharing with stakeholders.
Yes. All financial reports support a consolidated view by default. Use the department filter to drill down to a specific department, or leave it unfiltered for the full company view.
All reports pull live data at the time you run them. There is no data warehouse or overnight refresh delay — if a payment was recorded 30 seconds ago, it is in the report now. The only exception is HR leave balances, which update every 15 minutes.
Yes, using Custom Reports. Select a primary data source and add related fields from other modules. For example, a Project Profitability report might combine billable hours from Projects with invoice amounts from Finance and payroll costs from HR.

See also

Finance

Source data for P&L, balance sheet, and cash flow reports.

HR

Headcount, payroll, leave, and attendance analytics.

Projects

Project utilisation, budget vs actual, and time tracking reports.