User Guide

Complete reference for DailyAccounts — setup, accounting concepts, and software walkthrough
Server Setup
Installing, configuring databases, and running the DailyAccounts server
Prerequisites

DailyAccounts is a self-hosted, single-binary server application for Windows. There is no cloud dependency — all data lives in SQLite database files that you control. It can serve an entire office over a local network, or be deployed on a VPS for global access.

OS
Windows 10 / 11 (64-bit)
Native Windows executable — no installer, no runtime dependencies. Just run the .exe.
Disk
~5 MB for the binary + database growth
Each database is an independent .db SQLite file. You can create multiple databases and switch between them at any time.
Network
LAN, VPN, or public internet
The server listens on configurable TCP ports (default HTTP 8008, HTTPS 8009). You choose which IP addresses it binds to, so the same installation can serve only the local machine, an entire office LAN, or the open internet.
Browser
Any modern browser — no client software needed
Chrome, Edge, Firefox, or Safari on any device. JavaScript must be enabled.
Database Management

DailyAccounts supports multiple independent databases — useful if you manage accounts for more than one business or entity. All database operations are performed from the Database tab in the server control panel.

Creating a New Database

Click Create new database in the Available Databases panel. Fill in the following fields:

Alias
Short name shown in the database list
Choose a meaningful name, e.g. MyBusiness2026. This is how the database is identified in the server control panel — it is not shown to web users.
Location
Folder where the database file will be stored
Defaults to AppData\Local\DailyAccounts\database\. Click to choose a different folder, for example a network drive or a folder included in your backup routine.
File name
Name of the .db file on disk
Keep it simple, e.g. mybusiness.db. The file is created automatically — do not point to an existing file unless you are importing (see below).
Username
Admin username for the client web interface
This account will have full administrator access in the web app. It is independent of Windows accounts.
Password
Admin password — stored as a secure hash
Choose a strong password. You can change it later from within the web interface under My Profile.
Chart of Accounts Type

Choose the initial structure of your Chart of Accounts. This decision affects which accounts are pre-created; you can add or remove accounts later.

Generic
Simple 2-level chart — suitable for most small businesses
Pre-creates basic Asset, Liability, Equity, Income, and Expense accounts. Best starting point if you are unsure.
Retail
3-level chart with inventory and COGS accounts
Includes Cost of Goods Sold, Inventory, and Sales accounts suited to product-based businesses.
Services
3-level chart optimised for service businesses
Focused on service revenue, professional expenses, and consulting-style income streams.
Tick Populate db with demo data to have the system insert a full year of realistic sample vouchers automatically. This is ideal for evaluating the software or training staff before going live.

Click Create database. The file is created and the alias appears in the database list on the main tab.

Activating a Database

Only one database can be active at a time — the active database is the one the web server will serve to clients.

1
Select the database
In the Available Databases list on the main tab, click the database alias you want to activate. It will be highlighted.
2
Double-click to make it active
Double-click the row. The Active Database field in the Configuration panel updates to show the selected alias. The row turns green.
3
Start (or restart) the service
If the service is already running, stop and restart it so it picks up the new active database.
Backing Up a Database

Go to the Backup database tab. Select the database alias you want to back up from the drop-down, choose a destination folder, and click Start backup. A timestamped copy of the SQLite file is written to the chosen location. Schedule regular backups to a separate drive or cloud folder.

Always back up before upgrading the software or making bulk changes to the chart of accounts. The backup is a plain SQLite file — it can be opened with any SQLite browser for inspection.
Importing / Restoring a Database

Go to the Restore/Import database tab to bring an existing database file into the server:

1
Choose the source file
Click next to the source field and browse to the .db file you want to import (e.g. a backup copy or a file moved from another machine).
2
Choose a destination folder
Select where the imported file should be stored. The file is copied — the original is not moved or deleted.
3
Enter an alias
Give the imported database a short name so it appears correctly in the Available Databases list.
4
Click Import
The database is registered. Double-click it in the list and restart the service to make it active.
Network & SSL Configuration

Click Change Configuration on the main tab (or navigate to the Configuration tab) to control which IP addresses and ports the server listens on, and to enable SSL.

Choosing Listening IP Addresses

The IPs On this System list shows every network interface currently detected. Move the addresses you want the server to accept connections on into the IPs To use for service list using the > / < buttons. Common choices:

127.0.0.1
Localhost only — most restrictive
Only the machine running the server can access the web interface. Useful for single-user setups or development.
192.168.x.x
LAN IP — office / home network access
Any device on the same local network can connect. Add your LAN IP (e.g. 192.168.1.14) to allow office-wide access.
Public IP
VPS or dedicated server — internet-wide access
Add the server's public IP to allow access from anywhere on the internet. Always enable SSL when doing this.
Tick Activate on all IPs to bind to every interface at once — equivalent to 0.0.0.0. Convenient for VPS deployments where the exact IP may change.
Ports
HTTP port
Default: 8008
Plain HTTP. Suitable for localhost access or trusted LAN connections. Browser session cookies work reliably on 127.0.0.1 over HTTP.
HTTPS port
Default: 8009
Encrypted SSL/TLS connection. Required for LAN or internet access where secure cookies and session integrity are important.
SSL / HTTPS

Tick Enable SSL port to activate the HTTPS listener. You need a certificate file and a private key file:

1
Generate a self-signed certificate (quick start)
Click Generate self signed certificate. A certificate and key pair are created automatically and the file paths are filled in. Self-signed certificates are ideal for local office use. Your browser will show a security warning on first visit — click Advanced → Proceed to continue and then accept the certificate.
2
Use a CA-signed certificate (production / internet)
If the server is publicly accessible, obtain a certificate from a trusted Certificate Authority (e.g. Let's Encrypt). Set the Certificate file and Key file paths to your .crt and .key files. No browser warning will appear.
3
Save and restart
Click Save configuration. Stop and restart the service for the new settings to take effect.
Use HTTPS when accessing over a LAN IP or the internet. Plain HTTP over a non-localhost address can cause browser session cookies to be rejected, leading to repeated redirects to the login page after signing in.
Starting & Stopping the Service

Once you have created and activated a database, start the web service from the main tab:

1
Confirm the Active Database
Check that the Active Database field in the Configuration panel shows the correct alias. If not, double-click the correct database in the Available Databases list first.
2
Click Start Service
The status indicator changes from Stopped (red gear) to Running (green). The server is now accepting connections on the configured IPs and ports.
3
Allow through Windows Firewall (first time only)
Windows may show a firewall prompt. Click Allow access to permit connections from other devices on your network.
4
Keep the application open
The service runs as long as the DailyAccounts application window is open. Click Stop Service to halt it gracefully, or close the application.
The Client access points panel at the bottom of the main tab lists all active URLs once the service is running — handy for quickly sharing the address with staff.
Accessing the Web Interface

Open any modern browser and navigate to one of the following URLs, depending on your setup:

Local
Same machine as the server (HTTP)
http://127.0.0.1:8008/ — cookies and sessions always work reliably on localhost over plain HTTP.
LAN
Other devices on the same network (HTTPS recommended)
https://<server-ip>:8009/ — use the HTTPS port to ensure session cookies are accepted. Replace <server-ip> with the server's local IP, e.g. 192.168.1.14.
Internet
Public VPS or dedicated server
https://<your-domain-or-ip>:8009/ — always use HTTPS for any internet-facing deployment. Consider placing behind a reverse proxy (e.g. Nginx) for port 443.
To find your machine's LAN IP, open Command Prompt and run ipconfig. Look for the IPv4 Address under your active network adapter. This is the same IP you add to the IPs To use for service list in Configuration.
First Login & Initial Setup

After starting the service, open the web interface in your browser. Log in with the admin username and password you set when creating the database.

1
Log in with your admin account
Use the username and password you entered during database creation. The admin account has full access to all features.
2
Create a Fiscal Year
Navigate to Fiscal Years (sidebar or Dashboard → Quick Actions) and create your first fiscal year, e.g. Jan 1 – Dec 31, 2026. Vouchers cannot be entered without an open fiscal year.
3
Review your Chart of Accounts
Go to Accounts to view the accounts pre-created from your chosen chart type. Add, rename, or disable accounts as needed for your business.
4
Create additional users (optional)
Go to Administration → Users to create accounts for staff. Assign task permissions to control exactly what each user can see and do.
5
Start entering vouchers
Click New Voucher on the Dashboard or navigate to Voucher Entry. Select the voucher type (CV / DV / JV), fill in the accounts and amounts, and post when ready.
Accounting Terms
Key concepts used throughout DailyAccounts
Double-Entry Bookkeeping

DailyAccounts uses the double-entry bookkeeping system. Every financial transaction is recorded in at least two accounts: one account is Debited (DR) and another is Credited (CR) by the same amount. This ensures that the accounting equation always holds:

Assets = Liabilities + Equity + Net Profit  ·  Total Debits always equal Total Credits in a balanced system.

Every voucher you post is validated automatically — if the total debits do not equal total credits, the system refuses to post the voucher. This self-balancing nature guarantees the integrity of all financial records.

Voucher Types

A voucher is a formal document recording a financial transaction. DailyAccounts supports three voucher types:

CV Credit Voucher
A Credit Voucher records money received by the business. It is used whenever cash or a payment comes in from a customer, client, or any other source. The cash or bank account is Debited, and the income or receivable account is Credited.
Example: A customer pays PKR 5,000 for services. Debit "Cash in Hand" 5,000 · Credit "General Income" 5,000.
DV Debit Voucher
A Debit Voucher records money paid out by the business. It is used whenever cash or a payment leaves the business — paying an expense, a supplier, or any other obligation. The expense or payable account is Debited, and the cash or bank account is Credited.
Example: Office rent of PKR 8,000 is paid by cheque. Debit "General Expenses" 8,000 · Credit "Bank Account" 8,000.
JV Journal Voucher (Journal Entry)
A Journal Voucher is a general-purpose entry used for transactions that do not involve a direct cash movement — such as adjustments, accruals, depreciation, transfers between accounts, or opening balances. It can involve any number of debit and credit lines, provided the total debits equal total credits.
Example: Recording monthly depreciation of PKR 500 on equipment. Debit "Depreciation Expense" 500 · Credit "Accumulated Depreciation" 500.
Quick rule: Use a CV when cash comes IN. Use a DV when cash goes OUT. Use a JV for everything else.
Chart of Accounts

The Chart of Accounts (COA) is the complete list of all accounts your business uses to categorise financial transactions. Think of it as the filing system for your money — every transaction must be assigned to one or more accounts in the COA.

DailyAccounts organises accounts in a parent-child hierarchy. Parent accounts group related accounts together (e.g. "Fixed Assets" containing "Land", "Buildings", "Equipment"). Only the lowest-level accounts — called leaf accounts — can receive actual transactions.

Each account has a unique Account Code (e.g. 1-1, 2-1) and belongs to one of five account types: Asset, Liability, Equity, Income, or Expense.
Types of Accounts

By Financial Role — determines where the account appears in reports:

Asset
Asset Accounts
Resources owned by the business. Normal balance is Debit — debiting increases the account, crediting decreases it. Examples: Cash in Hand, Bank Account, Accounts Receivable, Equipment.
Liability
Liability Accounts
Amounts owed to others. Normal balance is Credit. Examples: Accounts Payable, Bank Loans, Salaries Payable, Taxes Payable.
Equity
Equity Accounts
The owner's stake in the business (Assets minus Liabilities). Normal balance is Credit. Examples: Owner Capital, Retained Earnings, Drawings.
Income
Income (Revenue) Accounts
Money earned from business operations. Normal balance is Credit. Examples: General Income, Sales Revenue, Service Fees, Interest Income.
Expense
Expense Accounts
Costs incurred to run the business. Normal balance is Debit. Examples: General Expenses, Rent, Salaries, Utilities, Depreciation.

By Structure — determines how accounts are organised and used:

Group Account
Group (Parent) Accounts
Organisational containers that group related accounts. They cannot receive transactions directly — they only display the rolled-up total of all their children. In the Chart of Accounts, group accounts are shown with a folder icon and can be expanded. Example: "Current Assets" grouping "Cash in Hand" and "Bank Account".
Leaf Account
Leaf (Posting) Accounts
The bottom-level accounts with no children. These are the only accounts that can be selected in voucher lines. Every debit and credit line in every voucher must be assigned to a leaf account. Example: "Cash in Hand" (code 1-1) is a leaf under the "Current Assets" group.
Cash Account
Cash Accounts
A special flag (Is Cash Account = Yes) that marks an account as a liquid cash or cash-equivalent account. Accounts flagged this way are used by the system to track actual cash movements. Typical cash accounts: "Cash in Hand", "Bank Account", "Petty Cash".
CF Section
Cash Flow Section
A classification on each non-cash account that tells the Cash Flow report which activity category to roll its cash movements into. Set it to Operating for day-to-day income, expenses, receivables, and payables; Investing for long-term assets like equipment; Financing for owner capital, withdrawals, and long-term loans; or None for accounts that should never appear on the cash flow report (and for cash accounts themselves, since they are the cash, not a source or use of it). If you leave Income or Expense accounts as "None", they won't show on the cash flow report even though they involve cash — typically you want these set to Operating.
DR / CR Rules at a Glance

The following table summarises what Debit and Credit mean for each account type:

Account Type Normal Balance Debit (DR) Effect Credit (CR) Effect
Asset DR Increases ↑ Decreases ↓
Liability CR Decreases ↓ Increases ↑
Equity CR Decreases ↓ Increases ↑
Income CR Decreases ↓ Increases ↑
Expense DR Increases ↑ Decreases ↓
Memory aid: DEAD CLICDebit increases: Expenses, Assets, Drawings. Credit increases: Liabilities, Income, Capital (Equity).
Software Flow
Every screen, link, and option explained
Navigation Overview

The application uses a fixed left sidebar for navigation and a topbar for the current page title, search, notifications, and the user avatar menu. The sidebar is always visible and organises links into four groups: Transactions, Accounts, Reports, and Administration.

The sidebar only shows links your user role can access. Administrators see all links; Operators see Transactions and Accounts; Read-only users see Voucher Book, Accounts, and Reports.
Dashboard
Dashboard /form/dashboard
The home screen shown after login. Displays live KPI cards (total vouchers, posted/unposted counts, total accounts), a voucher type breakdown chart, an account type distribution chart, and a timeline of the last 10 transactions. The New Voucher button in the top right opens the voucher entry form. Quick-action buttons at the bottom provide one-click access to Credit Voucher, Debit Voucher, Journal Entry, and Chart of Accounts.
Voucher Book
Voucher Book /form/vouchers
A paginated, searchable list of all vouchers in the system. Use the filter bar to narrow by voucher type (CV / DV / JV), status (Draft / Posted), date range, or fiscal year. Click any row to open and view that voucher's full detail. The New Voucher button (visible to Operators and Admins) opens the entry form. Posted vouchers are shown with a green badge; drafts are shown in yellow.
Voucher Entry
Voucher Type Selector
Three tabs at the top — CV (Credit), DV (Debit), JV (Journal) — switch the voucher type. For CV and DV the form pre-fills a two-line structure. For JV you can add unlimited lines using Add Row.
Header Fields
Date — the transaction date (must fall within an open fiscal year). Fiscal Year — auto-selected based on the date. Narration — a free-text description of the transaction (optional but recommended).
Line Items — Account, DR/CR, Amount
Each line requires: an Account (type to search — only leaf accounts are selectable), a DR/CR toggle (click or press D/C/Space), and an Amount. The running DR/CR totals and the difference (imbalance) are shown in real time at the bottom. The form will not let you save or post until the voucher is balanced.
Save vs. Post
Save Draft stores the voucher in an unposted state — it is excluded from all reports and balances. Use this when a voucher needs review before committing. Save & Post finalises and posts the voucher immediately — it becomes part of the books and is included in all reports. A posted voucher cannot be edited; create a reversing entry to correct it.
Success Modal — Add Another Voucher
After posting, a confirmation modal appears with the assigned voucher number. The Add Another Voucher button (auto-focused — just press Enter) opens a fresh form with the same type pre-selected. Go to Voucher Book returns to the list.
Keyboard Shortcuts in Voucher Entry
The form is designed for fast keyboard-only entry: Tab moves between fields in order (Account → DR/CR → Amount → next row). In the Account picker, type to search and use Arrow keys + Enter to select. On the DR/CR toggle, press D = Debit, C = Credit, Space = toggle. Press Enter on an amount field to jump to the next row's account.
Chart of Accounts
Chart of Accounts /form/accounts
Displays all accounts in a collapsible tree view. Group accounts show their total balance. Leaf accounts show their DR/CR balance. Click the expand arrow to reveal children. Click any account row to select it and see action buttons appear in the toolbar: Edit, Add Child, Enable/Disable.
Creating a New Account
Click New Account (top toolbar). Fill in: Account Code, Account Name, Account Type (Asset / Liability / Equity / Income / Expense), Parent Account (optional — leave blank for a root account), Is Group (tick if this is a container, not a posting account), Is Cash Account, and CF Section (for cash flow classification). Click Save.
Fiscal Years /form/fiscal_years
Manage accounting periods. Create a new fiscal year by specifying its start and end date. Only one fiscal year can be Open at a time — this is the year available for new voucher entries. Closing a fiscal year locks it from further changes. Admin access required.
Financial Reports
Trial Balance /form/reports
Lists every account with its total Debit, total Credit, and Net Balance for the selected period. A Balanced badge confirms that total DR = total CR across the entire ledger. Use this as the first step to check the integrity of your books.
Balance Sheet /form/reports → Balance Sheet tab
A point-in-time snapshot showing Total Assets = Total Liabilities + Total Equity + Net Profit. Asset accounts are listed on the left; Liabilities, Equity, and the current-period Net Profit are on the right. The accounting equation must balance — the system shows a warning if it does not.
Income Statement /form/reports → Income Statement tab
Shows revenue and expenses for the selected period. Calculates Net Profit (or Net Loss) = Total Income − Total Expenses. A positive result is a profit (green); a negative result is a loss (red).
Cash Flow Statement /form/reports → Cash Flow tab
Tracks every voucher that actually moved cash in or out of your cash & bank accounts during the period, and groups those movements by Operating (day-to-day), Investing (capital), and Financing (loans / equity) activities. Each cash movement is attributed to the account on the other side of the voucher — so if a customer pays cash against an invoice, the inflow is grouped under that customer's account type. Non-cash transactions like credit sales, accruals, and write-offs do not appear here even though they affect your books — only entries that actually touched a cash or bank account count. The Net Cash Change equals the change in your cash & bank account balances across the period; if it doesn't, your books need investigation.
General Ledger /form/reports → General Ledger tab
A detailed transaction-by-transaction view for a selected account and period. Shows each voucher that touched the account, the DR/CR amount, and a running balance. Use this to trace the history of any account and verify individual entries.
All reports respect the Fiscal Year selector and the From / To date range. Select a fiscal year to auto-fill the date range, or set custom dates for sub-period reporting. Reports access requires the reports task permission — admins have it by default; assign it to other users from the Users page.
Administration (Admin Only)
Users /form/users
Create and manage user accounts. Each user is either an Administrator (full access to everything) or a Regular User. For regular users, you pick which tasks they can perform from the permission list — for example voucher_entry lets them create and edit draft vouchers, post_vouchers lets them post and unpost, accounts_manage lets them edit the chart of accounts, fiscal_year_manage lets them open and close fiscal years, and reports lets them view financial reports. A regular user with no tasks assigned can sign in but can only view things, not change them.
Security Rules /form/security
Define which Tasks are available in the system and which roles can perform them. Security rules are the foundation of the permission model — adding a task here makes it assignable to users. These are typically configured once during setup and rarely need changing.
Settings /form/settings
Application-level settings such as company name, currency symbol, date format, and other system preferences. These values appear on printed vouchers and reports.
My Profile /form/profile
Every user can access their own profile via the avatar menu in the top-right corner of the topbar. Here you can update your full name, description, and change your password. Usernames and roles can only be changed by an admin.