Skip to content
Report · Financials

Trial balance

Debit and credit balances of every account today, with balance sheet accounts to date and income and expense for the fiscal year.

  • month end
  • general ledger
  • snapshot
Sample preview, fictional dataYour own figures appear after import.

01

About this report

A current trial balance from the general ledger, primary accounting book, in base currency. Balance sheet accounts show their balance through today. Income and expense accounts show the current fiscal year to date. Net income of earlier years is one retained earnings line, so total debits equal total credits.

The fiscal year is the accounting year period that contains today. Sort by Account number, or filter Account type to build a working paper.

02

Sample preview

Fictional figures in the shape you will see. Yours come from your account.

Account numberAccountAccount typeDebitCredit
10001000 Operating accountBank842,300.15
12001200 Accounts ReceivableAccounts Receivable376,200
20002000 Accounts PayableAccounts Payable131,410.30
41004100 ServicesIncome1,702,455
60006000 Salaries and wagesExpense1,140,200
Retained earnings, prior yearsEquity512,300.40

03

The SuiteQL

This is the query each report runs. Read it, copy it, or change it after import.

Trial balance
SELECT account_number,
       account,
       account_type,
       CASE WHEN net > 0 THEN net END AS debit,
       CASE WHEN net < 0 THEN -net END AS credit
  FROM (SELECT a.acctnumber AS account_number,
               a.displaynamewithhierarchy AS account,
               BUILTIN.DF(a.accttype) AS account_type,
               SUM(tal.amount) AS net
          FROM transactionaccountingline tal
          JOIN accountingbook ab ON ab.id = tal.accountingbook AND ab.isprimary = 'T'
          JOIN transaction t ON t.id = tal.transaction
          JOIN account a ON a.id = tal.account
          CROSS JOIN (SELECT MIN(y.startdate) AS fy_start FROM accountingperiod y
                       WHERE y.isyear = 'T' AND TRUNC(SYSDATE) BETWEEN y.startdate AND y.enddate) fy
         WHERE tal.posting = 'T'
           AND t.trandate <= SYSDATE
           AND a.accttype NOT IN ('NonPosting', 'Stat')
           AND (a.accttype NOT IN ('Income', 'COGS', 'Expense', 'OthIncome', 'OthExpense') OR t.trandate >= fy.fy_start)
         GROUP BY a.acctnumber, a.displaynamewithhierarchy, BUILTIN.DF(a.accttype)
        UNION ALL
        SELECT NULL, 'Retained earnings, prior years', 'Equity', SUM(tal.amount)
          FROM transactionaccountingline tal
          JOIN accountingbook ab ON ab.id = tal.accountingbook AND ab.isprimary = 'T'
          JOIN transaction t ON t.id = tal.transaction
          JOIN account a ON a.id = tal.account
          CROSS JOIN (SELECT MIN(y.startdate) AS fy_start FROM accountingperiod y
                       WHERE y.isyear = 'T' AND TRUNC(SYSDATE) BETWEEN y.startdate AND y.enddate) fy
         WHERE tal.posting = 'T'
           AND a.accttype IN ('Income', 'COGS', 'Expense', 'OthIncome', 'OthExpense')
           AND t.trandate < fy.fy_start)
 WHERE ROUND(net, 2) <> 0
 ORDER BY account_number, account

ReportFinancials

Trial balance

Screenshot of the Trial balance report in HiScale Advanced Reports, filled with fictional sample data
Sample preview, fictional dataOpen image full size (opens in a new tab)