Documentation

Power Without Complexity

Everything you need to integrate TallyhubGH into your workflow. From quick starts to advanced configurations.

Available in 6 languages with RTL support — switch anytime from the header.

Getting Started

Video coming soon

Add a video URL to display it here

Getting Started Video

Watch this video to learn the basics of TallyhubGH

Welcome to TallyhubGH! This comprehensive documentation covers all features and functionalities of the platform. Whether you're setting up your first store or managing a multi-location business, this guide will help you make the most of TallyhubGH.

TallyhubGH is an inventory management and POS platform for retail and distribution: catalog and stock control, fast checkout, purchases, expenses, and reports — in the browser or as a desktop app with offline sync.

Use the sidebar on this page to jump to a module. Each module includes a video walkthrough slot (add your YouTube or MP4 URL in the page script) and page-level detail aligned with the live dashboard at devdashboard.tallyhubgh.com.

Authentication & Onboarding

Video coming soon

Add a video URL to display it here

Authentication & Onboarding Video

Learn how to register, verify your email, and complete the onboarding process

Getting started with TallyhubGH is straightforward. This section covers the complete registration and onboarding process to help you set up your account and business profile.

Registration Flow

1. Registration Page (`/auth/register`)

To create your TallyhubGH account, click "Sign Up" on the landing page or navigate directly to /auth/register.

Required Fields:

  • Full Name
  • Email Address
  • Password (with strength indicator)
  • Confirm Password
  • Terms of Service acceptance checkbox

Features:

  • Real-time password validation with strength indicator
  • Email format validation
  • Terms of Service link for review
  • Automatic redirect to email verification after successful registration

Note: After registration, email verification is required before you can proceed to the onboarding flow. Check your email inbox (and spam folder) for the verification link.

2. Email Verification (`/auth/verify-email`)

After registration, you'll be automatically redirected to the email verification page. The verification process includes:

  • Verification email sent to your registered email address
  • Click the verification link in the email to verify your account
  • Alternative option to resend verification email if needed
  • Once verified, you'll proceed to the onboarding flow

3. Login Page (`/auth/login`)

Access the login page by clicking "Login" on the landing page or navigating to /auth/login.

Login Methods:

  • Email/Password: Traditional login method using your registered email and password
  • Magic Link: Passwordless login via email - enter your email and receive a login link

Additional Features:

  • Remember me option to stay logged in
  • Forgot password link for password recovery
  • Two-factor authentication (if enabled in your account)
  • Automatic redirect based on user role and onboarding status after login

Onboarding Flow

After email verification, you'll go through a 4-step onboarding process to set up your business. Each step can be completed at your own pace, and you can skip some steps to complete later.

Step 1: Business Profile (`/onboarding/business`)

This is the first step after email verification. Here you'll set up your basic business information.

Required Information:

  • Company/Business Name
  • Industry Type (dropdown selection)
  • Business Type (Retail, Wholesale, Distribution, etc.)
  • Country
  • Phone Number
  • Business Address
  • Tax ID (optional)

Purpose: Sets up basic business information that will be used throughout the platform. After completing this step, you'll automatically proceed to Locations setup.

Step 2: Locations Setup (`/onboarding/locations`)

Configure where your inventory will be stored. You can add multiple locations later, but you need at least one location to get started.

Location Information:

  • Location Name
  • Location Type (Store, Warehouse, Distribution Center)
  • Address
  • Phone Number
  • Default location selection (mark as default if this is your primary location)

Purpose: Configure where inventory will be stored and managed. The default location will be used for new products unless specified otherwise. After completing this step, you'll proceed to personalize your dashboard.

Step 3: App Settings (`/onboarding/settings`)

Personalize your dashboard before you start selling. Pick the theme that suits how your team works — you can always change it later.

  • Choose from light, dark, and colorful themes
  • Live preview shows how your dashboard will look
  • Reset to the default theme at any time
  • Change the theme later from Settings → Preferences

Purpose: Sets the look and feel of your dashboard. After completing this step, you'll proceed to connect a mobile device (optional).

Step 4: Connect Mobile App (`/onboarding/connect-app`)

Link your mobile device for barcode scanning and mobile POS functionality. This step is optional and can be completed later if you prefer.

Pairing Process:

  1. Download TallyhubGH mobile app from App Store (iOS) or Google Play Store (Android)
  2. Open the mobile app
  3. Scan the QR code displayed on the web screen, OR
  4. Enter the pairing code manually if QR scanning is not available
  • QR code display for easy scanning
  • Manual pairing code option as alternative
  • Skip option - you can complete this step later from Settings
  • Multiple devices can be paired to your account

Purpose: Link mobile device for barcode scanning and mobile POS. Once paired, you can use your mobile device as a barcode scanner and process sales on the go. After connecting (or skipping), onboarding is complete and you'll be taken to your workspace.

Organization Selection (`/auth/select-organization`)

If you belong to multiple organizations (e.g., you're invited to multiple businesses), you'll see an organization selection page after login.

  • View list of all organizations you can access
  • See your role in each organization
  • Select the organization you want to enter
  • Switch between organizations anytime from the user menu

✓ Onboarding Complete!

Once you've completed the onboarding flow, you'll have full access to TallyhubGH. You can always revisit any of these settings from the Settings page to make changes or complete skipped steps.

Dashboard

Video coming soon

Add a video URL to display it here

Dashboard Overview Video

Explore the dashboard features and learn how to navigate your control center

The Dashboard is your home screen after sign-in (/). It summarizes sales, performance, demand, and recent orders for the warehouse or store you have selected in the app chrome (slim sidebar / title bar). Most widgets respect the calendar period in the page header (single day or range; default is the last 30 days).

This page is not the old layout with four top stat cards, a nine-button quick-actions grid, credit-sales toggles, or separate “Top products / Top customers” panels. Those patterns live elsewhere (sidebar, POS, Reports). What you see today is built in dashboard/pages/index.vue.

Access & plan

  • Route: / (layout: dashboard)
  • Location: Pick a warehouse/store in the slim sidebar. Without a selection, stats and insights show empty or “select a location” messaging.
  • Advanced analytics: The top row (AI Insight + Performance summary) is wrapped in advancedAnalytics. Tenants without that entitlement see a plan upsell instead of those cards.
  • Refresh: Page header refresh reloads stats, chart, visitors, orders, and dashboard insights for the current period and warehouse.

Page header

PageHeader shows a time-based greeting, the shared calendar (day or range), and Refresh. Export is disabled on this page. Global search in the title bar is hidden while you are on the dashboard home screen.

Top row — AI Insight & Performance summary

On large screens this row is one column for AI and three for performance (xl:grid-cols-4). Both require advancedAnalytics.

AI Insight
  • Today’s highlights — headline and tip lines from useDashboardInsights (API when online; SQLite on desktop when offline).
  • Optional on-device AI — download/load model, then ask questions in plain language or run saved SQL queries.
  • Expand opens the full AI drawer; the card can auto-flip between insight panels (pauses on hover).
  • Data-tour target: data-tour="ai-summary"
Performance summary
  • Nine metrics from GET /dashboard/stats (or local DB): total sales, products sold, expenses, net/gross profit, average order value, total orders, return rate, conversion rate.
  • Shows 2–3 metrics at a time (viewport-dependent) with pagination dots; rotates on a long interval unless you hover or use the switch control.
  • Mini bar chart per metric with period comparison growth; banner links to /reports/analytics.
  • Data-tour target: data-tour="performance"

Middle row

Recent sales order (chart)
  • MultiSeriesLineChart with three series: Sales, Orders, and Customers over the selected period.
  • Header shows formatted total sales for the series; tooltips use chart labels from the API.
  • Data from fetchChart (useDashboard / dashboard store), scoped by warehouse and dates.
  • Data-tour target: data-tour="sales-chart"
Product demand & Store network (flip card)
  • Front — Product demand: products sold and unique customers with growth; tabs By payment method, By Time, By Location with animated mini bars and tooltips.
  • Back — Store network: globe visualization and units sold by location; manual flip control and auto-flip (pauses on hover).
  • Data from fetchVisitors; data-tour: data-tour="visitor-stats"

Recent Transactions

Full-width DataTable (not the old “All Orders” paginated hub). Each row is a recent order line: customer/source as product column, date, recorded by (lg+), order id, price (xl+), quantity, total, status badge, and View.

  • View or clicking the order id opens ViewOrderDrawer with full order detail (fetchOrderById, with offline SQLite on desktop).
  • Data from fetchOrders for the current warehouse and period.
  • Data-tour target: data-tour="recent-orders"

App chrome (not on the page body)

Quick navigation, POS, sync, notifications, lock screen, global AI assistant, and warehouse switching live in the dashboard layout (slim + main sidebar, title bar). The guided tour also highlights those controls after the page widgets.

  • Store switcher — slim sidebar (data-tour="slim-sidebar")
  • Main menu — POS, inventory, reports, settings (data-tour="main-sidebar")
  • Tour, Sync, Support, AI assistant, Lock, Notifications — title bar / header actions

Data & offline

useDashboard loads stats, chart, visitors, orders, and order detail. On Tauri desktop, when offline it reads from SQLite (offline-queries); when online it uses the API and can fall back to local data on failure. Insights follow the same pattern via useDashboardInsights.

Guided tour

Start from the Tour button in the header. Steps cover AI summary, performance, sales chart, product demand / store network, recent transactions, sidebars, sync, support, AI assistant, lock screen, and notifications (useTour key dashboard).

Typical workflow

  1. Sign in and select your warehouse or store.
  2. Set the calendar to today, this week, or a custom range (default last 30 days).
  3. Review AI highlights and performance (if your plan includes advanced analytics).
  4. Scan the sales chart and product demand / store network card.
  5. Open a recent transaction to view or act on the order in the drawer.
  6. Use Refresh after bulk sync or end-of-day reconciliation.
  7. Drill into /reports/analytics or sidebar modules for deeper reports.

Pro tip

If numbers look empty, confirm a warehouse is selected and your period includes sales activity. Desktop users should sync when online so offline dashboard tiles match the server.

Point of Sale (POS)

Video coming soon

Add a video URL to display it here

Point of Sale Video

Watch how to use the POS system for fast and efficient transactions

The POS system is a comprehensive point-of-sale interface designed for fast, efficient transactions with full offline support. It's optimized for retail environments and provides all the tools you need to process sales quickly and accurately.

Access & Requirements

  • Route: /pos
  • Access: Requires sales.create permission
  • Layout: POS layout (full-screen optimized for efficiency)
  • Keyboard Shortcuts: F1-F8 for quick navigation

Main POS Page (`/pos`)

Header Navigation

The header navigation varies based on your location type:

Standard POS Navigation:

  • New Sale (F1)
  • Returns (F4)
  • Customers (F5)
  • Reports (F7)
  • Session (F8)

Warehouse/Distribution Center Navigation:

  • New Sale (F1)
  • Dispatch (F2)
  • Settlements (F3)
  • Returns (F4)
  • Customers (F5)
  • History (F6)
  • Reports (F7)
  • Session (F8)

Additional Header Elements:

  • Current user name
  • Current session info (session number, start time)
  • Settings icon (access POS settings)
  • Notifications icon (view notifications)
  • Logout option
  • Online/Offline status indicator

Product Grid/List View

Located in the left/center area of the POS screen, this is where you browse and select products.

View Modes:

  • Grid View: Product cards with images (default) - best for visual browsing
  • List View: Compact list format - shows more products at once

Toggle: Click grid/list icon in toolbar to switch between views

Product Information Displayed:

  • Product images
  • Product name
  • SKU/Barcode
  • Price
  • Stock quantity (if inventory tracking enabled)
  • Category filtering
  • Search functionality

Product Selection: Click product to add to cart, or scan barcode to add instantly

Category Sidebar

Located on the left side of the product area, the category sidebar helps you filter products quickly.

  • List of all product categories
  • "All Products" option to show everything
  • Category icons for visual identification
  • Product count per category
  • Click category to filter products instantly

Cart Panel

Located on the right side of the POS screen, the cart panel shows all items in the current transaction.

Features:

  • List of items in cart with product details
  • Quantity adjustment (+/- buttons)
  • Remove item option
  • Price per item
  • Subtotal, Tax, Total calculations (auto-updated)
  • Customer selection dropdown
  • Discount application (percentage or fixed amount)
  • Payment method selection
  • Complete sale button

Mobile: On mobile devices, cart can be toggled on/off to maximize screen space

Search Bar

Located at the top of the product area, the search bar provides quick product lookup.

  • Search by product name
  • Search by SKU
  • Search by barcode (auto-scans if barcode scanner connected)
  • Real-time filtering as you type

Barcode Scanner Integration

TallyhubGH supports multiple barcode scanning methods for fast product lookup.

Hardware Support:

  • USB Barcode Scanners: Auto-detected when connected, works immediately
  • Mobile App Scanner: Via QR pairing - use your mobile device as a scanner
  • Camera-based Scanning: On mobile devices - use device camera to scan barcodes

Usage: Scan barcode to add product to cart instantly. The system automatically finds the product and adds it to the current transaction.

POS Features

1. New Sale (`/pos`)

Process new sales transactions quickly and efficiently.

Receipt: Auto-prints if printer configured, or displays on screen for digital receipt

2. Returns (`/pos/returns`)

Process product returns and refunds efficiently. Access by clicking "Returns" in navigation or pressing F4.

3. Dispatch (Warehouse Only) (`/pos/dispatch`)

Manage delivery/dispatch of credit sales. Available only for warehouse-type locations. Access by clicking "Dispatch" in navigation or pressing F2.

4. Settlements (Warehouse Only) (`/pos/settlements`)

Settle credit sales with delivery agents. Available only for warehouse-type locations. Access by clicking "Settlements" in navigation or pressing F3.

5. Dispatch History (Warehouse Only) (`/pos/dispatch-history`)

View historical dispatch records. Available only for warehouse-type locations. Access by clicking "History" in navigation or pressing F6.

6. Customers (`/pos/customers`)

Manage customers directly from POS. Access by clicking "Customers" in navigation or pressing F5.

7. Reports (`/pos/reports`)

View POS-specific reports. Access by clicking "Reports" in navigation or pressing F7.

8. Session Management (`/pos/session`)

Manage POS sessions for cash reconciliation and reporting. Access by clicking "Session" in navigation or pressing F8.

POS Settings

Access POS settings by clicking the settings icon in the POS header. Configure various aspects of your POS system:

Settings Tabs:

  • Receipt: Receipt printing and formatting (template, printer settings)
  • Transaction: Transaction flow settings (auto-print, require customer, etc.)
  • Display: Interface customization (theme, font size, layout)
  • Hardware: Printer, scanner, display configuration
  • Security: PIN requirements, void permissions, refund permissions
  • Tax: Tax calculation settings (default tax rate, tax display)

Offline Mode

One of TallyhubGH's most powerful features - the POS works completely offline when internet is unavailable.

Features:

  • Automatic: POS automatically switches to offline mode when internet is unavailable
  • All POS Functions Available: Process sales, returns, view products, everything works offline
  • Transactions Queued: All transactions are saved locally and queued for sync
  • Auto-sync: When connection is restored, transactions automatically sync to server

Indicator: Shows offline/online status in header so you always know your connection status

How to Set Up POS

  1. Start Session: Click "Session" → "Start New Session" to begin
  2. Configure Settings: Click settings icon → Configure receipt, hardware, etc.
  3. Connect Hardware:
    • Connect receipt printer (USB/Network)
    • Connect barcode scanner (USB)
    • Pair mobile app for mobile scanning
  4. Test Transaction: Process a test sale to ensure everything works
  5. Configure Receipt: Customize receipt template in settings to match your brand

💡 Pro Tip

Use keyboard shortcuts (F1-F8) for faster navigation. The POS is designed for speed - with barcode scanning and keyboard shortcuts, you can process transactions in seconds.

Sales Management

Video coming soon

Add a video URL to display it here

Sales Management — video walkthrough

Customers, orders, invoices, returns, and how they connect to POS

Sales Management covers everything after the register: customer records, order history, invoicing, and returns. Most day-to-day selling happens in Point of Sale; this area is for review, follow-up, and formal documents.

Open the Sales section from the sidebar. Each page respects your role permissions (typically sales.view).

Base route
/sales
Permission
sales.view

Pages in this module

Customers

/sales/customers · sales.view

Central customer directory with contact details, credit terms, and linked activity.

  • Search and filter customers; open a detail drawer for full profile
  • View related orders, invoices, and returns from the customer record
  • Create and edit customers; quick-add from dashboard shortcuts
  • Supports walk-in and account customers used at POS
  • Tip: Use consistent phone/email fields — POS customer lookup relies on them

Sales Orders

/sales/orders · sales.view

List of completed and in-progress sales with status, totals, and warehouse context.

  • Date-range filtering aligned with the global calendar on list pages
  • Order detail: line items, payments, discounts, taxes, and staff attribution
  • Status updates where your workflow allows (e.g. fulfilment states)
  • Print or export-friendly views for receipts and summaries

Invoices

/sales/invoices · sales.view

Formal invoices separate from POS tickets — draft, send, track payment status.

  • Create invoices from scratch or from existing orders
  • Statuses: Draft, Sent, Paid, Overdue, Cancelled
  • Line-level products, tax, and discounts
  • Record payments against open invoices

Returns

/sales/returns · sales.view

Post-sale returns and refunds with stock restoration rules.

  • Link returns to original sale or order when possible
  • Reason codes and notes for audit
  • Refund method tracking (cash, card, store credit)
  • Inventory impact reflected in stock transactions

Payments (roadmap)

/sales/payments · sales.view

Reserved route for a dedicated payments ledger; the live UI is still a placeholder — use Invoices and POS payment flows today.

  • Route exists in the app shell for future AR/collections work
  • Record customer payments today via Sales → Invoices or POS checkout

Common workflows

Typical flow: POS sale → order record

  1. Ring up the sale at /pos and complete payment
  2. Order appears under Sales Orders with session and warehouse metadata
  3. Issue an invoice later from /sales/invoices if the customer needs a formal bill

Desktop offline

  • On the desktop app, recently synced orders and customers remain readable offline; creating invoices may queue until connectivity returns.

Purchases Management

Video coming soon

Add a video URL to display it here

Purchases Management — video walkthrough

Suppliers, purchase orders, goods receipt, and supplier bills

Purchases connects suppliers to inbound stock. Create a purchase order (PO), receive goods against it, then record supplier bills for accounts payable.

Stock levels and inventory flow charts on the Stock page react when receipts are posted.

Base route
/purchases
Permission
purchases.view

Pages in this module

Suppliers

/purchases/suppliers · suppliers.view

Vendor master data — contacts, terms, and performance context.

  • Add and edit suppliers with address and tax details
  • Supplier-scoped filters on PO and bill lists
  • Link suppliers to default products where configured

Purchase Orders

/purchases/orders · purchases.view

Authoring and tracking POs from draft through received/cancelled.

  • Multi-line POs with variant-level quantities and costs
  • Status pipeline: Pending, Approved, Sent, Acknowledged, Partially received, Received, Cancelled
  • Warehouse-scoped POs; appears in Stock page supply pulse when open
  • Quick reorder shortcuts from low-stock items on /inventory/stock

Goods Receipt

/purchases/receipts · purchases.view

Record physical receipt of goods and increase on-hand stock.

  • Receive against an existing PO or ad-hoc receipt
  • Partial receipts update PO line received quantities
  • Posts stock transactions and updates stock_items automatically
  • Batch/expiry capture when products use lot tracking

Supplier Bills

/purchases/bills · purchases.bills

Accounts payable — supplier invoices matched to POs or standalone.

  • Bill lifecycle and payment recording
  • Reference PO or receipt for three-way match style workflows
  • Outstanding balance visibility for finance roles

Desktop offline

  • Desktop offline: PO list and stats can load from SQLite; creating or receiving may enqueue for sync when online.

Inventory Management

Video coming soon

Add a video URL to display it here

Inventory Management — video walkthrough

Stock levels, movements, adjustments, transfers, counts, and locations

Inventory is the source of truth for on-hand quantity per warehouse. Every sale, receipt, adjustment, transfer, and count writes to the stock transaction ledger.

Use Stock Levels for operational overview; use Transactions for audit; use Adjustments and Add Stock for corrections.

Base route
/inventory
Permission
inventory.view

Pages in this module

Stock Levels

/inventory/stock · inventory.view

Warehouse-scoped roster of SKUs with health status, value, and analytics strip.

  • Roster tabs: All, Healthy, Low stock, Out of stock with server-side pagination
  • Supply pulse: in/out flow chart (7-day navigator), pending PO pipeline
  • Panorama breakdown across warehouses (plan-gated advanced analytics)
  • Product drawer: timeline of recent movements, quick adjust, reorder panel
  • Header Add Stock opens multi-line adjustment drawer (catalog + existing stock)
  • Desktop offline: list, flow, movements, and add-stock lines from SQLite
  • Tip: Select the warehouse in the page header before adding stock — the drawer locks to that location

Transactions

/inventory/transactions · inventory.view

Immutable movement log — sales, receipts, adjustments, transfers, counts.

  • Filter by type, warehouse, product, and date range
  • Running balance per variant where applicable
  • Reference links to source documents (sale ID, adjustment ID, etc.)

Adjustments

/inventory/adjustments · inventory.adjust

Formal adjustment documents with approval workflow (increase, decrease, set level).

  • Multi-line adjustments with reason, reference, and unit cost
  • Statuses: draft → approved → processed (updates stock)
  • Desktop offline create via local SQLite + sync queue

Transfers

/inventory/transfers · inventory.transfer

Move stock between warehouses with in-transit tracking.

  • Source and destination warehouses with line-level quantities
  • Transfer out / transfer in transaction pair
  • Status tracking until fully received

Stock Counts

/inventory/counts · inventory.count

Physical stocktake sessions with variance posting.

  • Count sheets by warehouse and product selection
  • Record counted qty vs system qty
  • Post variances as adjustment transactions

Locations

/inventory/locations · tenants.settings

Warehouses and stores — also reachable from Settings → Locations.

  • Warehouse vs retail location types
  • Default warehouse for POS and stock views
  • Product–warehouse assignments for catalog scoping

Common workflows

Add stock for a new variant

  1. Create the product in Catalog → Products (optional initial stock at create)
  2. On Stock Levels, click Add Stock in the header
  3. Pick the variant line (includes catalog-only SKUs with zero on hand)
  4. Submit an INCREASE adjustment — on-hand updates after processing

Desktop offline

  • Tauri desktop app keeps stock_items and stock_transactions locally; quick adjust and Add Stock work offline and sync when connectivity returns.

Catalog Management

Video coming soon

Add a video URL to display it here

Catalog Management — video walkthrough

Products, categories, brands, variants, and price lists

Catalog is your merchandise master data. Products hold marketing fields; variants hold SKU, barcode, and price; stock lives per warehouse under Inventory.

POS and sales screens always resolve to a variant ID.

Base route
/catalog
Permission
products.view

Pages in this module

Products

/catalog/products · products.view

Primary product workspace with grid/list, filters, and rich create/edit drawers.

  • Multi-variant products with images, category, brand, and tax flags
  • Track stock toggle; optional opening stock on create
  • Warehouse toolbar filter scopes visible products
  • Bulk actions where permissions allow
  • Desktop offline: categories/brands from SQLite; create queues locally

Categories

/catalog/categories · products.view

Hierarchical category tree for navigation and reporting.

  • Parent/child categories with drag reorder
  • Active/inactive flag
  • Used in POS category sidebar and product filters

Brands

/catalog/brands · products.view

Brand directory with logo and optional website.

  • Link brands to products for filtering and labels
  • Offline read on desktop when API unavailable

Variants

/catalog/variants · products.view

Flat or grouped variant list with per-warehouse stock health summary.

  • SKU, barcode, price, cost, and attribute JSON
  • Stock health badges: in stock / low / out
  • Flat export-style list for pickers (e.g. Add Stock drawer online)

Price Lists

/catalog/pricing · products.update

Location- or segment-specific pricing rules.

  • Override base variant price per context
  • Bulk price update tools
  • Requires products.update permission

Desktop offline

  • Product and variant rows sync to SQLite on desktop; edits enqueue to the sync worker.

Expenses

Video coming soon

Add a video URL to display it here

Expenses — video walkthrough

Track operating expenses and review expense transactions

Expenses capture money out of the business outside of inventory purchases — rent, utilities, salaries, and other overheads. Totals feed the dashboard performance summary alongside sales.

Base route
/expenses
Permission
expenses.view

Pages in this module

Expenses

/expenses · expenses.view

Main expense register with categories and approval-style list views.

  • Create expenses from dashboard quick action (?openAdd=1)
  • Category and type classification
  • Date filtering with shared calendar component
  • Attachment notes and reference numbers where enabled

Expense Transactions

/expenses/transactions · expenses.view

Ledger-style view of expense-related movements.

  • Cross-cut view for accountants
  • Export and search

Expense Types & Categories

/expenses/types · expenses.view

Supporting masters for classifying spend (/expenses/types, /expenses/categories).

  • Configure reusable types
  • Organize spending for P&L style reports

Reports & Analytics

Video coming soon

Add a video URL to display it here

Reports & Analytics — video walkthrough

Analytics hub, sales reports, and inventory reports

Reports turn operational data into decisions. Analytics (plan-gated) provides cross-module KPIs; Sales and Inventory reports drill into specific domains with export-friendly tables.

Many report and analytics surfaces require the subscription feature advancedAnalytics — locked modules show an upgrade gate instead of charts.

Base route
/reports
Permission
reports.view

Pages in this module

Analytics

/reports/analytics · reports.view

Cross-business analytics dashboard with charts and comparisons.

  • Period selectors: daily, weekly, monthly, yearly
  • Comparison to previous period
  • Tied to subscription advancedAnalytics feature gate on home dashboard

Sales Reports

/reports/sales · reports.sales

Revenue, tenders, and product/customer breakdowns.

  • Summary and detail modes
  • Date range and warehouse filters
  • Export for spreadsheets

Inventory Reports

/reports/inventory · reports.inventory

Stock valuation, movement pages, and ageing views.

  • Movement ledger report aligned with /inventory/transactions
  • Low stock and valuation snapshots
  • Desktop offline reads from SQLite where implemented

Settings

Video coming soon

Add a video URL to display it here

Settings — video walkthrough

Profile, team, organization, billing, security, and preferences

Settings configure how your organization runs on TallyhubGH. Access via the user menu or /settings routes. Visibility depends on owner role and fine-grained permissions.

Base route
/settings

Pages in this module

Profile

/settings/profile

Your user name, email, avatar, and password changes.

  • Update contact info
  • Change password
  • Locale preferences

Locations

/settings/locations · tenants.settings

Organization warehouses — same data as Inventory → Locations.

  • Create warehouses and retail stores
  • Set codes and addresses
  • Control which products appear per warehouse

Tax & Discount

/settings/tax-discount · taxes.view

Tax rates and discount presets applied at POS and invoicing.

  • Tax groups
  • Default discount rules
  • Receipt display options

Team

/settings/team · users.invite

Invite users and assign roles with permission labels.

  • Role templates (Owner, Manager, Cashier, etc.)
  • Per-membership permission overrides
  • Pending invitations

Organization

/settings/organization · settings.billing

Business legal profile, currency, and regional defaults.

  • Business name and branding
  • Currency symbol and decimal rules
  • Fiscal year settings where applicable

Billing

/settings/billing · settings.billing

Subscription plan, payment method, and invoices from TallyhubGH.

  • Plan upgrade/downgrade
  • Paystack checkout flow
  • Entitlement sync to desktop SQLite for offline enforcement

Security

/settings/security

Session lock PIN/password for shared devices.

  • Optional auto-lock timer
  • Desktop offline PIN verification against local bcrypt hash
  • Reconcile with server when back online

Preferences

/settings/preferences

Theme, keyboard shortcuts reference, and UI defaults.

  • 30+ DaisyUI themes (light/dark)
  • Keyboard shortcut cheat sheet
  • Default landing module preferences

POS Settings

/settings/pos · tenants.settings

Receipt header/footer, printer targets, and POS behavior flags.

  • Receipt customization
  • Hardware printer integration on desktop

Desktop App & Offline Sync

Video coming soon

Add a video URL to display it here

Desktop App & Offline Sync — video walkthrough

Tauri desktop install, SQLite cache, and sync queue behavior

TallyhubGH ships as a web dashboard and as a Tauri desktop app (Windows/macOS). The desktop build keeps a local SQLite copy of your tenant data so you can sell and adjust stock when the internet drops.

Changes queue in sync_queue and push automatically when you are back online — use Tools → Sync Now or Ctrl/Cmd+R.

Pages in this module

What works offline

/

Read/write capabilities without network on desktop.

  • POS: complete sales, payments, cash movements, session close
  • Catalog: browse/create products; categories & brands from SQLite
  • Inventory: stock list, flow chart, movements, adjustments, Add Stock lines
  • Billing entitlement checked against local row + auth fallback
  • Session lock PIN unlock offline

Sync infrastructure

/

How local changes reach the server.

  • Entities: sale, payment, stock_transaction, product, inventory_adjustment, session_lock, etc.
  • sync_status column: pending → synced / failed
  • Sidebar Online/Offline badge reflects navigator.onLine
  • Failed rows retain sync_error for support

Install & updates

/

Desktop distribution.

  • Download from tallyhubgh.com — Tauri bundles migrations on first launch
  • Help menu links to this documentation
  • Auto-update channel when enabled in release builds

Desktop app notes

  • Run migrations once per install; do not edit SQLite manually unless debugging — use TablePlus only in dev environments.

Notifications

Video coming soon

Add a video URL to display it here

Notifications — video walkthrough

In-app alerts, filters, and the header notification bell

Notifications keep your team informed about stock, sales, billing, security, and system events. The bell in the dashboard header shows a preview; the full inbox lives at /notifications.

Requires notifications.view (enforced by dashboard route guards).

Base route
/notifications
Permission
notifications.view

Pages in this module

Notifications inbox

/notifications · notifications.view

Full-page feed with stats, filters, sort, detail drawer, and deep links.

  • Stats row: Unread, Critical, Today, Total
  • Filters: All, Unread, and by type (Inventory, Sales, Billing, Security, System)
  • Sort: newest, oldest, or by severity
  • Mark one read, mark all read, dismiss, open linked route (?id= for drawer)
  • Categories include low stock, out of stock, expiry, orders, payments due/overdue, billing, security
  • Pending return approvals can be actioned from the drawer when payload allows
  • Tip: Deep link: /notifications?id= opens the detail drawer on load

Header preview

/

Bell dropdown in the dashboard layout lists recent items without leaving your current page.

  • Unread badge count
  • Mark all read from dropdown
  • View all → /notifications

Marketplace & Store

Video coming soon

Add a video URL to display it here

Marketplace & Store — video walkthrough

Public marketplace browse and your organization storefront listings

The marketplace lets buyers discover products published by organizations on the platform. Store Management is where your tenant curates which catalog items appear publicly and how the storefront looks.

These routes use the marketplace layout (distinct from the main dashboard chrome). Sidebar entries may be disabled in some builds — routes remain available when you have products.view.

Base route
/marketplace
Permission
products.view

Pages in this module

Marketplace browse

/marketplace · products.view

Public catalog discovery with search, filters, and featured products.

  • Hero search bar
  • Featured products strip when no filters applied
  • Sidebar filters: category, brand, organization, price range, sort
  • Product cards link to /marketplace/product/

Store management

/store/management · products.view

Manage your organization's marketplace listings and store profile stats.

  • Listing grid with add/edit listing drawer
  • Store profile card (name, accent color, slug)
  • Links to marketplace browse and store settings
  • Stats cards for published vs draft listings

Store settings

/store/settings · products.view

Branding and identity for your public storefront.

  • Store name and URL slug (/marketplace/store/)
  • Accent color and description
  • Logo / banner fields where configured

Public store page

/store/{slug} · products.view

Customer-facing storefront for your slug (tenant name derived slug when configured).

  • Organization-scoped product showcase
  • Shares catalog data with internal products

AI, Support & Customer Display

Video coming soon

Add a video URL to display it here

AI, Support & Customer Display — video walkthrough

AI assistant, support chat, second screen, and customer payment QR

Beyond module pages, the dashboard shell exposes tools from the header and title bar: AI insights, human support chat, a customer-facing display, and hosted payment QR for MoMo/card flows.

Pages in this module

AI Assistant

/

Natural-language queries and saved SQL snippets (plan / role gated).

  • Opened from header sparkles control or Tools menu (Cmd/Ctrl+Shift+A on desktop)
  • Single AIChatDrawer hosted in layouts/dashboard.vue
  • Home dashboard AI Insight card uses the same assistant stack
  • Storekeepers may hide AI on POS routes only

Custom Support

/

In-app ChatWidget for TallyhubGH support conversations.

  • Title bar and Help → Custom Support
  • Desktop tray Tools menu entry

Customer display

/customer-display

Second-screen experience for shoppers: idle branding, live cart, checkout QR.

  • Open from POS toolbar when enabled
  • States: idle, active cart mirror, remote checkout QR split
  • Uses customer-display layout (fullscreen)
  • Idle content configurable from organization settings

Public pay link

/pay

Hosted payment page customers open from QR (no dashboard login).

  • Public route — validates payment session from POS
  • Shows error state when link expired
  • Completes MoMo / card flows initiated at register

Platform operations (not in tenant app)

Video coming soon

Add a video URL to display it here

Platform operations (not in tenant app) — video walkthrough

What platform operators use vs what your store team sees

The tenant dashboard documented here does not include a /admin UI for everyday store users. Platform-wide tenant/user/subscription administration is handled by separate operator tooling and server APIs (under server/api/admin on the backend).

If you are a store owner or cashier, use Settings → Billing and Settings → Team instead — not a global admin console.

Pages in this module

Tenant admin = Settings

/settings

Organization owners manage their own subscription, team, and locations inside the app.

  • Billing → /settings/billing
  • Team invites → /settings/team
  • Organization profile → /settings/organization

Backend admin APIs

/

Engineering-only endpoints for migrations and platform maintenance.

  • Not exposed as a sidebar module in the retail dashboard
  • Used by TallyhubGH operators during support incidents

Web & mobile experience

Video coming soon

Add a video URL to display it here

Web & mobile experience — video walkthrough

Responsive web, desktop app, and PWA — not a separate native store app

TallyhubGH is built as a responsive Nuxt web app. There is no separate native iOS/Android module in this dashboard repository — mobile staff typically use the browser or install the site as a PWA, while stores that need offline use the Tauri desktop build.

Pages in this module

Mobile browser / PWA

/

Full dashboard and POS in a mobile viewport.

  • Responsive layouts; POS optimized for touch
  • Add to Home Screen for app-like shortcut
  • Requires connectivity unless using desktop app

Desktop app (recommended offline)

/

See Desktop & Offline module for SQLite sync.

  • Windows/macOS Tauri shell
  • Same routes as web with native menu and tray

Barcode & hardware

/pos

Camera scanning and printers depend on device/browser.

  • POS barcode input via scanner wedge or camera where supported
  • Receipt printing via Settings → POS on desktop

Desktop app notes

  • Do not expect Settings → Mobile App device pairing in the current dashboard — that flow is not implemented in settings pages.

Billing & Subscriptions

Video coming soon

Add a video URL to display it here

Billing & Subscriptions — video walkthrough

Plans, usage meters, Paystack checkout, and invoices in Settings → Billing

Subscription state controls plan limits (locations, users, products) and feature gates such as advancedAnalytics. Tenants manage billing at Settings → Billing; marketing pricing tables on tallyhubgh.com mirror the same plan tiers.

Desktop stores entitlement in SQLite for offline enforcement; tampered local rows block the app until reconciled online.

Base route
/settings/billing
Permission
settings.billing

Pages in this module

Billing dashboard

/settings/billing · settings.billing

Operational billing hub inside the tenant app (not the marketing pricing page).

  • Stat cards: plan status, renewal, spend, payment health
  • Current plan card with free / active / past_due states
  • Usage meters vs plan limits (users, locations, products, storage, transactions)
  • Change plan drawer — upgrade, downgrade, or choose subscription
  • Scheduled plan change banner when downgrade is pending
  • Payment methods and billing history sections
  • Paystack checkout + callback routes (/billing/callback, /settings/billing-callback)

Subscription enforcement

/

How the app decides what you can do when offline or out of quota.

  • SubscriptionBlockedScreen when entitlement invalid or tampered
  • Auto-retry when browser comes back online
  • Feature gates on dashboard AI, stock analytics, sales reports, etc.

Common workflows

Upgrade from free tier

  1. Go to Settings → Billing
  2. Click Choose Subscription / Change Plan
  3. Complete Paystack checkout
  4. Return via billing callback — auth/me refreshes plan on account

Desktop offline

  • billing_entitlement and billing_settings_cache rows on desktop; editing them locally triggers block until server auth matches.

Standard plan tiers

Marketing limits below mirror tallyhubgh_pricing.json. Live checkout and usage meters are in Settings → Billing.

FREE

Forever free for small businesses

Free
Limits & Resources
Locations: 1
Users: 1
Products: 10
POS Devices: 1
Transactions: 10
Storage: 500MB
SMS Receipts: Not included
Customers: 50
Included Features
Inventory management
Sales & invoicing
Customer management
Mobile money payments
Basic reports
Email receipts
Community support
Watermarks on receipts
Dashboard ads
Perfect For
Market sellersSmall kiosksSolo entrepreneursStudents testing business ideasChurches/NGOs with basic needs
Payment Options
  • Free - No payment required

Starter

Perfect for small retail shops

GHS 175
/month
GHS 1,890/year
Save GHS 210 (10%)
Limits & Resources
Locations: 1
Users: 1
Products: 300
POS Devices: 1
Transactions: 300
Storage: 2GB
SMS Receipts: 100
Included Features
Inventory management
Sales & invoicing
Customer management
Mobile money payments
Basic reports
Email receipts
Barcode scanning
SMS receipts
Advanced analytics
Supplier management
Tax management
Stock alerts
CSV import/export
24hr email support
Perfect For
Small retail shopsProvision storesBoutiquesHardware storesPharmacies
Payment Options
  • Mobile Money (MTN, Voda, AirtelTigo)
  • Card (Visa/Mastercard)
  • Bank transfer

Growth

MOST POPULAR

Ideal for growing businesses

GHS 421
/month
GHS 4,547/year
Save GHS 505 (10%)
Limits & Resources
Locations: 4
Users: 4
Products: 500
POS Devices: 4
Transactions: 500
Storage: 10GB
SMS Receipts: 500
Included Features
Inventory management
Sales & invoicing
Customer management
Mobile money payments
Basic reports
Email receipts
Barcode scanning
SMS receipts
Multi-location sync
Batch expiry tracking
Offline POS mode
Purchase orders
Promotions engine
Advanced analytics
Supplier management
Tax management
Stock alerts
CSV import/export
Customer credit limits
Staff performance tracking
Scheduled reports
12hr email support
Priority support
Perfect For
Multi-branch retail (up to 4 locations)WholesalersDistributorsSupermarketsManufacturing shops
Payment Options
  • Mobile Money (MTN, Voda, AirtelTigo)
  • Card (Visa/Mastercard)
  • Bank transfer

Pro

For established businesses

GHS 765
/month
GHS 8,262/year
Save GHS 918 (10%)
Limits & Resources
Locations: 7
Users: 10
Products: 1,000
POS Devices: 10
Transactions: 1000
Storage: 50GB
SMS Receipts: 1000
Included Features
Inventory management
Sales & invoicing
Customer management
Mobile money payments
Basic reports
Email receipts
Barcode scanning
SMS receipts
Multi-location sync
Batch expiry tracking
Offline POS mode
Purchase orders
Promotions engine
Advanced analytics
Supplier management
Tax management
Stock alerts
CSV import/export
Customer credit limits
Staff performance tracking
Scheduled reports
API access
E-commerce integration
Multi-currency
WhatsApp Business
Custom integrations
Custom receipt branding
Accounting software export
Free migration
4hr email support
Priority support
Phone support
Dedicated account manager
Perfect For
Multi-branch retail (up to 7 locations)Major wholesalersDistribution companiesGrowing chains
Payment Options
  • Mobile Money (MTN, Voda, AirtelTigo)
  • Card (Visa/Mastercard)
  • Bank transfer
  • Bank standing order
  • Invoice billing (for companies)

Lifetime

LIMITED TO 100 USERS

One-time payment, own forever

GHS 50,000
One-time payment
Everything Unlimited
All Pro Features
Payment Options
  • Pay in full: GHS 50,000
  • 3-month installment: GHS 7,000 × 3
  • 6-month installment: GHS 3,600 × 6
  • Mobile Money or bank transfer

Add-ons

Enhance your plan with additional features and resources.

Extra POS Device
GHS 35/mo

Per additional device

Additional Warehouse
GHS 50/mo

Per location

SMS Bundle (1,000)
GHS 20/mo

Extra SMS credits

Extra Storage (5GB)
GHS 25/mo

Additional cloud storage

WhatsApp Integration
GHS 40/mo

WhatsApp Business API

Thermal Printer Setup
GHS 150 (one-time)

One-time hardware setup

Special Plans

Exclusive offers and discounts for specific user groups.

Try Before You Buy

GHS 49/month for first 3 months, then GHS 99

Requirements:

  • First 3 months only
Valid for: 3 months
Student/NGO Plan

50% OFF on all plans

Requirements:

  • Must verify with student ID or NGO certificate
  • Annual payment required
Valid for: 1 year
50% Discount
Early Bird Special

First 500 users get 3 months FREE + lifetime 15% discount

Requirements:

  • First 500 users only
Market Vendor Discount

Free plan forever with 200 SKUs + 20% discount on upgrades

Requirements:

  • Show proof of market vendor status

Themes

Video coming soon

Add a video URL to display it here

Themes Video

Customize your TallyhubGH experience with different themes

TallyhubGH offers a comprehensive theme system with 32 beautiful themes to customize your experience. Choose from 19 light themes and 13 dark themes to match your preference and style.

Overview

Themes allow you to personalize the appearance of TallyhubGH across all pages. Each theme includes carefully crafted color palettes that affect the entire interface, including buttons, backgrounds, text colors, and accent colors.

Theme Statistics:

  • Total Themes: 32 themes
  • Light Themes: 19 themes
  • Dark Themes: 13 themes
  • Default Theme: Deep Space (dark theme)
  • Theme Persistence: Saved in cookies for 1 year

How to Change Themes on Landing Page

Changing themes on the landing page is simple and can be done in two ways:

Method 1: Quick Theme Toggle

The quickest way to switch between light and dark themes:

  1. Look for the sun/moon icon button in the top navigation bar (header)
  2. Click the button to toggle between light and dark themes
  3. The theme changes instantly across the entire application
  4. Your preference is automatically saved

Note: The quick toggle switches between the default light theme (Winter) and default dark theme (Deep Space). For more theme options, use Method 2.

Method 2: Theme Switcher Dropdown

Access the full theme selection menu:

  1. Look for the "Theme" button with a color swatch icon in the top navigation bar
  2. Click the button to open the theme dropdown menu
  3. Browse through available themes organized by type:
    • Light Themes section (19 options)
    • Dark Themes section (13 options)
  4. Click on any theme to apply it immediately
  5. The selected theme is highlighted with a checkmark

Available Themes

Light Themes (19 themes)

Perfect for daytime use and bright environments:

Light - Clean and minimal light theme
Cupcake - Sweet pastel colors
Bumblebee - Yellow and black, energetic
Emerald - Fresh green professional theme
Corporate - Business-oriented clean design
Retro - Nostalgic vintage colors
Cyberpunk - Neon futuristic vibes
Valentine - Romantic pink tones
Garden - Natural green theme
Lofi - Calm and relaxing aesthetic
Pastel - Soft pastel colors
Fantasy - Magical purple theme
Wireframe - Minimalist wireframe style
CMYK - Print-inspired colors
Autumn - Warm autumn colors
Acid - Bright neon colors
Lemonade - Fresh citrus theme
Winter - Cool winter palette
Nord - Arctic-inspired color scheme

Dark Themes (13 themes)

Ideal for low-light environments and reducing eye strain:

Dark - Classic dark theme
Synthwave - 80s retro neon
Halloween - Spooky orange and purple
Forest - Deep forest greens
Aqua - Ocean-inspired blues
Black - Pure black OLED theme
Luxury - Gold and black elegance
Dracula - Popular dark theme
Business - Professional dark theme
Night - Deep navy night theme
Deep Space - Cosmic blues (default dark)
Coffee - Warm coffee tones
Dim - Dimmed comfortable dark
Sunset - Warm sunset colors

Theme Features

Automatic Persistence

Your theme preference is automatically saved and persists across sessions:

  • Theme is saved in browser cookies
  • Cookie expires after 1 year
  • Theme is applied immediately on page load
  • No need to re-select your theme each visit

Instant Application

Themes are applied instantly without page reload:

  • No page refresh required
  • Smooth transitions between themes
  • Applied across all pages immediately
  • Works on both landing page and authenticated pages

Theme Preview

In the theme switcher dropdown, each theme shows a preview:

  • Color swatch showing primary colors
  • Visual preview of theme colors
  • Active theme marked with checkmark
  • Theme name and description displayed

Where Themes Are Available

Themes can be changed from multiple locations:

  • Landing Page: Header navigation bar (top right)
  • Dashboard: Header navigation bar
  • All Pages: Theme controls available in header
  • Settings Page: Can also be changed from user settings (if available)

Theme Components

Quick Theme Toggle

A simple button that toggles between light and dark themes:

  • Shows sun icon when dark theme is active
  • Shows moon icon when light theme is active
  • Quick toggle between Winter (light) and Deep Space (dark)
  • Located next to the full theme switcher

Theme Switcher

Full theme selection dropdown menu:

  • Dropdown format for compact display
  • Organized by light and dark themes
  • Shows all 32 available themes
  • Visual preview for each theme
  • Active theme clearly marked

Technical Details

How Themes Work

Themes are implemented using CSS custom properties and data attributes:

  • Theme ID is stored as data-theme attribute on HTML element
  • CSS variables are dynamically updated based on theme
  • Theme plugin applies theme on page load
  • Theme composable manages theme state and persistence

Cookie Details:

  • Cookie Name: tallyhub-theme
  • Max Age: 1 year (365 days)
  • SameSite: Lax
  • Secure: Enabled in production

Default Theme

The default theme is Night (a dark theme). This is applied when:

  • No theme cookie exists (first-time visitor)
  • Theme cookie is invalid or expired
  • Theme preference hasn't been set yet

Best Practices

  • Choose based on environment: Light themes for bright offices, dark themes for low-light conditions
  • Consider eye strain: Dark themes reduce eye strain in low-light environments
  • Match your brand: Select themes that align with your business aesthetic
  • Test different themes: Try multiple themes to find your preference
  • Theme consistency: Your theme preference applies across all pages

Pro Tip

Use the quick theme toggle for fast switching between light and dark modes during different times of day. Use the full theme switcher when you want to explore all available color schemes and find your perfect match.

Partner Program

Video coming soon

Add a video URL to display it here

Partner Program — video walkthrough

Referral codes, share links, tracking referrals, and commission payouts

The TallyhubGH Partner Program lets you earn recurring commission by referring businesses to TallyhubGH. It is a standalone portal at /partners, separate from the merchant dashboard — anyone can join for free, with no TallyhubGH subscription required.

Each partner gets a unique referral code and share link. When a business signs up with your code and subscribes to a paid plan, you earn commission for as long as they stay subscribed.

Base route
/partners

Pages in this module

Becoming a partner

/partners

Create a free partner account and get your referral code instantly.

  • Free to join — no subscription or credit card required
  • Register with your name, email, and password (phone optional) at /partners
  • A unique 6-character referral code is generated on signup
  • Sign in any time at /partners; your dashboard opens automatically
  • Tip: Businesses must enter your code when they register to be attributed to you — share it before they sign up

How it works

/partners

Three steps from sharing your code to recurring income.

  • Share your code or share link (/auth/register?ref=CODE) with any business
  • The business enters your code when registering on TallyhubGH
  • They appear in your referrals list the moment they sign up
  • When they subscribe to a paid plan, you earn commission

Your partner dashboard

/partners/dashboard

Track referrals, conversion, and estimated earnings live.

  • Referral code hero with copy-code and copy-link buttons
  • Stat tiles: total referrals, subscribed, and on-trial counts
  • Referrals table: business, status, plan, and signup date
  • Statuses: Signed up, Free plan, On trial, Subscribed
  • Estimated earnings card with subscribed count and conversion rate
  • Tip: Share your link on WhatsApp and social media — it works around the clock

Commission & payouts

/partners/dashboard

How earnings are calculated and paid out.

  • Commission is a percentage of subscription value (currently 20%)
  • Recurring — you keep earning while the referred business stays subscribed
  • Dashboard earnings are indicative and may differ from final approved payouts
  • Add your payout details (e.g. MTN MoMo number and name) on the dashboard
  • Payouts are made in local currency (GHS)

Common workflows

From referral to payout

  1. Join free at /partners and copy your referral code
  2. Share your code or link with a business
  3. They register with your code and start using TallyhubGH
  4. They upgrade to a paid plan — the referral is marked Subscribed
  5. Save your payout details to receive commission in GHS