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. Where Settings Lives and How It Works
- 2. Billable Expenses
- 3. Business Details
- 4. Capital Subaccounts
- 5. Cash Flow Statement Groups
- 6. Chart of Accounts
- 7. Control Accounts
- 8. Currencies
- 9. Custom Fields
- 10. Date & Number Format
- 11. Divisions
- 12. Expense Claim Payers
- 13. Forecasts
- 14. Inventory Locations
- 15. Investment Market Prices
- 16. Payslip Items
- 17. Report Optimizations
- 18. Reporting Categories
- 19. Tax Codes
- 20. Bank Rules
- 21. Customer Dashboards
- 22. Email Settings
- 23. Footers
- 24. Integrations
- 25. Inventory Kits
- 26. Lock Date
- 27. Non-inventory Items
- 28. PDF | Themes | Extensions
- 29. Recurring Transactions
- 30. User Permissions
- 31. Withholding Tax
- 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.
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
- In Customize, make sure Customers is turned on.
- Open Settings → Billable Expenses.
- Tick Enabled and click Update.
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.
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.
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.
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.
- Open Settings → Chart of Accounts.
- At the top of the panel you want (Balance Sheet on the top section, Profit & Loss on the bottom section) click New Account.
- 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.
- In Settings → Chart of Accounts, click New Group at the top of the correct panel.
- 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.
- For a sub-group, select its Parent Group. Leave blank to create a top-level group.
- 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.
- In the Profit & Loss Statement panel, click New Total.
- Enter a name such as Gross Profit.
- 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
- Open Settings → Chart of Accounts.
- Find the row you want to change and click Edit on that row.
- 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.
- 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.
6.7 Deleting an Account or Group
- Open Settings → Chart of Accounts.
- Click Edit on the row you want to remove.
- 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. |
6.8 Reordering Accounts and Groups
- Open Settings → Chart of Accounts.
- Click Reorder icon of each account & group of the chart.
- Drag rows up or down within their panel. You can reorder accounts inside a group and groups relative to each other.
- 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. |
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
- Open Settings → Control Accounts and choose the sub-ledger type (for example Customers).
- Click New Control Account.
- Enter a name, optional code and group, choose the cash flow grouping, and save.
- 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.
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
- Choose the type and click New Custom Field.
- Enter a name and choose where it should appear — for example Customer, Sales Invoice or Sales Invoice — Line.
- Set size, description and whether it should be shown on the view screen or moved to the top of the form.
- 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.
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. |
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.
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. |
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.
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
- 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.
- 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.
- 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.
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.
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
- Open Settings → Customer Dashboards and click New Customer Dashboard.
- Choose the Customer this portal is for.
- 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 |
- 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.
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. |
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. |
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
- Open Settings → PDF | Themes | Extensions → Themes and click New Theme.
- Paste your HTML template. You can start from one of the samples below and adjust colours, widths and margins.
- 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.
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
- Open Settings → PDF | Themes | Extensions → Extensions and click New Extension.
- Enter a descriptive name.
- Paste your JavaScript code.
- Choose where it should run: a Custom URL (e.g.
sales-invoicesto target only sales invoices) or Everywhere to run on all pages. - 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.
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
- Create the user in the global Users area (if not already created) and grant access to this business.
- Open Settings → User Permissions and click the user.
- Choose Custom Access (or Full Access to bypass all checks).
- 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.
- Optionally restrict which Bank and Cash Accounts the user can see — restricted accounts are filtered from every cash report for that user.
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 |
- Opening Balances — https://twoaccountsweb.com/documentation/opening-balance-entry — how to enter opening balances
- Group Consolidation — https://twoaccountsweb.com/documentation/group-consolidation-between-parent-multiple-subsidiary-company — setup between parent and multiple subsidiary companies
- Import LC / Export LC — https://twoaccountsweb.com/documentation/import-lc-export-lc — Letter of Credit configuration
End of Settings Guide