Settings

September 14, 2026 43 views admin

Settings — Complete User Guide — Two Accounts Web

Comprehensive guide for every item under Settings — what each feature does, how to set it up, and how it changes the way the system behaves for you


Table of Contents

  1. 1. Where Settings Lives and How It Works
  2. 2. Billable Expenses
  3. 3. Business Details
  4. 4. Capital Subaccounts
  5. 5. Cash Flow Statement Groups
  6. 6. Chart of Accounts
  7. 7. Control Accounts
  8. 8. Currencies
  9. 9. Custom Fields
  10. 10. Date & Number Format
  11. 11. Divisions
  12. 12. Expense Claim Payers
  13. 13. Forecasts
  14. 14. Inventory Locations
  15. 15. Investment Market Prices
  16. 16. Payslip Items
  17. 17. Report Optimizations
  18. 18. Reporting Categories
  19. 19. Tax Codes
  20. 20. Bank Rules
  21. 21. Customer Dashboards
  22. 22. Email Settings
  23. 23. Footers
  24. 24. Integrations
  25. 25. Inventory Kits
  26. 26. Lock Date
  27. 27. Non-inventory Items
  28. 28. PDF | Themes | Extensions
  29. 29. Recurring Transactions
  30. 30. User Permissions
  31. 31. Withholding Tax
  32. 32. Which Settings Appear When

1. Where Settings Lives and How It Works

Settings is the configuration area for your business.

Settings holds the actual configuration content — your accounts, currencies, tax codes, payslip items and so on. A card in Settings may be hidden until its parent tab is turned on in Customize.

When you open Settings you see a grid of cards. Each card is one feature listed in the table of contents above.

  • Cards shown at full opacity already have data — the system is using that feature.
  • Cards shown at faded opacity are empty — you have not set anything up there yet. Hovering brightens them.
  • If you do not have permission to see a feature, its card is hidden entirely.
How to add a new feature: enabling a tab in Customize can make a new Settings card appear — for example, turning on Customers makes Billable Expenses appear, and turning on Payslips makes Payslip Items appear. If a card you expect is missing, check Customize first.

Clicking a card opens its own page — either a list where you can create many records (for example Divisions or Tax Codes etc) or a single form (for example Business Details or Lock Date). The rest of this guide walks through each card in the order you will see it.


2. Billable Expenses

Location: Settings → Billable Expenses

Use this when you pay for something on behalf of a customer and want to invoice that customer later, optionally with a mark-up.

What you will do

  1. In Customize, make sure Customers is turned on.
  2. Open Settings → Billable Expenses.
  3. Tick Enabled and click Update.
You will not see this card until Customers is turned on in Customize.

How the system behaves after you enable it

Lines on purchase invoices and payments gain a field where you can choose the customer to bill. The system remembers that expense separately. When you later create a sales invoice for that customer, the unbilled expense can be pulled onto the invoice. Reports split billable cost from amounts already invoiced.

Note: enable this before you enter the first purchase you intend to rebill. Expenses posted before enabling cannot be automatically converted.

3. Business Details

Location: Settings → Business Details

This is the identity card for your business file — the name, address and country printed on every document.

Field What you enter
Business Name The legal or trading name — appears on all invoices, quotes and payslips.
Address Multi-line address. Line breaks are kept on printed PDFs.
Country Choose from the list. Setting this to Bangladesh unlocks local reports such as Mushak forms.
Business Identification Number Shown when Country is Bangladesh — printed on local tax forms.
Logo Upload an image. It appears on forms and PDFs where the theme includes a logo placeholder.

There is no accounting impact. Changing the name or address updates future prints immediately; past transactions are not re-dated or re-posted.

Best practice: set the country right after you create a new business. Some local reports only appear when the country is set correctly.

4. Capital Subaccounts

Location: Settings → Capital Subaccounts — only when Capital Accounts is turned on in Customize

Use this to split a capital account further — for example, to track each partner's Drawings, Share Capital or Retained Profit separately within the same capital account.

Column What you will see
Capital Account The parent capital account you are subdividing.
Code Optional short code — shown as Code - Name in lists.
Name The subaccount name.

After you create subaccounts, every capital transaction lets you choose a subaccount. The Balance Sheet and the Statement of Changes in Equity break down capital by subaccount.


5. Cash Flow Statement Groups

Location: Settings → Cash Flow Statement Groups — only when Bank and Cash Accounts is turned on

This defines the three standard groups used in the Cash Flow Statement: Operating Activities, Investing Activities and Financing Activities. Inside each group you create the line headings you want to appear on the statement.

Each account in your Chart of Accounts is assigned to one of these three groups and optionally to a specific group line. The Cash Flow Statement then groups all ledger movements by that assignment. You do not post directly to these groups — you assign accounts to them, and the statement follows.

Hidden until needed: this card appears only when Bank and Cash Accounts is enabled, because a cash flow statement is not relevant without cash accounts.

6. Chart of Accounts

Location: Settings → Chart of Accounts

This is the full skeleton of your ledger. Every transaction you enter ultimately posts to an account shown here, and every report reads from here.

6.1 Balance Sheet

Groups such as Assets, Liabilities and Equity, and the accounts beneath them. For each custom account you can set:

Field What it controls
Name Label on reports and in dropdowns.
Code Optional — shown as Code - Name and sortable. If you rename a built-in system account, the original name is shown struck through for reference.
Group Parent balance-sheet group for ordering.
Cash flow group Which Cash Flow Statement group this account rolls into.
Default description / tax code Auto-filled on new transaction lines using this account.
Inactive Hides the account from new dropdowns while keeping history intact.

Top groups Assets, Liabilities and Equity cannot be reordered. Other groups can be dragged into place.

6.2 Profit & Loss

Income and Expense groups, plus optional Totals and Subtotals — named intermediate lines such as Gross Profit or Operating Profit. If you do not define totals, the system shows a single Net Profit (Loss) line.

Expense groups at the top level are labeled Less: on reports. Each expense account's total is subtracted from income — this is presentation only.

6.3 Creating a New Account

You create balance-sheet and profit & loss accounts the same way — the only difference is which panel you start from.

  1. Open Settings → Chart of Accounts.
  2. At the top of the panel you want (Balance Sheet on the top section, Profit & Loss on the bottom section) click New Account.
  3. Fill the form and click Create.
Field What you enter Tips
Name The label on reports and in every account dropdown. Keep it short and distinct — e.g. Office Rent rather than Expense 1.
Code Optional short code. Shown as Code - Name in lists and sortable in some reports. Use a numbering scheme if you export to an external system — e.g. 4001, 4002.
Group Parent group that anchors the account's position. On the Balance Sheet choose a balance-sheet group; on the Profit & Loss choose an income or expense group. An account always belongs to one group — moving the group later moves the account on every report.
Cash flow group Which Cash Flow Statement section this account rolls into: Operating, Investing or Financing, plus the specific line within that section. Leave as suggested unless your accountant asks for a different classification.
Default description Optional text auto-filled onto new transaction lines that choose this account. You can still overwrite it per transaction. Useful for accounts that always carry the same narration — e.g. Monthly office rent.
Autofill — Tax Code Two controls: a checkbox Autofill — Tax Code and, when ticked, a Tax Code dropdown. The dropdown is only shown when at least one tax code exists in Settings → Tax Codes, and only after you tick the checkbox. The chosen code is then auto-filled onto new transaction lines whenever this account is selected. You can still change or clear it per line. The checkbox + dropdown pattern saves repetitive selection on routine purchases and sales — set it once on the account and every line using that account starts with the correct tax.

After saving the account, it appears immediately in its group's list and in every account dropdown across the system. You can post to it right away — no activation step is needed.

6.4 Creating a New Group

Groups collect related accounts — for example Marketing Expenses under Expenses, or Current Liabilities under Liabilities.

  1. In Settings → Chart of Accounts, click New Group at the top of the correct panel.
  2. Enter a Name and, for Profit & Loss groups, choose the Type (Income, Expense or Group). Expense groups created at the top level are labeled Less: on the Profit & Loss Statement.
  3. For a sub-group, select its Parent Group. Leave blank to create a top-level group.
  4. Click Create.

New groups start empty. Create accounts inside them using 6.3 or drag existing accounts into them via Reorder. Groups can be nested one level deep on the Profit & Loss section.

6.5 Creating Totals and Subtotals (Profit & Loss Only)

Totals are named intermediate profit lines on the Profit & Loss Statement — for example Gross Profit after direct costs, or Operating Profit after overheads. Subtotals are the dotted separator lines that group accounts beneath a total.

  1. In the Profit & Loss Statement panel, click New Total.
  2. Enter a name such as Gross Profit.
  3. Save. The total appears as a bold line; accounts listed above it are summed into that line automatically based on position.

If you do not create any totals, the system shows a single Net Profit (Loss) line at the bottom. Totals do not create new ledger accounts — they are presentation rows.

6.6 Modifying an Account or Group

  1. Open Settings → Chart of Accounts.
  2. Find the row you want to change and click Edit on that row.
  3. Update the fields — you can rename the account, change its code, move it to a different group, change its cash flow assignment, or edit the default description and tax code.
  4. Click Update.

Changes are reflected immediately:

  • Rename: the new name appears on all future reports and in dropdowns. Past transactions are not re-dated, but they now display under the new name. If you renamed a built-in system account, the original system name is shown struck through next to your name for reference.
  • Move group: the account (and its entire history) moves to the new group on the next Balance Sheet and Profit & Loss Statement. No journal is needed.
  • Code change: sorting by code in reports reflects the new code on next run.
No posting on edit: modifying an account or group never creates a journal entry. The ledger amounts stay the same — only the presentation and grouping change.

6.7 Deleting an Account or Group

  1. Open Settings → Chart of Accounts.
  2. Click Edit on the row you want to remove.
  3. Click Delete at the bottom of the form and confirm.
Situation What happens when you try to delete
Account or group that has never been used Deleted if require. It disappears from the chart and from all dropdowns.
Account or group that has transactions The system prevents deletion and explains that history exists. You must make the account Inactive instead (see below) — history is preserved and the account is hidden from new entries.
Group that still contains accounts Deletion is blocked until the group is empty. Move or make inactive all accounts inside it first, then delete the empty group.
Built-in system accounts and top groups (Assets, Liabilities, Equity) Cannot be deleted. You can rename a system account, but not remove it.
Prefer Inactive over Delete once an account has history. Inactive keeps the ledger intact and hides the account only from new picks. Delete is for mistakes created moments ago with no postings.

6.8 Reordering Accounts and Groups

  1. Open Settings → Chart of Accounts.
  2. Click Reorder icon of each account & group of the chart.
  3. Drag rows up or down within their panel. You can reorder accounts inside a group and groups relative to each other.
  4. Click Update to save.

The new order is reflected on every report that prints the chart — Balance Sheet, Profit & Loss Statement, Trial Balance and Cash Flow Statement. Reordering does not change any amounts; it is presentation only. Built-in top groups (Assets, Liabilities, Equity) and the Suspense account cannot be moved.

6.9 Renaming System Accounts, Inactive and Suspense

Feature What you will see and do
Renaming a system account Open the system account via Edit, change its Name and save. The chart shows your new name in normal text with the original system name struck through beside it, so you can always tell which system account it maps to.
Marking inactive Tick Inactive on the edit form and save. The row turns grey on the chart, disappears from all new account dropdowns, but remains on every report that includes its historical transactions.
Suspense account A system error account hidden when its balance is zero. A non-zero Suspense means a setup mapping is missing — for example, an earnings item without an expense account or a tax code without an account. Complete the mapping in the related Settings area; the amount clears on the next report run once the source document is updated. Never post manual journals to Suspense to hide the error.
Typical fixes for a Suspense balance: open the document shown on the General Ledger drill-down (e.g. a payslip or invoice), fill the missing account field highlighted on the form, and save. The ledger reposts away from Suspense automatically.

7. Control Accounts

Location: Settings → Control Accounts

Control accounts let you split a single balance-sheet line into several sub-ledgers. For example, instead of one Accounts Receivable line, you can have Customers — Retail and Customers — Wholesale.

Sub-ledger When it appears
Bank and Cash Accounts When Bank and Cash Accounts is on
Customers When Customers is on
Suppliers When Suppliers is on
Inventory Items When Inventory Items is on
Fixed Assets — At Cost & Accumulated Depreciation When Fixed Assets is on
Intangible Assets — At Cost & Amortisation When Intangible Assets is on
Investments When Investments is on
Capital Accounts When Capital Accounts is on
Special Accounts When Special Accounts is on
Employees When Employees is on

What you will do

  1. Open Settings → Control Accounts and choose the sub-ledger type (for example Customers).
  2. Click New Control Account.
  3. Enter a name, optional code and group, choose the cash flow grouping, and save.
  4. Open the related record (for example a Customer) and assign it to the new control account in the Control Account field.

After that, the Balance Sheet, Trial Balance and General Ledger Summary show each control account as its own line, and the Chart of Accounts lists them alongside ordinary accounts. Marking a control account inactive hides it from new assignments but leaves history untouched.


8. Currencies

Location: Settings → Currencies

Use this to work in more than one currency. It has three parts: the base currency, foreign currencies, and the exchange rates that link them.

8.1 Base Currency

There is one base currency per business — for example BDT. You set its code, name, symbol and how many decimal places it uses (default 2). All reports are ultimately presented in this currency using the exchange rate on the transaction date.

8.2 Foreign Currencies

Each foreign currency has a code, name, symbol, decimal places and an inactive flag. Inactive currencies disappear from new dropdowns but remain on past transactions. To add one, open Settings → Currencies → Foreign Currencies and click New Foreign Currency.

8.3 Exchange Rates

Open Settings → Currencies → Exchange Rates to maintain dated rates.

Field What you enter
Date Effective date of the rate.
Currency Which foreign currency this rate applies to.
Exchange Rate The rate itself. A toggle lets you enter either 1 Base = X Foreign or 1 Foreign = X Base.

When you enter a foreign-currency transaction, the system looks up the most recent rate on or before that date. If no rate exists for that date, it uses 1. Unrealised exchange differences are posted to the dedicated currency gains/losses account and appear on the Profit & Loss Statement.

Note: enter at least one rate for every foreign currency before posting — otherwise the converted base amount will be 1:1 and your reports will be incorrect.

9. Custom Fields

Location: Settings → Custom Fields

Custom fields let you add your own fields to almost any form — for example, a delivery reference on a sales invoice, a warranty date on an inventory item, or a dropdown for sales region on a customer.

Inside Settings you will see five types:

Type Best for
Text Free text or a dropdown list (enter options one per line)
Number Amounts with control over minimum decimals and footer totals
Date Dates
Checkbox Yes/no flags
Multiple Value Tag-style lists where more than one value can be chosen

What you will do

  1. Choose the type and click New Custom Field.
  2. Enter a name and choose where it should appear — for example Customer, Sales Invoice or Sales Invoice — Line.
  3. Set size, description and whether it should be shown on the view screen or moved to the top of the form.
  4. Save. The new field appears immediately on the chosen forms as an extra input, as a column you can show/hide via Edit Columns, and as a merge tag you can use in themes and footers.
Placement: a field only appears where you placed it. If you do not see it, re-open the field and add the correct placement.

10. Date & Number Format

Location: Settings → Date & Number Format

This single form controls how dates and numbers are displayed everywhere — on screens, in tables and on printed PDFs.

You choose the date pattern (for example dd/MM/yyyy), the decimal and thousand separators, and the fiscal year start. Changes apply instantly to all views and prints without altering stored data.


11. Divisions

Location: Settings → Divisions

Divisions are tracking codes for segment reporting — for example North, South or Retail, Wholesale etc. They are not accounts; they are tags that travel with transactions.

Field What you enter
Name Division name shown in dropdowns and on reports.
Code Optional short code — shown as Code - Name. Duplicate codes trigger a warning but are not blocked.
Inactive Hides the division from new entries while keeping history.

How the system uses divisions

Every line that supports divisions shows a Division dropdown when the related account allows it, and many master records (Customer, Supplier, Inventory Item, Project) have a division that auto-fills onto new lines. Profit & Loss Statement, Balance Sheet (with interdivisional loan elimination), Trial Balance, General Ledger Summary, Aged Payables/Receivables, Division Exception Report, Tax Summary and Inventory Valuation can all be filtered by division. Payslip lines can carry a different division from the header.


12. Expense Claim Payers

Location: Settings → Expense Claim Payers — only when Expense Claims is turned on

This is the list that feeds the Paid By field on an expense claim. Payers can be employees or other named payers you create here.

Each payer you add becomes selectable on the expense claim form. The claim amount is tracked against that payer and appears on the Expense Claims Summary and on the payer's clearing account.


13. Forecasts

Location: Settings → Forecasts

Forecasts are budget overlays — a dated set of expected income and expense amounts by account. They do not post to the ledger.

Column What you enter
Date Forecast period.
Description Note for the entry.
Amount Budgeted amount per account.
Repeat Whether to repeat the entry over following periods.

The Profit & Loss Statement — Actual vs Budget and Forecast Profit & Loss Statement reports compare ledger actuals against these forecasts.


14. Inventory Locations

Location: Settings → Inventory Locations — only when Inventory Items is turned on

Locations are warehouses or storage places — for example Main Warehouse or Overflow Bay etc.

Field What you enter
Name Location name.
Code Optional short code.
Inactive Hides the location from new picks.

Inventory movements (goods receipts, delivery notes, transfers) let you choose a location. The report Inventory Quantity by Location shows quantities per item per location. Transferring stock between locations creates opposite quantity movements.


15. Investment Market Prices

Location: Settings → Investment Market Prices

This is the mark-to-market price list for investments. Each row records:

Field What you enter
Date Price date.
Investment Which investment this price belongs to.
Currency Currency of the quoted price.
Market Price Quoted market price on that date.

The Investment Revaluation Worksheet reads the latest price for each investment and posts the difference between cost and market value as an unrealised gain or loss.


16. Payslip Items

Location: Settings → Payslip Items — only when Payslips is turned on (which itself requires Employees)

This is where you define the building blocks of a payslip. There are three lists.

16.1 Earnings Items

Examples: Basic Salary, Overtime, House Rent, Medical Allowance etc.

Field What you enter
Name Label shown on the payslip line and on reports.
Expense Account Profit & Loss expense account where this earning is posted. If left blank, the system uses Suspense temporarily.
Reporting Category Optional grouping for reports — e.g. to group several earnings under "Salary".
Inactive Hides the item from new payslips while keeping history.

16.2 Deduction Items

Examples: Income Tax, Health Insurance, Loan Repayment, Unpaid Leave etc.

Field What you enter
Name Label on the payslip and on reports.
Account Account where the deduction is posted — this can be a liability (amount owed) or a contra-expense. If blank, it goes to Suspense.
Reporting Category Optional grouping.

16.3 Contribution Items

Examples: Employer Social Security, Provident Fund Matching etc. These are costs paid by the employer on top of the employee's pay.

Field What you enter
Name Label.
Expense Account Profit & Loss account for the employer's cost.
Liability Account Balance Sheet liability account for the amount owed.
How payslips behave: each payslip line uses one of the items above. Earnings add to gross pay, deductions are subtracted to give net pay, and contributions are shown separately as employer costs. The system ensures debits equal credits — the balancing entry is tracked against the employee's clearing account, which represents the net amount owed to that employee. payslip items you mark inactive disappear from new payslips but remain on past ones.

17. Report Optimizations

Location: Settings → Report Optimizations

This stores saved column layouts and ordering presets for reports. Each optimization remembers which columns you chose to show, how they are sorted, and which groups are collapsed, per report.

You do not need to configure this to run reports — it only controls presentation. It affects any report that offers Edit Columns.


18. Reporting Categories

Location: Settings → Reporting Categories

Reporting categories are tags that group ledger rows across different features. There are groups for payslip items and for tax lines. For example, you can group several tax codes under VAT and several payslip earnings under Salary.

You create a category here and then assign it on the related record — for example on a Tax Code or a Payslip Earnings Item. Reports such as Tax Summary, Tax Reconciliation and Payslip Totals per Item and Employee group by this tag. Changing a tag re-groups past and future rows on the next report run without altering the underlying data.


19. Tax Codes

Location: Settings → Tax Codes

Tax codes define the rate, the account where tax is posted, and how tax appears on printed documents.

Field What you will see
Name Code name used in dropdowns (e.g. VAT 15%).
Label Optional override for what is printed — if blank, the name is used.
Reporting Category Grouping for tax reports, with a separate reversed category when reverse charge applies.
Tax Rate Choose Zero, Total, or Custom. Total applies 100% to the tax account (for import VAT).
Rate & Account (when Single Rate) Rate percentage and the balance-sheet account where tax is posted. If missing, the system warns you before posting.
Components (when Multiple Rates) A grid of sub-rates, each with its own name, rate and account. Negative rates are allowed for rebates.
Reverse Charged When ticked, the tax posts to the reversed reporting category.
Custom Title Optional override for the document title when this code is used (e.g. "Tax Invoice").
Inactive Hides the code from new lines while keeping history.

On transaction lines where tax is enabled, you will see a Tax Code dropdown. The system splits the line amount into net and tax portions and posts the tax to the configured account. Missing accounts cause the tax portion to fall to Suspense — correct it before closing the period.

Note: complete the account field for every rate that is not zero. The system will show a warning if it is missing.

20. Bank Rules

Location: Settings → Bank Rules — only when Receipts or Payments is turned on

Bank rules automate the categorization of bank statement lines that would otherwise remain uncategorized. They are suggestion rules — they do not post to the ledger by themselves.

List Used for
Payment Rules Money paid out
Receipt Rules Money received

20.1 What you will do — creating a rule

Field What you enter
If Bank Account is Optional filter — leave blank to match any bank account, or pick one account so the rule only fires for that account.
And Amount is Optional filter — Any Amount (default), Exactly, More Than or Less Than a given amount. Leave on Any unless you need amount-specific handling.
And Description Contains One or more keywords — all must appear in the bank's description for the rule to match. Matching is not case-sensitive. Longer combined keyword length ranks higher, so a more specific rule wins over a generic one. A rule with no keywords never matches.
Then allocate to Who the payment is to or from — a Customer, Supplier, or Other contact. This fills the contact on the suggested receipt or payment.
Lines One or more split lines: the account (and subsidiary such as customer, supplier, employee, inventory item, capital account, special account, etc.), quantity, amount (either a fixed amount or a percentage of the remaining amount), tax code and division. Inter-account transfers can also be defined here. With multiple lines the system applies fixed amounts first, then percentages of what remains, and puts any rounding remainder on the last percentage line.
Quick create: on the Uncategorized Receipts or Uncategorized Payments screen, each uncategorized line has a New Receipt Rule or New Payment Rule link that pre-fills the bank account and a keyword from that line. Use it to create a rule from a real description without retyping.

20.2 When do bank rules apply? — Import only, and only via Uncategorized

Bank rules are not applied at the moment you import a bank statement. Import always creates Uncategorized receipts and payments — each imported line becomes a receipt or payment with only an amount, date and description and no account. The ledger for that line is held in Suspense against the selected bank account so the books stay balanced.

Rules come into play on the Uncategorized Receipts and Uncategorized Payments screens:

  • Open Bank and Cash Accounts — the table shows a count of Uncategorized Receipts and Uncategorized Payments per bank account. The same alert badge appears at the top of the Receipts and Payments lists when uncategorized items exist.
  • Open Uncategorized Receipts or Uncategorized Payments. For each line the system looks up your Receipt Rules or Payment Rules that match the bank account, description and amount, sorted with the most specific (longest keywords) first. If a rule matches, the screen shows a preview of the suggested accounts (grey Suspense crossed out, green suggested account). If no rule matches, both sides show Suspense and the checkbox is unticked.
  • Tick the lines you want to apply and click Batch Update — the system updates those receipts or payments with the rule's contact and lines in one go.
Rules do not run on manual entry. When you create a receipt or payment directly via New Receipt or New Payment, the system does not consult bank rules. The Receipt and Payment forms do not auto-fill from rules — you choose the account and item yourself on the form. Rules only assist the bulk categorization of imported, uncategorized lines.

20.3 What happens if you create a receipt or payment without setting an account

The system allows you to save a receipt or payment even when every line has no Item and no Account — the line's subsidiary fields (customer, supplier, employee, etc.), tax code and division are also hidden until an account is chosen. This is intentional for the import flow, but you can also trigger it manually.

When saved this way, the transaction is marked Uncategorized:

  • On screen: it appears in the Uncategorized count on Bank and Cash Accounts, in the alert banner on the Receipts or Payments list, and as a row on the Uncategorized Receipts or Uncategorized Payments screen.
  • In the ledger: the contra leg is posted to Suspense (the system error account) while the balancing leg is still posted to the bank account you selected in the header (Received in or Paid from). The books remain balanced — Suspense holds the amount until you categorize it. Suspense is hidden on reports when its balance is zero, but a non-zero balance signals that categorization is incomplete.
  • Single empty transaction still balances: even a receipt or payment with no lines produces two ledger legs — Suspense versus Cash at Bank — so the import never breaks double-entry.

How to fix an uncategorized receipt or payment

  1. One by one: open the receipt or payment and choose an Item (which brings its sales or purchase account) or an Account plus any required subsidiary (customer for Accounts Receivable, supplier for Accounts Payable, employee for Employee Clearing, etc.). Fill the amount on the line, add tax code or division if needed, and save. The Suspense leg reposts to the chosen account immediately.
  2. In bulk via rules: create a Receipt Rule or Payment Rule that matches the description (and optionally bank account and amount), then return to the Uncategorized screen, tick matching rows and click Batch Update — the rule's lines replace Suspense in one action for many rows at once.
  3. Verify: re-open Bank and Cash Accounts — the Uncategorized count for that bank should drop. Open Trial Balance or General Ledger Transactions and confirm Suspense is back to zero.
Account still required for a valid posting: some accounts require a subsidiary — for example Accounts Receivable requires a Customer, Accounts Payable requires a Supplier, Employee Clearing requires an Employee. Choosing such an account without its subsidiary also falls back to Suspense and keeps the transaction uncategorized until the subsidiary is supplied. The line's extra fields only appear once the account is chosen — this is your visual cue that more is needed.

20.4 Scope and entire-system behavior

  • Import is the primary creator of Uncategorized. Every supported import format — QIF, OFX, QFX, STA, SWIFT 940, CAMT.530 XML, CSV and others — follows the same path: parse into lines (date, description, amount) → create Uncategorized receipt or payment with the bank account from the import header and no account on the line → ledger via Suspense.
  • Duplicate protection: the importer skips lines already present in the ledger (same date, amount, description and cleared status) and respects the Lock Date.
  • No automatic posting from rules alone: a rule никогда не posts by itself and never modifies the import process. Until you confirm via Batch Update or manual edit, the imported transaction stays uncategorized on Suspense.
  • Other documents ignore rules: sales invoices, purchase invoices, quotes, orders, journal entries, expense claims and forecasts never consult bank rules — they have their own item and account dropdowns. Rules exist solely to speed up the Uncategorized step after bank import.
  • Where to see the result: after categorization, the transaction moves out of Uncategorized, disappears from the alert, and its ledger moves from Suspense to the real account. Reports such as Profit & Loss Statement, Balance Sheet, General Ledger Summary and Tax reports then reflect the correct account immediately.
No match when empty: a rule with no keywords never matches — add at least one keyword. If two rules could match the same line, the rule with the longest total keyword length is tried first. Create specific rules (e.g. "XYZ BANK HELPLINE FEE" etc) ahead of generic ones (e.g. "BANK" etc) to avoid misallocation.

21. Customer Dashboards

Location: Settings → Customer Dashboards — only when Customers is turned on

A Customer Dashboard is an external portal you can share with a single customer so they can view their own documents — quotes, orders, invoices and more — without logging into your business. You create one dashboard per customer and choose which document types that portal will show.

What you will do

  1. Open Settings → Customer Dashboards and click New Customer Dashboard.
  2. Choose the Customer this portal is for.
  3. Tick the document types you want that customer to see:
Option Portal section that appears
Sales Quotes Quotes
Sales Orders Orders
Sales Invoices Invoices
Credit Notes Credit Notes
Delivery Notes Delivery Notes
  1. Click Create. Open the dashboard record and click Go to Customer Dashboard to open the portal in a new tab — this is the link you share with the customer.
One dashboard per customer. If you need to change which documents a customer sees, re-open the same dashboard record, tick or untick the boxes and save — the portal updates immediately. To hide the portal entirely, delete the dashboard record.

Which documents the customer sees — and what each document list shows

The portal has navigation with Summary (always visible) and one entry per ticked box. A badge shows how many documents of that type exist for the customer. Clicking a section opens a table; each row has a View button to open the full document as you see it internally (printed view with a Print button).

Portal section When it appears Documents shown Columns you will see How status is shown
Summary Always — first page No document list. A header card with the customer's Name, Billing Address, Delivery Address and Email. Card layout, no table. —
Quotes Only when Sales Quotes is ticked All sales quotes for that customer, newest first. Date, Reference, Description, Total etc Badge: Active (green), Accepted (already linked to an order or invoice), Expired (past expiry date), or Cancelled.
Orders Only when Sales Orders is ticked All sales orders for that customer, newest first. Date, Reference, Description, Total etc No status badge.
Invoices Only when Sales Invoices is ticked All sales invoices for that customer, newest first. Issue Date, Reference, Description, Invoice Total, Balance Due etc Badge: Paid (balance zero), Unpaid, or Overpaid (negative balance).
Credit Notes Only when Credit Notes is ticked All credit notes for that customer, newest first. Date, Reference, Description, Total etc No status badge.
Delivery Notes Only when Delivery Notes is ticked All delivery notes for that customer, newest first. Date (delivery date), Reference, Description No amount and no status — quantity-only movement.
Not shown until ticked. If a customer reports a missing section (e.g. they cannot see Invoices), re-open Settings → Customer Dashboards → that dashboard and ensure the corresponding box is ticked. An empty portal that shows only Summary means no boxes were ticked.

22. Email Settings

Location: Settings → Email Settings

This has two parts:

Part What you will do
SMTP Server Enter host, port, username, password and whether to use SSL. You can also set this per-user — the user's own SMTP overrides the business default for that user.
Email Templates Thirteen templates — one per document type such as Sales Invoice, Payslip, etc. Each template controls the subject and body used when you click Email on that document. Placeholders insert business name, document details and the attached PDF.

Use the Test Email action to send a test message after saving. No accounting impact — emails only attach the document PDF produced from the current view.


23. Footers

Location: Settings → Footers

Footers are reusable blocks printed at the bottom of documents — terms, bank details, or notes that you want on many forms. There are sixteen groups, one per document type (Sales Invoices, Purchase Invoices, Receipts, Payments, Payslips and so on).

You create a footer in the relevant group and then select it on the document form. The chosen footer is appended to the printed/PDF view. Footers do not affect the ledger.


24. Integrations

Location: Settings → Integrations

Connectors to external services. The built-in example is Google Drive for backups — you authorize access and choose the backup folder. The file stored is a copy of the business data file.

Integrations are transport only and have no ledger impact. Additional connectors can appear here when available.


25. Inventory Kits

Location: Settings → Inventory Kits — only when Inventory Items is turned on

A kit is a bundled item sold as one unit but stocked as components — for example a Starter Pack made of Item A + Item B. You define the item code, item name, unit name, default selling price and the component list.

When you sell a kit, the system expands it into its components for inventory and posts each component's quantity and value separately. The kit itself is not an account — its components are.


26. Lock Date

Location: Settings → Lock Date

This prevents back-dated changes after you have closed a period.

Field What you enter
Date Cut-off date — nothing dated on or before this date can be created, edited or deleted.
Lock Accounting Periods Tick to activate the lock.
What happens when locked: any attempt to create or edit a document dated on or before the lock date is rejected with an error that Accounting period is locked. To post an older document you must ask a user with full access to clear or move the lock. Bulk imports that contain even one locked-dated row are rejected as a whole.

27. Non-inventory Items

Location: Settings → Non-inventory Items

Use this for services or non-stocked goods you buy or sell but do not track quantities for.

Field What you enter
Code / Name / Unit Name Identifiers shown in item dropdowns.
When Sold / When Purchased Profit & Loss account used when the item is sold or purchased.
Default Description / Price / Tax Code / Division Values auto-filled onto new lines that choose this item. Each has a toggle so you can leave it blank.
Hide Item Name on Printed Documents When ticked, only the line description is printed.
Inactive Hides the item from new picks.

Unlike inventory items, non-inventory items do not create quantity-on-hand movements — only amounts are posted.


28. PDF | Themes | Extensions

Location: Settings → PDF | Themes | Extensions

This controls the printed appearance and optional scripting. You will see three cards inside: PDF Settings, Themes and Extensions.

Part What you will do
PDF Settings Turn PDF generation on or off.
Themes Create custom HTML templates that control how documents print — see twoaccountsweb.com/custom-theme.
Extensions Inject custom JavaScript into specific pages or across the entire application — see twoaccountsweb.com/extensions.

28.1 PDF Settings

Open Settings → PDF | Themes | Extensions → PDF Settings and turn the toggle on or off. When on, every document view shows a PDF button that generates a PDF from the current theme. When off, you can still print via the browser's Print → Save as PDF — for best results with custom themes, use Google Chrome.

28.2 Themes — custom print templates

Themes let you design exactly how a document prints, for different paper sizes (A4, 80mm or 58mm thermal) and printer types. A theme is an HTML template with placeholders that the system fills in.

What you will do

  1. Open Settings → PDF | Themes | Extensions → Themes and click New Theme.
  2. Paste your HTML template. You can start from one of the samples below and adjust colours, widths and margins.
  3. Click Create. To use it, open any document (for example a sales invoice), choose the theme in the Theme dropdown and print. You can edit or delete the theme later from the same list.
Thermal tips: for 58mm or 80mm thermal printers, set a narrow width (e.g. width: 250px), reduce font sizes, and test with your printer — not all fields fit without adjusting margins and column widths. If the PDF button does not render the theme as expected, use the browser's Print → Save as PDF instead.

Useful placeholders inside a theme:

Placeholder What it inserts
{{ business.name }}, {{ business.address }}, {{ business.logo }} Business header from Settings → Business Details. Logo is shown with {% if business.logo != null %}<img src="{{ business.logo }}">{% endif %}.
{{ title }} Document title — e.g. Sales Invoice or Payslip.
{{ recipient.name }}, {{ recipient.address }} Customer or supplier name and address.
{% for field in fields %} {{ field.label }} / {{ field.text }} {% endfor %} Header fields such as Date, Reference and custom fields.
{{ description }} Description or narration entered on the document.
{% for column in table.columns %} {{ column.label }} {% endfor %} Header row of the line table.
{% for row in table.rows %} {% for cell in row.cells %} {{ cell.text }} {% endfor %} {% endfor %} Each line of the document.
{% for total in table.totals %} {{ total.label }} / {{ total.text }} {% endfor %} Totals such as Subtotal, Tax and Grand Total. Check total.inherit_string to bold the grand total.
{{ inherit_string.text }} Status stamp such as Paid or Overdue — style green for positive and red for negative.
{% for field in custom_fields %} Custom fields placed on the document.
{% for field in business.custom_fields %} Business-level custom fields, typically in the footer.

Sample 1 — Sales Invoice, Regular (A4) Theme

Use this as a starting point for a standard A4 invoice. It includes a logo and title bar, customer and header fields, a bordered line table with column headers, totals, custom fields, a status stamp and a coloured footer. The footer is fixed to the bottom on print.

<table style="padding: 30px 60px; print-color-adjust: exact; width: 100%;" class="w-full themeInvoice">
  <thead>
    <tr><td colspan="99">
      <table style="margin-bottom: 20px" class="w-full"><tr>
        {% if business.logo != null %}<td style="width: 300px"><img src="{{ business.logo }}" style="max-height: 150px; max-width: 300px;" /></td>{% endif %}
        <td style="font-weight: bold; font-size: 32px; border-bottom: 5px solid #d3d3d3; padding: 20px; text-align: right;">{{ title }}</td>
      </tr></table>
      <table style="margin-bottom: 20px" class="w-full"><tr>
        <td>
          <div style="font-weight: bold; text-decoration: underline;">Customer Information:</div>
          <div style="font-weight: bold;">{{ recipient.name }}</div>
          <div>{{ recipient.address | newline_to_br }}</div>
        </td>
        <td style="text-align: right;">
          {% for field in fields %}
            <div style="font-weight: bold;">{{ field.label }}</div>
            <div style="margin-bottom: 10px;">{{ field.text }}</div>
          {% endfor %}
        </td>
      </tr></table>
      <div style="font-size: 14px; font-weight: bold; margin-bottom: 20px;">{{ description }}</div>
    </td></tr>
    <tr style="background: #d3d3d3;">
      {% for column in table.columns %}
        <td style="border: 1px solid #000; font-weight: bold; padding: 5px 10px; text-align: {{ column.align }};">{{ column.label }}</td>
      {% endfor %}
    </tr>
  </thead>
  <tbody>
    {% for row in table.rows %}
      <tr>{% for cell in row.cells %}
        <td style="border: 1px solid #000; padding: 5px 10px; text-align: {{ table.columns[forloop.index0].align }};">{{ cell.text | newline_to_br }}</td>
      {% endfor %}</tr>
    {% endfor %}
    {% for total in table.totals %}
      <tr>
        <td colspan="{{ table.columns | size | minus:1 }}" style="text-align: end; padding: 5px 10px;{% if total.inherit_string %} font-weight: bold;{% endif %}">{{ total.label }}</td>
        <td style="border: 1px solid #000; text-align: right; padding: 5px 10px;{% if total.inherit_string %} font-weight: bold;{% endif %}">{{ total.text }}</td>
      </tr>
    {% endfor %}
    {% for field in custom_fields %}
      <tr><td colspan="99"><div style="font-weight: bold; padding-top: 20px;">{{ field.label }}</div><div>{{ field.text | newline_to_br }}</div></td></tr>
    {% endfor %}
  </tbody>
</table>
<div style="background: #5783a9; color: #fff; text-align: end; padding: 10px 20px; font-size: 11px; text-transform: uppercase;">
  <div style="font-weight: bold;">{{ business.name }}</div>
  <div>{{ business.address | replace: "\n", " " }}</div>
</div>
<style media="print">@page { size: A4; margin: 0; } #footer { position: fixed; bottom: 0; width: 100%; }</style>

Full regular theme HTML is published at twoaccountsweb.com/custom-theme — preview image: /static/themes/sales-invoice-theme-html.png.

Sample 2 — POS Invoice, Thermal (58mm / 80mm) Theme

Compact 250px-wide layout for thermal printers. Business name and address centred at the top, customer fields on dashed separators, a compact column header row, rows with narrow columns, totals right-aligned and a thank-you line at the bottom. Adjust width: 250px to 280px for 80mm paper.

<table style="background: #fff; width: 250px; color: #000; text-transform: capitalize;" align="left">
  <thead>
    <tr><td align="center">
      {% if business.logo != null %}<img src="{{ business.logo }}" style="height: 75px; width: 130px;">{% endif %}
      <div style="font-size: 20px; font-weight: bold;">{{ business.name }}</div>
      <div style="font-size: 10px; text-transform: uppercase;">{{ business.address | replace: "\n", " " }}</div>
      <div style="font-weight: bold; font-size: 15px; text-align: center;">{{ title }}</div>
    </td></tr>
    <tr><td>
      <div style="border-bottom: 2px dashed #d1d1d1; padding: 7px; font-size: 12px;">Customer Name: <span style="font-weight: normal;">{{ recipient.name }}</span></div>
      <div style="border-bottom: 2px dashed #d1d1d1; padding: 7px; font-size: 12px;">Description: <span style="font-weight: normal;">{{ description }}</span></div>
    </td></tr>
  </thead>
  <tbody>
    <tr><td>
      {% for column in table.columns %}<span style="width: 10%; float: left; border-bottom: 1px solid #000;">{{ column.label }}</span>{% endfor %}
    </td></tr>
    {% for row in table.rows %}
      <tr><td>
        {% for cell in row.cells %}<span style="width: 30%; float: left;">{{ cell.text }}</span>{% endfor %}
      </td></tr>
    {% endfor %}
    {% for total in table.totals %}
      <tr><td style="text-align: right; font-size: 13px; font-weight: bold;">{{ total.label }}: {{ total.text }}</td></tr>
    {% endfor %}
    <tr><td style="text-align: center; border-top: 2px dashed #d1d1d1; padding: 7px;">Thank you. Visit again.</td></tr>
  </tbody>
</table>

Full POS theme HTML is published at twoaccountsweb.com/custom-theme — preview image: /static/themes/sales-invoice-theme-pos-html.png. Use it for receipts and small invoices where every millimetre matters.

28.3 Extensions — custom JavaScript

Extensions let you inject custom JavaScript into specific pages or across the entire application — for example to add a button, validate a field, or automate a repetitive step. Only administrators can create and manage extensions. See twoaccountsweb.com/extensions.

What you will do

  1. Open Settings → PDF | Themes | Extensions → Extensions and click New Extension.
  2. Enter a descriptive name.
  3. Paste your JavaScript code.
  4. Choose where it should run: a Custom URL (e.g. sales-invoices to target only sales invoices) or Everywhere to run on all pages.
  5. Click Create. You can disable, edit or delete the extension at any time from the Extensions list.

Sample — show the current page URL

Minimal example that you can paste as an extension and change to your own logic:

// This extension will show the current URL in an alert
var url = window.location.pathname;
alert("Current URL: " + url);

Replace the alert with any page modification you need — for example hiding a field, adding a calculated column, or calling an external service. Because extensions run as plain JavaScript in the browser, you can use document.querySelector, fetch and normal DOM APIs.

Admin only: only administrator accounts can create and manage extensions. Test extensions in a separate business or with the toggle off before enabling them for all users, and keep the code small — a broken extension can affect every page when set to Everywhere.

Themes render what you already see on the view screen; they cannot post to the ledger. Extensions are presentation and behaviour tweaks only.


29. Recurring Transactions

Location: Settings → Recurring Transactions

Recurring transactions are templates that generate real documents on schedule. There are ten types: Recurring Sales Invoices, Purchase Invoices, Payments, Receipts, Journal Entries, Payslips, Sales Quotes, Sales Orders, Purchase Orders and Credit Notes.

You create a template just like a normal document but with a repeat schedule. When the due date arrives, the system clones the template into a real transaction that then posts to the General Ledger in the normal way. You can also copy any view to a recurring template via the Copy to menu.


30. User Permissions

Location: Settings → User Permissions

This controls who can see and change what in this business.

The two layers

Layer Where it lives What it controls
Users (global) Admin console (outside Settings) Username, password, type (Administrator or Restricted), and which businesses the user can access
User Permissions (per business) Settings → User Permissions For this business: whether the user has Full Access or Custom Access, which areas they can view, and what they can do in each area

What you will do for a restricted user

  1. Create the user in the global Users area (if not already created) and grant access to this business.
  2. Open Settings → User Permissions and click the user.
  3. Choose Custom Access (or Full Access to bypass all checks).
  4. For Custom Access, you will see a checkbox tree by area — tick the areas the user can see. For leaf areas you can choose View only, View + Create, View + Create + Update, or View + Create + Update + Delete.
  5. Optionally restrict which Bank and Cash Accounts the user can see — restricted accounts are filtered from every cash report for that user.
Full Access bypasses all area checks — assign it sparingly. A restricted user with no areas ticked will see an empty Settings hub, which is normal.

Permissions are checked before every save, delete or reorder. If a user tries to do something beyond their access level, the action is rejected.


31. Withholding Tax

Location: Settings → Withholding Tax

This is a simple switch with two checkboxes:

Option When to tick
Withholding Tax Receivable When tax is withheld from your sales (you will claim it back)
Withholding Tax Payable When you withhold tax on purchases (you will pay it to the authority)

When either box is ticked, purchase and sales invoice lines gain withholding tax fields. Amounts withheld are posted to the dedicated withholding tax receivable/payable control accounts and later settled via the Withholding Tax Receipts tab.


32. Which Settings Appear When

Feature Requires tab Where to find it
Billable Expenses Customers Settings → Billable Expenses
Business Details — Settings → Business Details
Capital Subaccounts Capital Accounts Settings → Capital Subaccounts
Cash Flow Statement Groups Bank and Cash Accounts Settings → Cash Flow Statement Groups
Chart of Accounts — Settings → Chart of Accounts
Control Accounts Per type Settings → Control Accounts → Customers / Suppliers / …
Currencies — Settings → Currencies → Base / Foreign / Exchange Rates
Custom Fields — Settings → Custom Fields → Text / Number / …
Date & Number Format — Settings → Date & Number Format
Divisions — Settings → Divisions
Expense Claim Payers Expense Claims Settings → Expense Claim Payers
Forecasts — Settings → Forecasts
Inventory Locations Inventory Items Settings → Inventory Locations
Investment Market Prices — Settings → Investment Market Prices
Payslip Items Payslips Settings → Payslip Items → Earnings / Deductions / Contributions
Report Optimizations — Settings → Report Optimizations
Reporting Categories — Settings → Reporting Categories
Tax Codes — Settings → Tax Codes
Bank Rules Receipts or Payments Settings → Bank Rules → Payment / Receipt Rules
Customer Dashboards Customers Settings → Customer Dashboards
Email Settings — Settings → Email Settings → Server / Templates
Footers — Settings → Footers → Sales Invoices / … / Payslips
Integrations — Settings → Integrations → Google Drive
Inventory Kits Inventory Items Settings → Inventory Kits
Lock Date — Settings → Lock Date
Non-inventory Items — Settings → Non-inventory Items
PDF | Themes | Extensions — Settings → PDF | Themes | Extensions
Recurring Transactions — Settings → Recurring Transactions → 10 types
User Permissions — Settings → User Permissions
Withholding Tax — Settings → Withholding Tax
New card not showing? Check Customize first — many cards only appear when their parent tab is turned on. Permission can also hide a card entirely.
Opening Balances, Group Consolidation & LCSettings: these Settings areas are not covered in detail in this guide. For full step-by-step documentation see:

End of Settings Guide