This guide walks you through every feature of BizManager from the perspective of a daily business user.
No technical knowledge is required.
- Getting Started
- Dashboard
- Customers
- Products & Inventory
- Sales & Invoices
- Expenses
- Employees
- Reports
- Settings
- Database Backup
- User Roles & Permissions
- Tips & Best Practices
Follow the installation steps in README.md to start the backend and frontend servers.
Once both are running, open your browser and go to:
http://localhost:5173
You will see the Login screen.
| Field | Value |
|---|---|
admin@bizmanager.local |
|
| Password | admin123 |
⚠️ Change your password immediately after first login (Settings → Business Information is not a password change screen — ask your administrator to create a new account for you with a secure password, or use the register API described in the Developer Guide).
Click your name / avatar in the top-right corner of the header and choose Log out.
Your session is securely ended and tokens are invalidated.
The Dashboard is the home screen. It loads automatically after login and gives you a real-time snapshot of your business.
| Card | What it shows |
|---|---|
| Today's Revenue | Total of all paid sales created today |
| Month Revenue | Total paid sales for the current calendar month |
| Total Customers | Count of all customer records in the database |
| Total Products | Count of active (non-deleted) products |
| Card | What it shows |
|---|---|
| Month Expenses | Sum of all expense entries this month |
| Net Profit | Month Revenue minus Month Expenses |
| Low Stock Items | Number of products at or below their reorder threshold |
- Daily Sales (30 days) — line chart showing paid revenue per day for the last 30 days.
- Monthly Revenue — bar chart showing monthly revenue totals for the current year.
Products whose current stock quantity is at or below their Low Stock Threshold appear here in yellow.
Click through to Products to restock them.
The 10 most recent sales are listed with invoice number, customer name, date/time, status badge, and total amount.
Navigate to Customers in the left sidebar.
The table shows all customers with their name, email, phone, address, total spent, and creation date.
- Search — type in the search box to filter by name, email, or phone number in real time.
- Pagination — use the page controls at the bottom to move between pages (20 records per page by default).
- Click Add Customer (top-right of the page).
- Fill in the form:
- Name (required) — full name or business name.
- Email — contact email address.
- Phone — phone number in any format.
- Address — full postal address.
- Notes — any additional internal notes.
- Click Save.
- Find the customer in the table.
- Click the pencil (edit) icon in the Actions column.
- Update the fields and click Save.
- Click the trash icon in the Actions column.
- Confirm the deletion in the dialog.
⚠️ Deleting a customer does not delete their sales history. Sales retain the customer name at the time of the sale.
Navigate to Products in the left sidebar.
The table shows all products with SKU, category, price, cost, stock level, and active status.
- Search — filter by product name or SKU.
- Filter by category — use the category dropdown to show only one category.
- Low stock filter — toggle to show only products below their reorder threshold.
| Field | Description |
|---|---|
| Name | Display name of the product |
| SKU | Stock Keeping Unit — unique identifier code (e.g. PROD-001) |
| Category | Logical grouping (e.g. Electronics, Clothing) |
| Description | Optional free-text description |
| Price | Selling price per unit (used in sales) |
| Cost | Purchase/cost price per unit (used in profit calculations) |
| Stock | Current quantity on hand |
| Low Stock Threshold | When stock falls to or below this number, a warning is shown |
| Active | Toggle to hide/show the product without deleting it |
- Click Add Product.
- Fill in all required fields (Name and Price are mandatory).
- If the category you need doesn't exist, type a new one in the category field — you'll be prompted to create it.
- Click Save.
Click the pencil icon next to the product, make changes, and click Save.
Adjusting stock manually: Edit the product and change the Stock field directly. Stock is also decremented automatically when a sale is created and restored if the sale is deleted.
Click the trash icon and confirm. Only admins can delete products.
Categories are created on the fly when you add or edit a product.
They can also be pre-created via the API (see the Developer Guide).
Navigate to Sales in the left sidebar.
Every sale generates an invoice with a unique number (e.g. INV-00001).
A sale can be in one of three statuses:
| Status | Meaning |
|---|---|
| paid | Transaction is complete and revenue is counted |
| pending | Awaiting payment; revenue is not counted yet |
| cancelled | Voided; revenue is not counted |
The table lists all invoices with invoice number, customer, date, status, and total.
- Search — filter by invoice number or customer name.
- Filter by status — show only
paid,pending, orcancelledsales. - Filter by date range — use the From and To date pickers to narrow results.
- Click New Sale.
- Optionally select a Customer from the dropdown (leave blank for walk-in sales).
- Add line items:
- Click Add Item (or the
+button). - Start typing in the product search field and select the product.
- Set the quantity. The price is filled from the product's selling price automatically.
- Repeat for more items.
- Click Add Item (or the
- Optionally enter a Discount amount (deducted from the total).
- Add Notes if needed.
- The tax is calculated automatically using the Tax Rate set in Settings.
- Review the Subtotal, Tax, Discount, and Total.
- Click Create Sale.
The invoice number is assigned automatically and stock is decremented for each product.
Click the eye icon next to a sale to open a detailed view showing all line items, customer information, and totals.
Managers and admins can change a sale's status:
- Open the sale detail view.
- Click the status badge or the Update Status button.
- Select the new status and confirm.
Only admins can delete sales. Deleting a sale restores all product stock quantities.
Navigate to Expenses in the left sidebar.
The table shows all expenses with title, amount, category, date, and notes.
- Search — filter by expense title.
- Filter by category — dropdown populated from existing categories.
- Date range — filter by From / To date.
- Total — the sum of filtered expenses is shown below the table.
- Click Add Expense.
- Fill in the form:
- Title (required) — short description (e.g. Office supplies, Electricity bill).
- Amount (required) — monetary amount.
- Category — free-text category (e.g. Utilities, Salaries, Marketing). Type a new one to create it.
- Date — defaults to today.
- Notes — optional detail.
- Click Save.
Use the pencil or trash icons in the Actions column.
Navigate to Employees in the left sidebar.
(Requires Admin or Manager role.)
The table shows all employee records with name, email, department, role, salary, hire date, and active status.
| Field | Description |
|---|---|
| Name | Full name |
| Work email address | |
| Phone | Contact number |
| Role | Job role within the business (free text, e.g. Cashier, Supervisor) |
| Department | Department name (e.g. Sales, Warehouse) |
| Salary | Monthly or annual salary figure |
| Hire Date | Date the employee joined |
| Active | Whether the employee is currently employed |
| Create User Account | If checked, creates a login account for this employee |
| Password | Only shown when Create User Account is checked |
- Click Add Employee.
- Fill in the required fields (Name is required).
- If you want this employee to be able to log in to BizManager, enable Create User Account and set a password.
- Click Save.
Click the pencil icon, update the fields, and click Save.
- Set Active to
false(unchecked) to deactivate an employee without removing their record. - Click the trash icon to permanently delete (admin only).
Navigate to Reports in the left sidebar.
(Requires Admin or Manager role.)
Reports give you analytical insights into your business performance.
Shows key financial metrics for a selected date range:
| Metric | Calculation |
|---|---|
| Revenue | Sum of all paid sales |
| Expenses | Sum of all expense entries |
| Cost of Goods Sold (COGS) | Sum of (cost × quantity) for all sold items |
| Gross Profit | Revenue − COGS |
| Net Profit | Revenue − Total Expenses |
Use the From / To date pickers to change the period (defaults to the current month).
A line chart and data table showing paid revenue and sale count for each day over the last 30 days (configurable).
A bar chart showing revenue and sale count for each month of a chosen year.
Lists the top 10 best-selling products by revenue for the selected period, showing quantity sold, revenue, and cost.
Lists the top 10 customers by total spend (lifetime).
Pie/bar breakdown of expenses by category for the selected period.
Navigate to Settings in the left sidebar.
(Requires Admin role.)
| Field | Notes |
|---|---|
| Business Name | Appears on invoices |
| Phone | Business contact number |
| Business email address | |
| Address | Business address |
| Field | Notes |
|---|---|
| Currency Code | ISO code (e.g. USD, EUR, GBP) |
| Currency Symbol | Symbol used in the UI (e.g. $, €, £) |
| Tax Name | Label used on invoices (e.g. VAT, GST, Tax) |
| Tax Rate (%) | Applied to every new sale automatically |
| Field | Notes |
|---|---|
| Invoice Prefix | Prefix for invoice numbers (e.g. INV- → INV-00001) |
| Low Stock Threshold | Global default for new products |
Click Save Settings to apply changes. Settings take effect immediately on the next sale or page refresh.
BizManager stores all data in a single SQLite file (bizmanager.db).
It is strongly recommended to take regular backups.
- Go to Settings.
- Scroll to the Database Backup section.
- Click Download Backup.
A .db file is downloaded to your computer named with a timestamp
(e.g. bizmanager-backup-2025-06-01T12-00-00-000Z.db).
- Stop the backend server.
- Replace
backend/database/bizmanager.dbwith your backup file (rename it tobizmanager.db). - Restart the backend server.
Store backup files in a secure, off-site location (cloud storage, external drive).
Consider automating backups using a cron job or task scheduler — see the Developer Guide.
BizManager has three built-in roles:
| Permission | Admin | Manager | Employee |
|---|---|---|---|
| View Dashboard | ✅ | ✅ | ✅ |
| View Customers | ✅ | ✅ | ✅ |
| Create / Edit / Delete Customers | ✅ | ✅ | ❌ |
| View Products | ✅ | ✅ | ✅ |
| Create / Edit Products | ✅ | ✅ | ❌ |
| Delete Products | ✅ | ❌ | ❌ |
| View Sales | ✅ | ✅ | ✅ |
| Create Sales | ✅ | ✅ | ✅ |
| Update Sale Status | ✅ | ✅ | ❌ |
| Delete Sales | ✅ | ❌ | ❌ |
| Expenses (all) | ✅ | ✅ | ❌ |
| Employees (view / create / edit) | ✅ | ✅ | ❌ |
| Delete Employees | ✅ | ❌ | ❌ |
| Reports | ✅ | ✅ | ❌ |
| Settings | ✅ | ❌ | ❌ |
| Database Backup | ✅ | ❌ | ❌ |
Roles are set when creating a user account (via the Employee form or the register API).
Only an Admin can create accounts with the admin or manager role.
- Record sales at the time of transaction to keep stock levels and reports up to date.
- Log expenses promptly and use consistent category names (e.g. always use Utilities not utility or Utilities bill).
- Mark sales as cancelled rather than deleting them to preserve audit history.
Check the Dashboard's Low Stock Alerts panel daily.
Set realistic Low Stock Threshold values on each product to get timely warnings.
Download a backup at least once a week, or more frequently if you process many transactions daily.
Store backups in a location separate from the server machine.
Give products unique, human-readable SKU codes (e.g. ELEC-TV-55-SMSNG) so they are easy to search and identify on invoices.
If you are the person who set up the server, ensure you edited backend/.env and replaced the placeholder JWT_SECRET and JWT_REFRESH_SECRET values with long random strings before going live.
For technical setup, API reference, and developer information — see the Developer Guide.