Help › Bookkeeping
Work with the chart of accounts
Updated
Your chart of accounts is the list of buckets every transaction is sorted into. HQ seeds a standard Canadian small-business chart the first time you open the ledger.
- Go to Ledger › Accounting: the Chart of Accounts tab.
- Accounts are grouped by Assets, Liabilities, Equity, Revenue, and Expenses. Each account is a row you can open: click it to see what the account is for and every setting it carries, each with a plain explanation of what changing it does.
- Click Add Account to create your own. It asks what kind of account it is first (Asset, Liability, Equity, Revenue or Expense, each with a one-line explanation), then fills in the next free Account number for that kind, which you can change. Give it an Account name. The optional T2125 line (or GIFI code for a corporation) is where the account's total goes in your accountant's export; leave it blank if unsure. The suggested number never falls in the ranges HQ keeps for the bank, card, shareholder-loan and reimbursement accounts it creates itself.
The row itself states facts: the number, the name, a System pill on HQ's own accounts, and a pill for each state the account carries (Stock, COGS, Can settle, Hidden, Inactive, its tax line). The one button on the row is Move balance. Everything that changes a setting lives in the opened row, beside its explanation.
Import a chart from a CSV
If you are coming from QuickBooks Online or Xero, click Import CSV on the
Chart of Accounts screen. Choose the account list you exported (QuickBooks
Online: Accounting › Chart of accounts › Run Report / Export; Xero:
Accounting › Chart of accounts › Export) or fill in the template you can
download from the same window. HQ reads the account name, number and
Type columns; a QuickBooks Detail Type column never changes the type. An account with
no number is given the next free one for its kind, and a QuickBooks
sub-account written Parent:Child is imported under the child's name. An
account already in your chart (same name or number) is left alone. The result
lists how many were created, how many were already there, and every row that
could not be imported with its row number and the reason.
You can edit, deactivate, delete, or reactivate accounts you created, and mark an expense account as COGS.
Deactivate is how you retire an account that has been used: nothing new can be recorded to it, and everything already on it stays in your reports.
Delete removes it for good, and HQ offers it only when nothing has ever been recorded to the account. It is the answer for a row that should not be there at all, rather than one you have finished with: an account created by mistake, or a duplicate left behind when an import was corrected. Open the account's row, scroll to Delete this account, and HQ asks you to confirm before it goes.
If Delete is not on offer, the account is carrying something. An account with entries against it can only be deactivated, because deleting it would take that history with it. One of HQ's own accounts can be neither deleted nor deactivated. The exception is a ledger account HQ created for one of your bank or card accounts: once that bank or card is deleted, its empty ledger account can be deleted too. HQ also holds on to an account a bank or card posts through, one your book is using for something it posts automatically, and one another account, bill or invoice still points at, and says which it is.
When a trial-balance import recognises one of your rows as a bank or card and you connect it in the import's bank step, the account in Banking adopts that row's chart account: the accountant's own number stays, and no duplicate account is created for it.
An account a bank or credit card posts through can't be deactivated while that bank or card is still active, including one adopted by the import step above. Deactivating it would quietly send that account's money to your general cash account instead, so HQ refuses and names the bank or card in the message. Archive the bank or card in Ledger › Banking first, then deactivate the chart account.
HQ's own accounts wear a System pill beside their name. You can still Edit one (open its row: Name & details) to rename it, change its description, or set its tax line, which is useful when your accountant calls an account something else and you want your chart to match their trial balance. The account number never changes and neither does what HQ uses it for, so renaming moves nothing in your books. What you can't do is deactivate or delete a System account: the posting engine resolves it by number, so retiring one would break entries that depend on it. The one exception is the empty ledger account of a bank or card you have deleted, described above. That holds even on a brand-new book where nothing has been recorded yet.
Your active expense accounts appear at the top of every category dropdown, under Your chart — expenses, whether you're coding a bill, a receipt, or a bank transaction. An account you deactivate drops out of those lists. A hidden account moves into the dropdown's collapsed HQ's standard accounts group instead of disappearing: searching by its name or number still finds it, and the "Show HQ's standard accounts" control lists it.
Every one of those dropdowns has a search box, focused as soon as the list opens. Type an account number to filter by it (5 shows every 5000-series account, 51 narrows to the 5100s) or type letters to match the account name: rent, soft, freight. Numbers are shown in their own column so the account names line up down the list however long the numbers are. Accounts you have already posted to are pinned at the top under In use.
The two fee accounts
HQ keeps fees in two accounts, split by which way the money moved.
- Payment Processing Fees (5050) holds fees on money you collect: what Stripe, Square, Shopify Payments or PayPal keeps from a sale, and a card fee taken off a customer's payment or deposit.
- Foreign Transaction & Card FX Fees (5055) holds fees on money you pay out in another currency: the markup a card or bank adds over the Bank of Canada rate when it pays a foreign bill, a payment to a supplier on a proforma, or a foreign purchase on someone's own card.
A foreign receipt paid on the business card goes the same way once it is matched to its card line: the expense is recorded at the Bank of Canada rate for the receipt's date, and whatever the card charged above that (or below it) goes to 5055. A tip on the receipt stays with the expense, and so does a difference of more than a tenth of the charge, which is no card's markup: check that the receipt is matched to the right charge.
Both roll up to the same tax line (CRA line 8710, interest and bank charges), so the split changes what your profit and loss shows, not your tax. Bank account service charges stay on Bank Service Charges (5010) and interest on Interest & Bank Charges (6600).
If your accountant keeps these fees in an account of their own, point Foreign transaction & card FX fees at it under the posting accounts settings. If your chart already uses 5055 for something else, HQ never puts these fees there: they go to Payment Processing Fees until you choose an account, and that can be your own 5055 if it is where you keep them. Anything you code to your 5055 yourself still goes to it.
5055 arrived in October 2026. Fees recorded before then stay on 5050, and a foreign receipt matched before 27 October 2026 keeps its card's markup inside its expense. The one exception is an entry HQ records again: if you edit or re-match an older foreign bill payment or receipt, or change the card charge on an older purchase someone paid personally, the entry is recorded afresh and its markup moves to 5055.
When you bring your own chart
If you upload your accountant's chart of accounts, or a trial balance HQ builds your chart from, you keep their numbering and their names. HQ then adds the handful of accounts its own bookkeeping needs in order to post, and tells you which ones it added and why, right there in the import.
These are the accounts every set of books needs a system to have: cash, accounts receivable, accounts payable, the sales tax accounts, the input tax credit accounts, and the accounts your ecommerce sales and refunds post through. QuickBooks and Xero create the same kind of accounts for you and lock them, so your accountant will expect to see them.
Three things worth knowing:
- HQ does not copy its own expense list onto your chart. Your expense accounts are yours. Only the accounts with no substitute get added, which is why an imported chart stays close to the size your accountant sent.
- Rename any of them to match your own wording. HQ resolves these accounts by NUMBER, never by name, so renaming changes nothing about where your money posts. If your accountant calls 2100 "GST/HST Charged on Sales", call it that.
- HQ's built-in category names stop appearing in the dropdowns. Every category dropdown offers a standard list of expense category names to a book that has no expense accounts of its own. Once your book has them, whether you added them yourself or an import built them, that list is gone: it names the same spending a second time, and picking from it posts through HQ's own mapping instead of to your account. A bill or transaction coded to one of those names earlier keeps it, and the picker still shows it there.
If your chart already has all of them, nothing is added and nothing is said.
Your accountant's own account stays exactly where it is, even when it covers similar ground. If their chart has a GST account at their own number and HQ adds 2100, you end up with both, and the sales tax HQ collects on your behalf posts to 2100. Move a balance between the two with Move balance on the Chart of Accounts screen if you want them in one place.
Setting an account's sales tax
Editing an expense or asset account also offers Sales tax on purchases. It is what a bank line coded to that account starts with: set it to Standard rate and every line you code there afterwards claims the GST/HST inside the amount as an input tax credit, instead of burying it in the expense.
It applies to new coding only. Nothing already recorded changes, and you can override any single transaction from its row in Ledger › Banking; what you pick there is remembered for that supplier and beats the account's default for them. Accounts start with no default, because HQ never assumes a supplier charged tax.
Marking the account that holds your stock
If you track the cost of your stock, one asset account holds it. Open the Assets section, open that account's row, and switch Stock on under Stock on hand. The row then wears a Stock pill.
HQ never guesses which account that is, and it never assumes it is the one numbered 1200. An imported chart keeps stock wherever your accountant put it, and the number bands carry plenty of accounts that are not what the number suggests. Marking it is the only thing that makes an account your stock account, which is why the switch exists.
Some asset accounts never offer it, and that is deliberate: your bank and card accounts, the accounts HQ's own bookkeeping posts through, and the accounts that hold customer deposits or holdbacks, cannot hold stock. A count that rewrote one of those would move money that has nothing to do with your shelves. The same accounts cannot be set up as a deposits or holdback account once they hold entries: those records start empty, so they would never agree with an account that already has a balance.
To mark the account HQ keeps your customer deposits or holdbacks in, open its row and, under Deposits and holdbacks, choose what it holds and Mark. Only an account with no entries yet can be marked this way, and not while another account still holds that money's own entries with its mark taken off: HQ then names that account, so you mark it again instead and the entries and the mark stay together.
If the mark was taken off the account HQ had been keeping them in, that account already has entries, so it offers Mark it again instead, HQ's own seeded accounts included. HQ puts the mark back only when the account holds its own deposit or holdback entries and your deposit or holdback records then agree with it to the cent. If they would not, nothing changes and HQ says both figures. Nothing is posted either way, and the mark stays on that account, where every earlier deposit, refund or holdback already points.
Once it is marked, code stock-purchase bills to it rather than to an expense account, and it becomes the account a posted stock count brings to the counted value.
Marking income that is not a sale
Some income is not a sale of your goods or services. Interest on a bank balance or a GIC is the common one: the bank is providing that service to you, not the other way round, so there is no sale of yours behind it. An exchange gain and a cash rounding are the same shape.
CRA asks for sales and other revenue from supplies on line 101 of the GST/HST return, and a supply means something you provide. Income with no supply of yours behind it does not belong in that figure.
Open the Revenue section, open the account's row, and switch Exclude from line 101 on under GST/HST return. The row then wears a Not in Sales (Out of Scope) pill. HQ seeds Interest Income, Foreign Exchange Gain and Cash Over/Short already excluded; do the same for any of your own accounts that fit.
Out of scope is the tax code QuickBooks and Xero both use for this, so your accountant will recognise it. It is the one that means there was no supply behind the income at all, as against exempt, which is a supply you made that carries no tax. Exempt supplies do belong in the sales figure; out-of-scope income does not.
It changes reporting only. The account keeps every dollar posted to it, it stays on your profit and loss, and it still counts toward your net income. The one thing that changes is the sales figure on your GST/HST return, and the worksheet shows what it left out so you can reconcile the two.
If you are not sure, leave it unmarked. Revenue that belongs on line 101 and is missing from it understates your return, which is the direction that matters; revenue that should not be there does not change the tax you owe.
Hiding the accounts you never use
HQ seeds a standard Canadian chart, so a new book starts with far more accounts than most businesses post to. When you bring your own chart in through a trial-balance import, HQ tucks the seeded accounts your import did not claim out of view for you, on every device: the hide lives on the account itself, not in a browser setting. You can also hide one of your own unused accounts yourself with Hide in its opened row, and bring any account back with Unhide in the same place. An account that cannot be hidden says why, right there: one holding entries, or one a bank or card posts through, stays visible.
An account is only ever hidden when nothing has been posted to it. Money is never tucked out of view: an account with journal entries cannot be hidden, and a hidden account comes back on its own the moment an entry lands on it. A hidden account still works exactly as before behind the scenes; hiding changes what the chart shows, never where anything posts.
The page always says how many accounts are hidden, so nothing disappears without a count. Tick Show hidden to see them, each marked Hidden on its row. Searching also reaches them: type a hidden account's name or number and it appears in the results, marked, whether or not the box is ticked.
A brand new account is never hidden, so adding one always shows it right away.
The setup wizard can put a new book into that state deliberately. If you choose Start with a clean list while setting your books up, HQ still creates every account behind the scenes so your books post correctly from day one, and hides them all until something is recorded to one. Your chart then fills itself in: the first bill, sale or bank line brings back the account it lands on, by itself.