Reports

Complete guide to NkapBooks Reports — General Ledger, Profit & Loss, Balance Sheet, Trial Balance, Stock Ledger, Stock Balance, GSTR-1, GSTR-2, export options, report printing, and inline inventory adjustments.

9. Reports

NkapBooks provides a comprehensive suite of financial and inventory reports that give you real-time visibility into your business performance. Every report is generated from the underlying double-entry ledger entries and stock ledger entries, ensuring accuracy and auditability.

ReportCategoryLocationDescription
General LedgerFinancialReports → General LedgerChronological list of all accounting transactions
Profit & LossFinancialReports → Profit And LossRevenue minus expenses for a given period
Balance SheetFinancialReports → Balance SheetSnapshot of financial position at a point in time
Trial BalanceFinancialReports → Trial BalanceAll accounts with opening, period, and closing balances
Stock LedgerInventoryReports → Stock LedgerDetailed log of all inventory transactions
Stock BalanceInventoryReports → Stock BalanceCurrent stock levels with inline adjustment
GSTR-1Regional (India)Reports → GSTR-1Outward supplies report for GST filing
GSTR-2Regional (India)Reports → GSTR-2Inward supplies report for GST filing
All reports support CSV and JSON export, print view, and real-time filtering. Report data is read-only — it reflects the current state of your ledger and stock entries without modifying any data.

9.0 Report Architecture

All reports in NkapBooks are built on a common architecture that provides consistent behavior across the entire reporting suite.

Base Report Class

Every report extends the abstract Report base class, which provides:

FeatureDescription
Reactive FiltersChanging any filter automatically re-fetches and re-renders report data
Column DefinitionsEach report defines its own columns with field type, alignment, and width
PaginationLarge reports support paginated display for performance
Export ActionsBuilt-in CSV and JSON export for every report
Print ViewDedicated print layout accessible via the printer icon
Auto-RefreshReports detect when underlying data changes and prompt a refresh

Report Hierarchy

Report (base)
├── LedgerReport (accounting entries)
│   ├── GeneralLedger
│   └── AccountReport (financial statements)
│       ├── ProfitAndLoss
│       ├── BalanceSheet
│       └── TrialBalance
├── StockLedger (inventory entries)
│   └── StockBalance
└── BaseGSTR (GST reports)
    ├── GSTR1
    └── GSTR2

Report Page UI

The report page consists of three main sections:

SectionDescription
HeaderReport title, export dropdown (CSV/JSON), print button, and special actions
Filter BarUp to 5 filter controls arranged in a grid — changes trigger immediate data reload
Report BodyTabular data display with sortable columns, color-coded values, and clickable links

Accessing Reports

Reports are accessed from the sidebar under Reports, or via direct URL:

URL PatternExample
/report/:reportClassName/report/GeneralLedger
/report-print/:reportName/report-print/general-ledger

You can also navigate to a specific report with pre-set filters by passing query parameters:

ParameterExample
account/report/GeneralLedger?account=Sales
party/report/GeneralLedger?party=John%20Doe
defaultFilters/report/GeneralLedger?defaultFilters={"account":"Sales"}
Tip: Many documents (invoices, payments, journal entries) have a quick-link action called "Accounting Entries" or "Stock Entries" that opens the relevant report pre-filtered to that specific document.

9.1 General Ledger

The General Ledger is the most detailed financial report. It shows a chronological list of every accounting ledger entry in the system — every debit and credit created by invoices, payments, journal entries, shipments, and purchase receipts.

Data Source

The General Ledger reads directly from the AccountingLedgerEntry table. Each row represents one side of a double-entry transaction:

FieldTypeDescription
nameIntAuto-incrementing entry ID
accountLink → AccountThe GL account debited or credited
dateDateTransaction date
debitCurrencyDebit amount (absolute value)
creditCurrencyCredit amount (absolute value)
referenceTypeDataSchema name of the source document
referenceNameDataName/ID of the source document
partyLink → PartyAssociated customer or supplier
revertedCheckWhether this entry has been cancelled/reversed
revertsDataName of the entry this one reverses (if applicable)

Filters

FilterTypeDescription
Ref TypeSelectFilter by source document type: All, Sales Invoices, Purchase Invoices, Payments, Journal Entries, Shipment, Purchase Receipt
Ref NameDynamic LinkFilter by specific document name (changes based on Ref Type selection)
AccountLink → AccountFilter by specific GL account
PartyLink → PartyFilter by specific customer or supplier
From DateDateShow entries on or after this date
To DateDateShow entries on or before this date
Group BySelectGroup entries by: None, Party, Account, or Reference
Include CancelledCheckWhen enabled, shows reverted/cancelled entries
Ascending OrderCheckWhen enabled, sorts oldest-first instead of newest-first

Columns

#ColumnTypeDescription
1#IntRow number (sequential index)
2AccountLinkGL account name
3DateDateEntry date
4DebitCurrencyDebit amount
5CreditCurrencyCredit amount
6BalanceCurrencyRunning balance (debit − credit)
7PartyLinkCustomer or supplier name
8Ref NameDataSource document ID
9Ref TypeDataSource document type (displayed as label)
10RevertedCheckShows "Reverted" if the entry was cancelled (only visible when "Include Cancelled" is checked)

Grouping Behavior

When Group By is set to anything other than "None":

  1. Entries are grouped by the selected field (Party, Account, or Reference).
  2. Each group ends with an italicized Total row showing the sum of debits, credits, and net balance for that group.
  3. A blank spacer row separates each group.

Closing Row

Every General Ledger report ends with a bold Closing row that shows:

  • Total Debit: Sum of all debit entries
  • Total Credit: Sum of all credit entries
  • Net Balance: Total Debit − Total Credit

Auto-Refresh

The General Ledger automatically detects when AccountingLedgerEntry records are created or deleted and sets a refresh flag. The next time you view the report, it will re-fetch the latest data.

Workflow Example

Scenario: You want to see all transactions for customer "Acme Corp" in the last quarter.

  1. Navigate to Reports → General Ledger
  2. Set Party = "Acme Corp"
  3. Set From Date to the start of the quarter
  4. Set To Date to the end of the quarter
  5. Optionally set Group By = "Reference" to see entries grouped by invoice/payment
  6. Click Export → CSV to download the data for your records
Tip: The General Ledger is the best report for auditing. If you need to trace how a specific invoice affected your books, filter by Ref Type = "Sales Invoices" and Ref Name = the invoice number.

9.2 Profit & Loss Statement

The Profit & Loss Statement (also called Income Statement) shows your business's revenue minus expenses over a defined period. It answers the question: "Did we make money or lose money during this period?"

Data Source

The Profit & Loss report reads from AccountingLedgerEntry and filters to accounts with root types Income and Expense only.

Root Types

Root TypeBalance Must BeDescription
IncomeCreditRevenue, sales, other income
ExpenseDebitCost of goods, operating expenses, etc.

Filters

The Profit & Loss shares the AccountReport filter set:

FilterTypeOptions / Description
Based OnSelectFiscal Year — specify from/to year; Until Date — specify a to-date and count
PeriodicitySelectMonthly, Quarterly, Half Yearly, Yearly — determines column granularity
To DateDate(Until Date mode) End date for the report
CountInt(Until Date mode) Number of periods to show (e.g., 3 months)
From YearInt(Fiscal Year mode) Starting fiscal year
To YearInt(Fiscal Year mode) Ending fiscal year
Consolidate ColumnsCheckMerge all periods into a single column
Hide Group AmountsCheckHide balances for group (parent) accounts, showing only leaf accounts

Report Structure

The Profit & Loss report displays data in the following order:

  1. Income accounts — hierarchical tree of all income accounts with period balances
  2. Total Income (Credit) — bold summary row summing all income
  3. (empty row)
  4. Expense accounts — hierarchical tree of all expense accounts with period balances
  5. Total Expense (Debit) — bold summary row summing all expenses
  6. (empty row)
  7. Total Profit — bold row showing Income − Expenses, color-coded:
    • 🟢 Green if positive (profit)
    • 🔴 Red if negative (loss)

Columns

ColumnDescription
AccountAccount name (indented by hierarchy level)
Period columnsOne column per period (e.g., "Mar 2024", "Feb 2024", "Jan 2024") — shows the balance for that period

The number and labels of period columns depend on the Periodicity and Count settings. Each column header displays the end date of that period.

Account Hierarchy

Accounts are displayed in a tree structure:

  • Root-level accounts (bold) — e.g., "Income", "Direct Income"
  • Sub-accounts (indented) — e.g., "Sales", "Service Revenue"
  • Leaf accounts — the actual accounts where transactions are posted

Group accounts show the sum of all their children. When Hide Group Amounts is checked, only leaf accounts display values.

Period Comparison

The key power of the P&L report is period comparison:

  • Set Periodicity = "Monthly" and Count = 12 to see a full year month by month
  • Set Periodicity = "Yearly" with Based On = "Fiscal Year" to compare this year vs. last year
  • Set Consolidate Columns to see a single total for the entire date range
The Profit & Loss report only includes submitted, non-reverted entries. Draft invoices and cancelled transactions are excluded automatically.

9.3 Balance Sheet

The Balance Sheet provides a snapshot of your company's financial position at a specific point in time. It follows the fundamental accounting equation:

Assets = Liabilities + Equity

Data Source

The Balance Sheet reads from AccountingLedgerEntry and filters to accounts with root types Asset, Liability, and Equity.

Root Types

Root TypeBalance Must BeDescription
AssetDebitCash, receivables, inventory, fixed assets
LiabilityCreditPayables, loans, accrued expenses
EquityCreditCapital, retained earnings

Filters

The Balance Sheet uses the same AccountReport filter set as Profit & Loss:

FilterTypeDescription
Based OnSelectFiscal Year or Until Date
PeriodicitySelectMonthly, Quarterly, Half Yearly, Yearly
To Date / CountDate / Int(Until Date mode)
From Year / To YearInt(Fiscal Year mode)
Consolidate ColumnsCheckSingle column for entire range
Hide Group AmountsCheckHide group account balances

Report Structure

The Balance Sheet displays three sections in order:

  1. Asset accounts — hierarchical tree with period balances
    • Total Asset (Debit) — bold summary row
  2. (empty row)
  3. Liability accounts — hierarchical tree with period balances
    • Total Liability (Credit) — bold summary row
  4. (empty row)
  5. Equity accounts — hierarchical tree with period balances
    • Total Equity (Credit) — bold summary row

Verification Rule

A correctly balanced set of books will always show:

Total Assets = Total Liabilities + Total Equity

If these don't balance, it indicates an issue with your chart of accounts setup or unbalanced journal entries (which NkapBooks prevents by design).

Columns

ColumnDescription
AccountAccount name (indented by hierarchy level)
Period columnsCumulative balance at the end of each period
Key Difference from P&L: The Balance Sheet shows cumulative balances (from the beginning of time to each period end), while the P&L shows period-specific activity (only transactions within each period).

9.4 Trial Balance

The Trial Balance lists every account in your chart of accounts along with its opening balance, period activity (debits and credits), and closing balance. It is the primary verification tool to ensure your books are balanced.

Data Source

The Trial Balance reads from AccountingLedgerEntry and includes all five root types: Asset, Liability, Income, Expense, and Equity.

Filters

FilterTypeDescription
From DateDateStart of the reporting period
To DateDateEnd of the reporting period
Hide Group AmountsCheckHide balances for parent/group accounts

Date Range Logic

The Trial Balance divides time into three ranges:

RangeFromToPurpose
OpeningBeginning of time (0001-01-01)From DateAccumulated balance before the period
PeriodFrom DateTo DateActivity during the selected period
ClosingTo DateEnd of time (9999-12-31)Activity after the period (rarely used)

Columns

#ColumnDescription
1AccountAccount name (indented by hierarchy level, bold for root accounts)
2Opening (Dr)Total debit balance before the From Date
3Opening (Cr)Total credit balance before the From Date
4DebitTotal debits during the period
5CreditTotal credits during the period
6Closing (Dr)Total debit balance after the period
7Closing (Cr)Total credit balance after the period

Verification

The Trial Balance serves as a verification tool:

  • Total Opening Debits should equal Total Opening Credits
  • Total Period Debits should equal Total Period Credits
  • Total Closing Debits should equal Total Closing Credits

If any of these don't balance, there may be data integrity issues.

Account Hierarchy

Like the P&L and Balance Sheet, accounts are displayed in a tree structure grouped by root type:

  1. Asset accounts
  2. Liability accounts
  3. Income accounts
  4. Expense accounts
  5. Equity accounts

Each section is separated by an empty row.

Default Date Range

If no dates are specified, the Trial Balance defaults to the current fiscal year:

  • From Date: Fiscal year start
  • To Date: Fiscal year end minus one day
The Trial Balance is the best report for verifying your books at period-end. Run it for each fiscal year to ensure debits equal credits before finalizing your accounts.

9.5 Stock Ledger

The Stock Ledger is the most detailed inventory report. It shows a chronological log of every stock transaction — every item movement, shipment, purchase receipt, and adjustment — with running balances and valuation.

Data Source

The Stock Ledger reads from the StockLedgerEntry table and computes valuation using the configured method (FIFO or Moving Average).

Schema — StockLedgerEntry

FieldTypeDescription
dateDatetimeWhen the stock movement occurred
itemLink → ItemThe inventory item
rateCurrencyUnit rate of the transaction
quantityFloatPositive = inward, Negative = outward
locationLink → LocationWarehouse/location
batchLink → BatchBatch number (if batch tracking is enabled)
serialNumberDataSerial number (if serial tracking is enabled)
referenceNameDataSource document name
referenceTypeDataSource document type

Computed Fields

The Stock Ledger computes additional fields using a stock queue (FIFO) or moving average algorithm:

Computed FieldDescription
Balance QuantityRunning total of quantity in stock after this entry
Incoming RateThe rate at which stock was received (for inward entries) or the COGS rate (for outward entries)
Valuation RateCurrent average cost per unit (FIFO or Moving Average)
Balance ValueTotal value of remaining stock (Balance Qty × Valuation Rate)
Value ChangeChange in total stock value caused by this entry

Filters

FilterTypeDescription
Ref TypeSelectAll, Stock Movements, Shipment, Purchase Receipt, Inventory Adjustment
Ref NameDynamic LinkSpecific source document
ItemLink → ItemFilter by specific item
LocationLink → LocationFilter by specific warehouse
BatchLink → BatchFilter by batch (only shown if batches are enabled in Inventory Settings)
From DateDateShow entries on or after this date
To DateDateShow entries on or before this date
Group BySelectNone, Item, Location, Reference
Ascending OrderCheckSort oldest-first

Columns

#ColumnTypeDescription
1#IntRow number
2DateDatetimeEntry date and time
3ItemLinkItem name (clickable → opens Item form)
4LocationLinkWarehouse name (clickable → opens Location form)
5BatchLinkBatch name (only if batches enabled)
6Serial NumberDataSerial number (only if serial numbers enabled)
7QuantityFloatQuantity change (🟢 green if positive, 🔴 red if negative)
8Balance Qty.FloatRunning balance quantity
9Incoming RateCurrencyRate at which stock was valued
10Valuation RateCurrencyCurrent average unit cost
11Balance ValueCurrencyTotal value of stock on hand
12Value ChangeCurrencyChange in stock value (🟢 green if positive, 🔴 red if negative)
13Ref. NameDynamic LinkSource document (clickable → opens the document)
14Ref. TypeDataSource document type label

Grouping Behavior

When Group By is set to Item or Location:

  1. Entries are grouped by the selected field.
  2. Groups are separated by blank spacer rows.
  3. Row numbering continues sequentially across groups.

Valuation Methods

The Stock Ledger uses the valuation method configured in Inventory Settings:

MethodHow It Works
FIFO (First In, First Out)Oldest stock is consumed first. Valuation rate reflects the cost of the oldest remaining stock.
Moving AverageEach inward transaction updates the average cost. Outward transactions use the current average.

The valuation is computed using a stock queue per item-location-batch combination. Each queue tracks individual stock lots with their rates and quantities.

Auto-Refresh

The Stock Ledger watches for changes to StockLedgerEntry records (creation, deletion, and bulk deletion from cancellations) and automatically flags the report for refresh.

Tip: To trace the full history of a specific item, set the Item filter and leave all other filters blank. The running balance will show you exactly when and how stock levels changed over time.

9.6 Stock Balance

The Stock Balance report shows the current stock position for all items across all locations. Unlike the Stock Ledger (which shows every transaction), the Stock Balance shows summarized quantities and values — making it ideal for inventory audits and reorder planning.

Relationship to Stock Ledger

The Stock Balance extends the Stock Ledger class and reuses its data-fetching logic. It processes the same StockLedgerEntry data but aggregates it into summary rows per item-location-batch combination.

Filters

FilterTypeDescription
ItemLink → ItemFilter by specific item
LocationLink → LocationFilter by specific warehouse
BatchLink → BatchFilter by batch (only if batches enabled)
From DateDatePeriod start for incoming/outgoing calculations
To DateDatePeriod end
Show Zero QuantityCheckInclude items with zero stock balance (also adds tracked items with no transactions)

Columns

#ColumnTypeColorDescription
1#IntRow number
2ItemLinkItem name (clickable)
3LocationLinkWarehouse name (clickable)
4BatchLinkBatch name (only if batches enabled)
5Balance Qty.Float🟢/🔴Current quantity on hand
6Balance ValueFloatTotal value of stock
7Opening Qty.FloatQuantity before the From Date
8Opening ValueFloatValue before the From Date
9In Qty.Float🟢 GreenQuantity received during the period
10In ValueCurrencyValue of received stock
11Out Qty.Float🔴 RedQuantity shipped/consumed during the period
12Out ValueCurrencyValue of outgoing stock
13Valuation RateCurrencyCurrent cost per unit

Balance Calculation

For each item-location-batch combination:

FieldFormula
OpeningSum of all stock entries before From Date
IncomingSum of positive quantities during the period
OutgoingSum of negative quantities during the period (shown as positive)
BalanceOpening + Incoming − Outgoing

Show Zero Quantity

When Show Zero Quantity is enabled, the report:

  1. Includes item-location combinations that exist but have a zero balance.
  2. Additionally queries all items with trackItem = true and all locations, then adds rows for combinations that have no stock ledger entries at all — useful for identifying items you stock but have never purchased.

Inline Inventory Adjustment

The Stock Balance report has a unique inline adjustment feature not found in other reports:

How It Works

  1. Click the Inventory Adjustment button in the report header.
  2. The report enters adjustment mode — the Balance Qty. column becomes editable.
  3. Click on any Balance Qty. cell and type a new quantity.
  4. Modified rows are tracked (shown with a counter in the header).
  5. Click Apply Adjustments (N) where N is the number of modified rows.
  6. A confirmation dialog appears showing:
    • Item, location, and batch for each adjustment
    • Current quantity vs. new quantity
    • Quantity difference
    • A Reason field (required) and optional Remarks
  7. On confirmation, NkapBooks automatically creates Inventory Adjustment documents:
    • One document per location (adjustments are grouped by location)
    • Items with positive differences get positive quantities (stock increase)
    • Items with negative differences get negative quantities (stock decrease)
    • Documents are immediately submitted

Adjustment Workflow

StepActionDescription
1Enter ModeClick "Inventory Adjustment" button
2Edit QuantitiesClick cells in the Balance Qty column and type new values
3ReviewBadge shows count of pending changes
4ApplyClick "Apply Adjustments" button
5ConfirmFill in reason and remarks in the dialog
6Auto-CreateSystem creates and submits Inventory Adjustment documents
7RefreshReport automatically refreshes to show updated balances
Important: Inventory adjustments created from the Stock Balance report are immediately submitted and create stock ledger entries. This cannot be undone — you would need to cancel the created Inventory Adjustment document to reverse the change.

Cancel Adjustment Mode

Click Cancel to exit adjustment mode without making any changes. All pending edits are discarded. Changing any filter while in adjustment mode also clears all pending edits.


9.7 GSTR-1 (India)

The GSTR-1 report is designed for Indian businesses that need to file their outward supplies return with the GST portal. It auto-populates data from submitted Sales Invoices.

GSTR reports are only relevant for Indian businesses with a GSTIN configured in Accounting Settings. They will not appear or function correctly without proper GST setup.

Data Source

GSTR-1 reads from submitted, non-cancelled Sales Invoices within the selected date range. For each invoice, it:

  1. Fetches the invoice details (date, amounts, taxes).
  2. Looks up the Party record for GSTIN and address information.
  3. Determines the Place of Supply from the party's address or GSTIN prefix.
  4. Calculates whether the supply is intra-state or inter-state based on the company's GSTIN.
  5. Computes tax amounts (IGST, CGST, SGST) from the invoice's tax entries.

Transfer Types

Transfer TypeCodeDescriptionCriteria
B2BB2BBusiness-to-BusinessParty has GSTIN
B2C-LargeB2CLBusiness-to-Consumer (Large)No GSTIN, inter-state, invoice ≥ ₹2,50,000
B2C-SmallB2CSBusiness-to-Consumer (Small)No GSTIN, intra-state OR invoice < ₹2,50,000
Nil RatedNRNil Rated, Exempted, Non-GSTTax rate = 0%

Filters

FilterTypeDescription
Transfer TypeSelectB2B, B2C-Large, B2C-Small, or Nil Rated
PlaceAutoCompleteFilter by state/place of supply (uses India state code map)
From DateDateStart of reporting period
To DateDateEnd of reporting period

Columns

ColumnDescription
GSTIN No.Customer's GST number (only for B2B transfer type)
PartyCustomer name
Invoice No.Sales invoice number
Invoice ValueGrand total of the invoice
Invoice DateDate of the invoice
Place of supplyState where the supply was made
RateCombined GST rate
Taxable ValueNet total (before tax)
Reverse Chrg."Y" if reverse charge applies, "N" otherwise
Integrated TaxIGST amount (for inter-state supplies)
Central TaxCGST amount (for intra-state supplies)
State TaxSGST amount (for intra-state supplies)

JSON Export (GST Portal Format)

The GSTR-1 supports a special JSON export format compatible with the GST portal:

Transfer TypeJSON Structure
B2BGrouped by customer GSTIN (ctin), with invoices containing itemized tax details (HSN code, taxable value, CGST, SGST, IGST, Cess)
B2CLGrouped by place of supply (pos), with invoices containing itemized IGST details
B2CSFlat list with supply type (INTRA/INTER), place, taxable value, and tax amounts

The exported JSON includes:

  • GST version identifier
  • Company GSTIN
  • Filing period (month/year)
  • Transfer-type-specific data arrays
Prerequisite: You must set your GSTIN in Accounting Settings before exporting GSTR data. The export will fail with an error message if GSTIN is not configured.

9.8 GSTR-2 (India)

The GSTR-2 report covers inward supplies — purchases from suppliers. It auto-populates data from submitted Purchase Invoices.

Data Source

GSTR-2 reads from submitted, non-cancelled Purchase Invoices within the selected date range.

Transfer Types

GSTR-2 only supports the B2B transfer type (purchases are always from registered businesses with GSTIN).

Filters

Same as GSTR-1: Transfer Type, Place, From Date, To Date.

Columns

Same column structure as GSTR-1 but populated with purchase invoice data instead of sales invoice data.

JSON Export

The GSTR-2 JSON export follows the same format as GSTR-1 B2B data but sourced from purchase invoices. The export includes supplier GSTIN and itemized purchase details.


9.9 Report Features

Export Options

Every report in NkapBooks supports two export formats:

CSV Export

FeatureDescription
FormatStandard comma-separated values
HeadersColumn labels from the report
Empty RowsPreserved as blank lines
Number FormattingValues are formatted to the configured display precision, with trailing zeros removed
Date FormattingDates are exported in ISO 8601 format
Save DialogSystem file picker lets you choose the save location

JSON Export

FeatureDescription
FormatStructured JSON object
ColumnsArray of {fieldname, label} objects
RowsArray of objects with label-keyed values
FiltersCurrent filter state preserved in the export
MetadataIncludes timestamp, report name, software name, and version

The JSON export structure:

FieldDescription
columnsList of column definitions
rowsList of row data objects
filtersMap of active filter values
timestampExport timestamp (ISO 8601)
reportNameInternal report identifier
softwareName"NkapBooks"
softwareVersionCurrent app version

Every report has a dedicated print view accessible via:

  • The printer icon (🖨️) in the report header
  • Keyboard shortcut Ctrl+P (or ⌘+P on macOS)
  • Direct URL: /report-print/:reportName

The print view:

  • Renders the report in a clean, printer-friendly layout
  • Removes interactive elements (filters, buttons)
  • Preserves the current filter state
  • Can be printed directly or saved as PDF via the browser's print dialog

Pagination

Reports with large datasets (GeneralLedger, StockLedger, StockBalance, GSTR-1, GSTR-2) enable pagination:

FeatureDescription
Page SizeConfigurable rows per page
NavigationPrevious/Next page controls
Smooth ScrollingData loads incrementally for performance

Many report cells are clickable links that navigate to the related document:

ColumnNavigates To
Item (Stock reports)Item detail form
Location (Stock reports)Location detail form
Batch (Stock reports)Batch detail form
Ref. Name (Stock reports)Source document (Stock Movement, Shipment, etc.)
Account (Financial reports)(displayed as text, filterable)
Party (Financial reports)(displayed as text, filterable)

Color Coding

Reports use color to highlight important values:

ColorMeaningUsed In
🟢 GreenPositive/favorable valueQuantity increase, value increase, profit
🔴 RedNegative/unfavorable valueQuantity decrease, value decrease, loss
BoldSummary/total rowClosing rows, total rows
ItalicsGroup subtotalGroup-by total rows

Role-Based Access

Report access can be controlled via role permissions:

PermissionDescription
ReportWhen enabled for a role, users with that role can view reports
ExportWhen enabled, users can export report data to CSV/JSON

9.10 Report Summary

Financial Reports Comparison

FeatureGeneral LedgerProfit & LossBalance SheetTrial Balance
ShowsIndividual entriesIncome vs. ExpenseAssets vs. Liabilities + EquityAll accounts
GranularityTransaction-levelPeriod summariesPeriod summariesPeriod summaries
Root TypesAllIncome, ExpenseAsset, Liability, EquityAll 5
GroupingParty, Account, ReferenceBy account hierarchyBy account hierarchyBy root type
Date RangesSingle rangeMultiple periodsMultiple periodsOpening/Period/Closing
PeriodicityN/AMonthly to YearlyMonthly to YearlyN/A
Best ForAuditing, tracingPerformance reviewFinancial positionVerification

Inventory Reports Comparison

FeatureStock LedgerStock Balance
ShowsIndividual stock entriesSummarized balances
GranularityTransaction-levelItem-Location-Batch level
GroupingItem, Location, ReferenceNone
ValuationPer-entry ratesAggregated rates
Inline EditingNoYes (Inventory Adjustment mode)
Best ForStock tracing, auditingInventory counts, reordering
Best Practice: Run the Trial Balance at the end of each fiscal period to verify your books are balanced. Use the General Ledger to investigate any discrepancies. Use the Profit & Loss and Balance Sheet for management reporting and financial analysis.