Skip to content

Earn 20–30% every month, for a year.

Refer a shop and get paid for twelve months.

Free to join. No minimum.

Payouts in GHS.

Share your code. They enter it when they register.

The first ten referrals pay 20%. From the eleventh, 30%.

See every signup, trial and subscription as it happens.

Become a partner

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.

Sales Management

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).

console.tallyhubgh.com/sales
swipe →

Invoices

Receivables across retail and wholesale

ProformaNew invoice

Outstanding

GH₵ 38,410

−4.2%vs last

Collected (7d)

GH₵ 22,180

+11.5%vs last

Overdue

4 invoices

−1vs last

Customers

486

+9vs last
InvoiceCustomerIssuedDueBalanceStatus
INV-2026-0912Mensah Stores02 Aug16 AugGH₵ 1,240.00Part paid
INV-2026-0908Kofi Distribution28 Jul04 AugGH₵ 8,600.00Overdue
INV-2026-0904Akua Boateng26 Jul09 AugGH₵ 0.00Paid
INV-2026-0901Adom Ventures24 Jul24 AugGH₵ 4,150.00Sent

Ageing

Current
GH₵ 21,400
1–30 days
GH₵ 8,410
31–60
GH₵ 5,000
60+
GH₵ 3,600

Customer types

IndividualRetailerBusinessDistributorDelivery agent
Base route:
/sales
Permission:
sales.view

Pages in this module

Customers

/sales/customerssales.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/orderssales.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/invoicessales.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/returnssales.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/paymentssales.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. 1Ring up the sale at /pos and complete payment
  2. 2Order appears under Sales Orders with session and warehouse metadata
  3. 3Issue 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

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.

console.tallyhubgh.com/purchases
swipe →

Goods receipt · GRN-1184

Against PO-2026-0331 · Adom Wholesale

Match billReceive
Supplier
Purchase order
Goods receipt · GRN-1184
Stock up
Supplier bill
Payment
LineOrderedReceivedUnit costBatchExpiry
Rice 5kg — Perfumed12012078.00B-4421—
Milo Tin 400g606031.00B-4422Mar 2027
Ideal Milk 380g80727.40B-4423Nov 2026
Key Soap 700g2002005.20——

Goods value

GH₵ 14,132

before landed cost

Freight allocated

GH₵ 480

into product cost

Short received

8 units

Ideal Milk 380g

Base route:
/purchases
Permission:
purchases.view

Pages in this module

Suppliers

/purchases/supplierssuppliers.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/orderspurchases.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/receiptspurchases.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/billspurchases.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

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.

console.tallyhubgh.com/inventory/stock
swipe →

Stock levels

Accra Main · live quantities

TransferAdjust

Stock value

GH₵ 214,860

+3.1%vs last

Units on hand

18,402

+1.7%vs last

Low stock

7

+2vs last

In transit

3 transfers

+1vs last
ItemLocationOn handReservedReorder atStatus
Rice 5kg — PerfumedAccra Main58620Healthy
Sugar 1kgAccra Main7025Reorder
Milo Tin 400gAccra Main44215Healthy
Ideal Milk 380gKumasi9120Low
Key Soap 700gWarehouse61240100Healthy

Recent stock movements

+120Goods receipt · GRN-118407:42
−3POS sale · POS-2026-00481309:15
−48Transfer to Kumasi11:02
+2Refund returned to stock12:38
Base route:
/inventory
Permission:
inventory.view

Pages in this module

Stock Levels

/inventory/stockinventory.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/transactionsinventory.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/adjustmentsinventory.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/transfersinventory.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/countsinventory.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/locationstenants.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. 1Create the product in Catalog → Products (optional initial stock at create)
  2. 2On Stock Levels, click Add Stock in the header
  3. 3Pick the variant line (includes catalog-only SKUs with zero on hand)
  4. 4Submit 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

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.

console.tallyhubgh.com/catalog/products
swipe →

Products

1,284 variants across 3 locations

ImportAdd product
AllDrinksProvisionsLow stockUnpublishedExport
ProductSKUCategoryCostSellMarginStatus
Rice 5kg — PerfumedRCE-5KProvisions78.0096.0018.8%Live
Milo Tin 400gMLO-400Drinks31.0038.5019.5%Live
Voltic 750mlVLT-750Drinks3.104.0022.5%Live
Key Soap 700gKEY-700Household5.206.5020.0%Live
Ideal Milk 380gIDL-380Provisions7.409.0017.8%Low
Indomie CartonIND-CTNProvisions34.5042.0017.9%Draft

Products

612

Variants

1,284

Published online

348

Base route:
/catalog
Permission:
products.view

Pages in this module

Products

/catalog/productsproducts.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/categoriesproducts.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/brandsproducts.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/variantsproducts.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/pricingproducts.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

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.

console.tallyhubgh.com/expenses
swipe →

Expenses

August 2026 · paid from cash and bank

LedgerAdd expense

Spent this month

GH₵ 9,240

+2.8%vs last

Budget left

GH₵ 2,760

−18%vs last

Unpaid

GH₵ 1,150

−GH₵ 400vs last
ExpenseCategoryDateAccountAmountStatus
Shop rent — AugustRent01 AugGCB currentGH₵ 3,500.00Paid
ECG prepaid top-upUtilities03 AugTill cashGH₵ 620.00Paid
Delivery fuelLogistics05 AugTill cashGH₵ 410.00Paid
Freight — Adom WholesaleLanded cost07 AugMoMo floatGH₵ 480.00Capitalised
Casual labourWages08 Aug—GH₵ 1,150.00Unpaid

Where the money went

Last 6 months
Base route:
/expenses
Permission:
expenses.view

Pages in this module

Expenses

/expensesexpenses.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/transactionsexpenses.view

Ledger-style view of expense-related movements.

  • Cross-cut view for accountants
  • Export and search

Expense Types & Categories

/expenses/typesexpenses.view

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

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

Notifications

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

/notificationsnotifications.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

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.

console.tallyhubgh.com/store
swipe →

Online store

mensah-stores.tallyhubgh.com · live

PromotePublish
Mensah StoresFeatured

Rice 5kg — Perfumed

GH₵ 96

Milo Tin 400g

GH₵ 38.50

Indomie Carton

GH₵ 42

Key Soap 700g

GH₵ 6.50

Voltic 750ml

GH₵ 4

Sugar 1kg

GH₵ 18

Store orders

ORD-8841New
MoMo · paidGH₵ 184.00
ORD-8838Confirmed
Cash on deliveryGH₵ 96.00
ORD-8834Fulfilled
MoMo · paidGH₵ 412.50

Where shoppers find you

TallyHubGh web marketplace
Shopper mobile app
Your store QR code
Base route:
/marketplace
Permission:
products.view

Pages in this module

Marketplace browse

/marketplaceproducts.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/managementproducts.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/settingsproducts.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

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

Reports & Analytics

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.

console.tallyhubgh.com/reports
swipe →

Profit & loss

01 Jul – 31 Jul 2026 · compared with June

CompareExport
Revenue
GH₵ 296,480
Retail counter
184,120
Wholesale dispatch
98,410
Online store
13,950
Cost of goods sold
GH₵ 203,320
Gross profit
GH₵ 93,160
Rent and utilities
24,600
Wages
18,400
Logistics
9,120
Net profit
GH₵ 41,040

Revenue vs expenses

Report centre

Sales by cashier
Stock ageing by location
Payment mix by hour
Base route:
/reports
Permission:
reports.view

Pages in this module

Analytics

/reports/analyticsreports.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/salesreports.sales

Revenue, tenders, and product/customer breakdowns.

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

Inventory Reports

/reports/inventoryreports.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

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.

console.tallyhubgh.com/settings
swipe →

Team & roles

8 members · 3 locations

PermissionsInvite
MemberRoleLocationsStatus
Ama BoatengOwnerAll locationsActive
Kwesi AntwiManagerAccra MainActive
Efua DedeCashierAccra MainActive
Yaw MensahStorekeeperWarehouseActive
Nana OseiAccountantAll locationsInvited

Cashier permissions

Create sales
Give discounts
Refund without PIN
See profit reports

Security

Two-factor authentication
Session lock with PIN
Manager PIN for voids
Trusted device list
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/locationstenants.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-discounttaxes.view

Tax rates and discount presets applied at POS and invoicing.

  • Tax groups
  • Default discount rules
  • Receipt display options

Team

/settings/teamusers.invite

Invite users and assign roles with permission labels.

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

Organization

/settings/organizationsettings.billing

Business legal profile, currency, and regional defaults.

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

Billing

/settings/billingsettings.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/postenants.settings

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

  • Receipt customization
  • Hardware printer integration on desktop

Desktop App & Offline Sync

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.

Platform operations (not in tenant app)

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

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.