Reports and closing the year

How to read every Sales and Finance report, what a normal result looks like, how to lock a month, and how to close a financial year.

20 min read Updated

Who is this for
Accountants, finance managers and owners who need to know where the business stands
How long it takes
About 15 minutes to read, then a few minutes per report
What you need first
A Sales and Finance seat. Anyone with read access can look at reports. The Accountant role is needed to post a manual journal, reverse an entry, close periods and years, and revalue foreign currency
On this page

The big picture#

Every time you issue an invoice, post a bill, record a payment or move cash, Hubtoll writes a journal entry in the background. A journal entry is a small record that says "this much came out of one account and went into another". All reports are built from those entries. Nothing is typed twice, so the reports cannot drift away from the documents.

The reports answer different questions:

Question Report
What has been posted, and why? Journal Entries
Do my books add up? Trial Balance
Did I make or lose money? Profit & Loss
What do I own and owe today? Balance Sheet
Who owes me, and how late are they? AR Aging and Customer Statements
Who do I owe, and how late am I? AP Aging and Vendor Statements
Am I on plan? Budgets
Tax due VAT Return and WHT Ledger

Where everything lives#

Open Sales and Finance in the left menu.

Page Where
Journal Entries, Chart of Accounts, Trial Balance, Profit & Loss, Balance Sheet, Fiscal Years, Budgets, Opening Balances, FX Revaluation Sales and FinanceGeneral Ledger
AR Aging, Customer Statements, VAT Return, WHT Ledger Sales and FinanceSales & Receivables
AP Aging, Vendor Statements Sales and FinancePayables & Bills
Fiscal Periods Sales and FinanceFinance Settings

Most report pages have a Filters button and a refresh icon at the top. Dates are set inside Filters, not in a separate box. That is where you choose the Report date or As of date.

Journal Entries#

Open Sales and FinanceGeneral LedgerJournal Entries. This is the full list of what has been posted.

There are three tabs:

  • Journal entries shows the posted entries.
  • All approvals shows manual journals and where each one is in approval.
  • Awaiting me shows manual journals that are waiting for you to decide.

Each row shows the Number, Posting date, Customer / vendor, Narration (with a link back to the document that caused it), the Journal total and the Status. Click a row to open the entry and see its debit and credit lines.

Journal total is not the invoice total#

This surprises people. The Journal total adds up every debit in the entry, not what the customer owes.

When you open an entry, the page says this in words, so nobody thinks the books are wrong.

The Narration column links to the document that created the entry, for example an invoice or a bill. Open the document, and its page shows a Posted journal link back to the entry. You can walk from a number to its cause and back in two clicks.

Post a manual journal#

A manual journal is an entry you write by hand, for things that do not come from a document, like a correction or an accrual. You need the Accountant role.

  1. Open Sales and FinanceGeneral LedgerJournal Entries and click Manual journal.
  2. Pick the Posting date and type a Narration that tells the next person why.
  3. On each line choose the Account, then type a Debit or a Credit, not both. Add a Memo if you like. Budget is optional and links the line to an approved departmental budget.
  4. Click Add line until the entry is complete. You need at least two lines.
  5. Watch the totals under the table: Debits and Credits. When they match, click Post journal.

The Post journal button stays off until the debits equal the credits and are not zero. If you somehow send an unbalanced entry, Hubtoll refuses with "Journal entry is not balanced" and shows both totals.

Reverse an entry#

Click the Reverse icon on a posted row and confirm Reverse this journal entry? with Reverse entry. You need the Accountant role.

Chart of Accounts#

Open Sales and FinanceGeneral LedgerChart of Accounts. This is the list of every account, grouped by type: assets, liabilities, equity, income and expenses.

  • Add account opens a short form: Code, Name, Account type, Parent account (optional) and Description.
  • System accounts are created for you, like Accounts Receivable and Retained Earnings. Hubtoll depends on them to post, so they are protected. You can change only the display name and the description. You cannot delete one.
  • Deactivate an account you no longer want. Hubtoll asks "Deactivate account?" The account needs a zero balance. It stops taking new postings, but its history stays.

Setting up a whole chart at once. Click Download template. It is an Excel file with an Accounts sheet to fill in and a sheet that lists every code you already have. Fill it in, then click Upload filled template. Hubtoll checks the file before it creates anything and shows the result. An account that is already there is skipped, not treated as an error. A parent can be listed below its child in the same file.

Trial Balance#

Open Sales and FinanceGeneral LedgerTrial Balance. It lists every account with its Code, Account, Type, Debit and Credit, and Totals at the bottom.

How to read it. Look for the badge next to the dates. It says BALANCED when total debits equal total credits. That is the whole point of the page: every account's net activity: debits must always equal credits.

What normal looks like. The badge reads BALANCED, and the two totals are exactly equal. Because Hubtoll refuses unbalanced entries, you should never see OUT OF BALANCE. If you do, stop and contact support, because something has gone wrong that you did not cause.

By default the report covers all activity to date. Open Filters and use Report date (between, on, on or after, on or before) to look at one month or one year. You can also filter by Code, Account name, Type, Active and System account.

Profit & Loss#

Open Sales and FinanceGeneral LedgerProfit & Loss. It shows how you did over a period, in this order:

  1. Income, with Total income.
  2. Cost of sales, with Total cost of sales.
  3. Gross profit (income minus cost of sales).
  4. Operating expenses, with Total operating expenses.
  5. Net profit (gross profit minus expenses). This is your bottom line.

Each line shows an account code, a name and an amount, so you can see where the money came from and went.

What normal looks like. A shop that stocks goods has income, a cost of sales smaller than income, and a positive gross profit. A service business may have no cost of sales at all, and the page says "No cost of sales in this range". A negative net profit means a loss for the period.

Like the trial balance, it covers all activity to date until you set a Report date in Filters. For a clean monthly or yearly result, set a date range.

Balance Sheet#

Open Sales and FinanceGeneral LedgerBalance Sheet. It is a photograph of the business on one day, set by As of in Filters (today by default).

  • Assets is what you own: cash, money customers owe you, stock.
  • Liabilities is what you owe: suppliers, tax, customer prepayments.
  • Equity is what is left for the owners.

The page says it plainly: assets must equal liabilities plus equity. The BALANCED badge confirms it.

The Current year earnings row#

Inside Equity you will see a row called Current year earnings. It holds the profit or loss you have made that has not yet been rolled into Retained Earnings. It is not a real account and nothing is posted to it. It is there so the sheet always balances.

Locking a month: Fiscal Periods#

Your year is cut into monthly periods, created for you. Open Sales and FinanceFinance SettingsFiscal Periods. Each period is in one of three states:

State What it means
Open Anyone with access can post into it.
Soft closed Only an accountant can post into it. Everyone else is refused.
Locked Nothing can be posted into it, ever.

Click the Close (one step) icon to move a period one step: Open to Soft closed, then Soft closed to Locked. Hubtoll asks "Close period?" first. Click Reopen to take it back to Open. Reopening asks "Reopen period?" and warns that it allows backdated postings into a period you may already have reported on.

You need the Accountant role.

If someone posts into a locked month, Hubtoll says: "The fiscal period … is locked. Post a correction into an open period instead." For a soft-closed month it says: "The fiscal period is soft-closed; only an accountant can post into it." The fix for a locked month is a correcting entry dated in a month that is still open.

Closing the year#

Open Sales and FinanceGeneral LedgerFiscal Years. Each year shows its Start, End, Status and a Closing journal number once closed.

What closing does. At the end of a year, the income and expense accounts hold that year's results. Closing posts one closing journal that zeroes them out and moves the net profit (or loss) into Retained Earnings. Your next year then starts with clean income and expense accounts.

  1. Make sure every posting for the year is in. Finish and reconcile your bank accounts, see Banking.
  2. Open Sales and FinanceFinance SettingsFiscal Periods and soft close every period of the year.
  3. Open Sales and FinanceGeneral LedgerFiscal Years and click the Close year icon on that year.
  4. Read the message ("Close fiscal year?") and click Close year.
  5. Go back to Fiscal Periods and lock the periods if you want them sealed for good.

Rules and messages you may meet:

  • "Soft-close every period of the year before running the year-end close". All periods must be soft closed first, so nothing can land after the close.
  • "The year's final period must be soft-closed (not locked) so the closing journal can post. Lock it after the year-end close". Lock the last period after closing, not before.
  • "This fiscal year is already closed".

A closed year is sealed. Nobody can post into it. Hubtoll says: "The fiscal year for 2026-12-31 is closed. Reopen it before posting into it". This protects the numbers you have already reported.

Reopening. Click the Reopen year icon and confirm Reopen fiscal year?. Hubtoll reverses the closing journal and lets you post into the year again. Close it again when you are done. If a period is locked inside a closed year, reopen the year first: "The fiscal year is closed; reopen the fiscal year first". Both closing and reopening are recorded for audit.

Who owes you, and who you owe#

AR Aging (Sales and FinanceSales & ReceivablesAR Aging) lists customers. AP Aging (Sales and FinancePayables & BillsAP Aging) lists vendors. They are mirrors of each other.

Each row has the party's name and five buckets, then a Total:

Bucket Meaning
Current Not yet due.
1–30 1 to 30 days past the due date.
31–60 31 to 60 days past due.
61–90 61 to 90 days past due.
90+ More than 90 days past due.

Buckets are counted from each document's due date. If a document has no due date, its own date is used.

As of. Set an As of date and the page rebuilds what was owed on that day. It counts only payments and credits dated on or before that day, so you can look back at last month-end and get the numbers as they truly were.

What normal looks like. Most money sits in Current and 1–30. Money drifting into 61–90 and 90+ is the warning sign: chase the customer, or pay the vendor. When nothing is owed you see "Nothing outstanding. Every issued invoice is settled" on AR, and "Nothing outstanding. Every posted bill is settled" on AP.

Amounts are shown in your base currency. See Currencies.

Customer and vendor statements#

Customer Statements and Vendor Statements list every customer or vendor with five figures for a period:

Customer Statements Vendor Statements
Opening Opening
Charges Billed
Payments Paid
Closing balance Closing balance
Last activity Last activity

How to read a row. Opening plus what was charged (or billed), minus what was paid or credited, gives the Closing balance.

Click a customer or vendor to open their running ledger: an opening balance, then every invoice, payment, credit and refund (or bill, payment and credit for a vendor) in date order, each with a running Balance, ending at the Closing balance. This is the page to send to a customer who asks "what do I owe?".

Choosing the period. Open Filters and set Statement period. Until you do, a statement covers all activity to date, and the page says what it is showing. The period you set follows you into the running ledger when you open a customer.

The list and the ledger use the same calculation, so a row's Closing balance always equals the closing balance on the page it opens.

FX Revaluation#

If you hold foreign money, its value in your base currency moves as the exchange rate moves. At the end of a period you restate it. Open Sales and FinanceGeneral LedgerFX Revaluation. You need the Accountant role.

  1. Under Run a Revaluation, choose the Currency. It must be a foreign currency.
  2. Type the Period end rate.
  3. Pick the Revaluation date.
  4. Choose the Accounts to revalue: receivable, payable and bank accounts that hold that currency.
  5. Click Run revaluation.

The gain or loss is posted to an unrealized gain or loss account. It reverses itself the next day. That is deliberate: the figure is a snapshot for your reports, and it must not carry into the next period or be counted again when the real payment arrives.

Refusals you may meet:

  • "Only a FOREIGN currency can be revalued".
  • "A positive period-end rate is required".
  • "At least one account to revalue is required".
  • "Nothing to revalue: the selected accounts have no USD balance change".
  • "Cannot revalue as of …: the auto-reversal date … falls in a locked or closed period. Revalue on a date whose next day is open". Pick a date whose following day is still open.

Budgets and variance#

Open Sales and FinanceGeneral LedgerBudgets. A budget is your plan: the amount you expect to spend or earn on each account. Hubtoll then compares it with what was really posted.

There are two kinds, and they behave differently.

Departmental budgets from HR. When a department's budget is approved in the HR Budget module, it flows here. Hubtoll keeps one managed budget per fiscal year, with one line per ledger account. You cannot edit it here. Change the departmental budget in HR, or the link between its categories and ledger accounts, and this one updates itself. A chip says From departmental budgets. The Recompute now button, for editors, forces a refresh. Lines that have no usable ledger account appear under Needs coding, and are not in the budget until they are fixed. See Budget management.

Budgets you write yourself. Click New budget. Give it a Budget name, then add a line for each Ledger account with a Budgeted amount, and optional Notes. It starts as a draft. Use the row icons to Activate a draft, Archive an active one, Edit, or Delete a draft. An archived budget cannot be edited or reopened, and only a draft can be deleted.

Reading the variance#

Click the Open variance icon on a budget. You see Budgeted vs actual from the ledger, as of the date you choose, with an As of date. Columns: Account, Period, Budgeted, Actual, Variance, Variance %.

Variance is Budgeted minus Actual. A positive figure means you are under budget. A negative figure means you have spent more than planned.

VAT Return and WHT Ledger#

These two reports are about tax, so they live in Sales and FinanceSales & Receivables.

  • VAT Return compares Output VAT (on sales) with Input VAT (recoverable) for a Return period you choose, then click Run. It shows either Net VAT payable or VAT credit carried forward, and the filing due date.
  • WHT Ledger lists the withholding tax movements for a Period: tax a customer held back from you (a credit towards your own tax) and tax you held back from a vendor. It shows Receivable and Payable totals.

How tax rates are set up, and how these two pages are used in practice, is in Tax: VAT, withholding and returns.

Who can do what#

To do this You need
Open any report, list or statement FIN_MANAGEMENT_READONLY
Create and edit your own budgets, force Recompute now FIN_MANAGEMENT_EDITOR
Post a manual journal, reverse an entry, close or reopen a period or a year, run an FX revaluation, save opening balances FIN_ACCOUNTANT
Add accounts to the chart, or upload the chart template FIN_MANAGEMENT_EDITOR, FIN_ACCOUNTANT or FIN_SETTINGS_ADMIN
Set up currencies and fiscal settings FIN_SETTINGS_ADMIN
Configure the journal approval workflow FIN_MANAGEMENT_WORKFLOW_EDITOR

You also need an active Sales and Finance seat. See the permission reference and Roles.

Common questions#

My Trial Balance says BALANCED. Does that mean my books are right?

It means every entry is internally consistent. It does not prove you posted the right things. Check your bank reconciliation and compare the Balance Sheet with what you expect.

Why is the journal total bigger than my invoice?

When you sell stocked goods, the same entry also records the cost of the goods. That adds a second pair of lines. The customer still owes only the invoice total. See Journal total is not the invoice total.

I posted something in the wrong month. How do I fix it?

If the month is still open, void or reverse it and post it again with the right date. If the month is locked, post a correcting entry in an open month. Ask an accountant to reopen the period only if the books for that month have not been reported.

Can I edit a posted journal?

No. A posted entry is permanent. You reverse it and post a new one, and both stay on record.

Why does my Profit & Loss show last year's numbers too?

With no date set it covers all activity to date. Open Filters, choose Report date, and set the range you want.

I cannot close the year. It says to soft-close every period.

Open Fiscal Periods, soft close each month of that year (use Close (one step) once on each open period), then try again.

Why is Actual on the budget different from what HR shows as spent?

Finance counts everything posted to the account. HR counts only lines tagged to that budget. See Reading the variance.

Can I change the budget Hubtoll copied from HR?

No. Change the departmental budget in HR instead. The Finance copy updates itself.

Did this answer your question?
Still stuck? A real person will help.

Message us on WhatsApp or email cloud@digitalvortextech.org. We usually reply within a few hours (Mon–Fri, 8:00–19:00 GMT). Inside Hubtoll you can also raise a support ticket from the avatar menu.