Review Profit and Loss reports
Review Income, Expenses, Operating Profit, and the resulting Net Profit or Net Loss for a selected period.
Review Income, Expenses, Operating Profit, and the resulting Net Profit or Net Loss for a selected period, then compare periods or inspect supporting transactions.
Profit and Loss
- Open Reports > Profit & Loss.
- Choose a Report Period. From and To remain editable for presets.
Editing either date changes the selection to Custom Range. Select Apply after both dates are complete; typing does not reload the report.
- Review account sections, totals, Operating Profit, and Net Profit or Net Loss.
- Select an eligible account row to open transaction detail.
The separate Summary below the statement matches the Dashboard grouping for the same period. It lists Income and Other Income before Total Income, Including Other Income, then lists Expenses and Other Expenses before Total Expenses, Including Other Expenses. Expenses includes Direct Costs / Cost of Sales so the total remains aligned with the Dashboard. Operating Profit is Gross Profit less operating Expenses. The final result is Net Profit when combined income exceeds combined expenses and Net Loss when combined expenses exceed combined income.
The report uses completed transactions and applicable posted Journal Entry lines. Split transactions contribute through their lines. Transaction income uses the received total less GST/HST, consistent with the formal ledger; any recorded provincial sales tax remains in the Income amount. Transaction expenses use the gross amount less the recoverable GST/HST (ITC) portion. PST and any non-recoverable GST/HST remain in the expense because they are part of the business cost. Bank, payment, Expense, and Income records may still show the total amount actually paid or received. Journal Entries use their explicit Debit and Credit lines because any tax separation in a Journal Entry is part of the entry itself.
A parent account aligns with other top-level accounts and shows only the amount posted directly to it. Click its chevron, name, or row whitespace to expand or collapse its children. A Total for [account number and name] row follows the children and includes both the parent's own postings and its children. This total remains visible when children are collapsed; expanding does not change totals.
When direct postings exist, select the parent's amount to open those transactions; its underline appears on hover or keyboard focus. Negative amounts retain their minus sign. A parent without direct activity displays zero. Select a child account amount to view that child's transactions.
Subaccounts use the same bent-arrow hierarchy icon as Chart of Accounts. In the report, the icon aligns with the parent's account number and sits before the child's number and name, making the child visibly indented. Profit & Loss Comparison uses the same marker. CSV and Excel exports show the parent's direct amount, indented children, and then the separate account total.
Refunds, credits, and their GST/HST treatment follow the normal balance and tax basis of the account where they are posted. Money received against an Expense account reduces that Expense even if an older imported record carries an Income workflow label. Money paid out against an Income account similarly reduces Income. The statement, drilldown, complete-result total, and export use the same accounting sign.
Drilldown
Account drilldown shows the transactions supporting that report line. For an expense account, Amount with PST uses the same basis as the parent Profit and Loss row, Recoverable GST/HST shows the ITC portion separated from expense, and Total Amount shows the corresponding gross amount paid or received. Journal Entry lines do not infer tax: Tax displays a dash when no line-level tax amount applies. Use the drilldown to trace totals back to dates, transaction references, names, amounts, and available source information. Select a column heading to sort all supporting transactions before pagination. The drilldown shows 50 rows by default and offers 100, 200, or 500 rows per page. The displayed total continues to cover the complete drilldown result, not only the current page. Income transaction amounts use the received-money colour and expense transaction amounts use the spent-money colour. A reduction or refund reverses the colour with its accounting direction. Profit and Loss summary totals remain neutral so the formal statement stays restrained. Select an Expense transaction in the drilldown to open its Expense detail, where you can review its Category, payment account, Tax, Note, Tags, and attachments. Editing remains subject to the transaction's source, matching, reconciliation, and role protections. Select a Journal Entry line to open the corresponding posted Journal Entry in a detail dialog over the current Profit and Loss drilldown. Closing the dialog returns you to the same account, report period, sort, and page instead of navigating to Journal Entry History. The dialog uses the standard Journal Entry detail, attachment, and reversal controls. After a reversal, xBoox refreshes the current drilldown while preserving its report context. The Account column shows the payment account for ordinary transactions and the posting account for Journal Entry lines.
Export and print
Profit & Loss supports the available export menu:
- Excel;
- PDF (summary and comparison only);
- CSV.
The current report or drilldown determines the exported detail. Drilldown exports include Amount with PST, Recoverable GST/HST, and Total Amount for expense drilldowns. Print uses the browser print workflow.
Profit and Loss Comparison
Profit & Loss Comparison uses the same editable Report Period, From and To controls. Editing a date selects Custom Range; Apply loads the selected conditions.
- Open Reports > Profit & Loss Comparison.
- Choose the comparison Period or custom dates.
- Review Income, Expenses, Operating Profit, and Net Profit or Net Loss across the displayed periods.
- Print when a printable comparison is required.
The comparison page provides Excel, PDF and CSV downloads, plus Print. Compare To, immediately before Apply, defaults to Previous Year (the same dates a year earlier). Previous Period uses the immediately preceding calendar/fiscal preset, or an equal-length preceding range for Custom Range. Custom Period reveals Comparison From and Comparison To. Select Apply after changing comparison settings. Only the selected pair of reports is loaded.
Period language
Sole Proprietor reports use calendar-year wording. Corporation reports with valid fiscal settings may use fiscal-year wording. Always check the concrete From and To dates.
Important boundaries
- Profit and Loss does not show raw Pending bank rows.
- A Working Paper has no Profit and Loss effect until a required controlled Journal Entry is posted.
- Reversed entries appear with their reversal so the net accounting effect is zero.
Tax columns in transaction detail
When tax breakdown is visible, Profit & Loss transaction detail shows Before Tax and PST/QST beside the existing Amount with PST, Recoverable GST/HST and Total Amount. These columns display saved source amounts, including manual tax adjustments; they do not recalculate the posting or change the Profit & Loss total. PST/QST is combined into one column. Refunds retain the report’s signed amounts. Journal Entry lines without this transaction tax decomposition show a dash rather than an estimated tax amount. CSV, Excel and print use the same columns. The detail report and period controls use the available main-content width.
Detail columns start with Date, Type, Account (payment account), Bank Memo and Category (posting account number and name). Export and print follow this same order. Amount with PST and Recoverable GST/HST headings use two lines on screen; the underlying values and export labels are unchanged.
The Amount with PST heading appears as “Amount” above “with PST” on screen. This is a label change only; account amounts, tax treatment, and Journal Entry dash values are unchanged.
Refreshing an account drilldown reloads that account’s transactions for the selected period and keeps the detail view open. Use Back to Profit & Loss to return to the summary.
The account and period are retained in the report URL, so browser reload (including Ctrl+Shift+R) restores the same account drilldown.
Saved changes and report updates
A successful bookkeeping change reloads the currently open report. Other reports update when opened. Applied periods and filters remain selected; detail sorting and page size remain selected, with the page adjusted if fewer pages remain. If the report cannot reload after a successful save, refresh it without entering the transaction again. See Choose the right xBoox report for Category changes and split-transaction membership.
Identify reversal Journal Entries
In transaction detail rows, a generated reversal appears as Journal Entry (Reversal). The original entry remains Journal Entry, including after it has been reversed. The label uses the saved reversal relationship rather than words in a Description or Note. CSV exports and printed detail reports use the same label. Select either entry to view its own posted details and reversal relationship.
Receipts are classified by Category
A loan receipt or owner contribution affects the balance sheet rather than revenue. A vendor refund reduces its original cost. A receipt Split between revenue and a fee contributes each allocation once to its respective account. Bank document names such as Deposit and Credit Card Credit do not determine Profit & Loss classification.
Profit and Loss Excel presentation
The Excel summary keeps the same account order, child rows, subtotals and result rows as the report export. It uses a wider account column, bold headings and totals, and numeric currency cells with thousands separators and two decimal places. Formatting does not recalculate or change report amounts. CAD amounts display a dollar sign. CSV remains unchanged.
Excel filenames follow Workspace_Profit and Loss_YYYY-MM-DD to YYYY-MM-DD_YYYYMMDD_HHMMSS.xlsx. The to has spaces on each side; underscores separate the Workspace, report name, period and download timestamp. The timestamp uses the downloading client’s local date/time and does not include a UTC Z suffix. Unsupported filename characters in the Workspace name are replaced. Transaction detail filenames use Profit and Loss Detail; the detail layout is preserved.
Report Period offers month, year (and eligible fiscal-year) presets and Custom Range. This Quarter and Last Quarter are not preset choices; use Custom Range for those dates.
Customize detail columns
In the transaction detail report, Customize appears before Refresh, Download and Print. Its first section is Columns. Choose columns, then Apply. Transaction Number and Name, where available, start hidden. Reset restores default choices in the draft; Cancel, Close, Escape or clicking outside discards the draft. Choices are remembered in this browser separately for each detail report. Detail downloads and printing respect the corresponding column choices without changing the report amounts or record scope.
The Download menu lists Export to Excel, Export to PDF, then Export to CSV. Excel summaries label the amount column with the report currency, use native indentation for child accounts, emphasize Net Profit/Net Loss with a double rule, and print the report area one page wide (allowing multiple pages vertically). Values and account ordering remain unchanged.
The Excel summary centers its report title, Workspace, period and accounting basis across the two report columns. A blank row follows the title, and two blank rows separate the report metadata from the column headers. Financial rows remain in the same order; the print area grows with the presentation rows. Transaction detail exports retain their separate layout.
Direct PDF and consistent download names
Export to PDF downloads a generated report directly instead of opening the browser print dialog. Print remains a separate browser-print action. PDF uses an Arial-compatible Helvetica family, centered report metadata, a currency-labelled amount column, generated date/time in the client’s local timezone, including its UTC offset at the top right, and page numbers without browser URLs or duplicate Workspace headers. Long reports continue onto additional pages. Report data and numeric amounts are unchanged.
Excel, PDF and CSV filenames share Workspace_Profit and Loss_YYYY-MM-DD to YYYY-MM-DD_YYYYMMDD_HHMMSS with their respective extensions. Detail downloads use Profit and Loss Detail and retain the selected detail columns. CSV preserves financial values and uses UTF-8 BOM plus text-cell safeguards. PDF generation runs locally in the browser; report data is not sent to a PDF conversion service. Non-Latin names use locally rendered text to preserve their appearance.
PDF Generated time and the filename use the same client timestamp, independent of Workspace fiscal settings. The PDF includes an explicit offset such as UTC-07:00. This does not alter report periods, transaction dates or financial amounts.
Consistent summary and detail formats
Profit and Loss Comparison now offers Excel, PDF and CSV in that order, including both displayed periods and all comparison account rows. Profit and Loss transaction drilldown offers Excel and CSV, respecting selected columns and all matching records; use Print for occasional paper/PDF printing. It does not offer a separate generated PDF. Shared formatting does not change calculated amounts.
Excel data row height
Page-level Excel downloads use fixed-height data rows with automatic text wrapping off. Long Memo, Note, Description and account text remains fully stored in the cell. Widen the column or select the cell and use the formula bar to read it; fonts are not shrunk to fit. Column headings may wrap separately. This presentation rule does not alter amounts, records, CSV or PDF output. Settings Data Export is outside this update.
Detail Excel downloads size columns by purpose: compact dates, identifiers and types, wider account/category names and Memo/Description fields, with suitable monetary widths. Customize column choices retain the matching width when columns move or disappear. Summary statements retain their account-first layout.
Excel titles, Workspace/period labels, scope notes and column headings are separate from fixed-height data rows: they wrap and receive additional row height as needed. Scope notes span the table width. Summary exports freeze the rows above the data without freezing the first column; detail exports also freeze the first identification column. The freeze line is an Excel viewing aid, not a printed border. Account columns remain text columns. Settings Data Export remains outside this update.
Excel expandable groups
Excel downloads preserve all matching rows. Only General Ledger and GST/HST Detail use native row outlines, initially collapsed to summary/total rows. Use Excel plus/minus controls to expand them. All other Excel reports show their rows without collapse controls. This does not change amounts, row completeness, or the app’s expand/collapse controls. Detail rows retain fixed height without automatic wrapping.
Flat reports, including GST/HST Summary, Account Summary, Trial Balance, transaction drilldowns, Journal Entries and Transfers, keep their existing layout. CSV and PDF/Print output are unchanged. Settings Data Export remains outside this update.
Open comparison amount detail
In Profit and Loss Comparison and Balance Sheet Comparison, click an account's amount in the current or comparison column to open detail for that column's period. Hovering over or focusing the amount underlines it. The account label and the rest of the row do not open detail. Totals, calculated net income, dollar changes and percentage changes remain summary values.
Use the detail's Back link to return to the comparison with the applied dates preserved. Detail loads when requested. Unchanged comparison summaries and recently opened detail may be reused briefly; confirmed bookkeeping changes and manual refresh cause a fresh read. Balance Sheet detail includes the beginning balance and activity through the selected snapshot date.
Report date controls
Corporations with valid fiscal settings default to This Fiscal Year to Date; other workspaces default to This Year to Date. Full-year choices remain available. Preset From and To dates are editable. Editing either date selects Custom Range, and Apply loads the complete range. Drilldown retains the selected dates and corresponding period label. Comparison drilldown uses the clicked column and Back restores the comparison settings.
Exact dates in statements and downloads
Balance Sheet displays Report Period: YYYY-MM-DD to YYYY-MM-DD. Balance Sheet Comparison and Profit and Loss Comparison identify Current Period and Comparison Period separately, with both complete ranges. Date-range column headings retain lowercase to. Print and Excel/PDF/CSV outputs use the same selected dates; Balance Sheet filenames include the complete selected range.
Balance Sheet amounts remain cumulative balances at each period end, including amounts brought forward. Showing From and To does not turn the Balance Sheet into a period-activity report. The statement and its outputs include this explanation.
Comparison detail preserves the exact dates of the clicked column. If the comparison range does not match an available preset, including prior-year To Date activity or an older fiscal year, Report Period shows Custom Range. Returning restores the applied comparison controls, and account amounts remain available for another drilldown.
Report table columns
Use the header divider to adjust column widths. The three-dot menu provides Sort Ascending, Sort Descending and Clear Sort (restore the default order), Manage Columns, and Reset Column Widths. Hide Column appears only for optional columns. Grouped statement rows sort among sibling accounts; section headings, account children and totals remain together. General Ledger keeps original running balances when display order changes. Column menus do not add filters or filter chips; report period and comparison controls remain available. Width and optional-column choices are remembered locally for each report layout.