{{ keypadDisplayValue }}

Server Debug Log (debug.log)

No debug logs found or unable to fetch.

{{ debugLogs }}

System Dashboard

{{ complianceStatus.text }} Next Audit: {{ nextAuditDate }}
💰

Today's Sales

${{ safeToFixed(todaysSales) }}
🏷️

Products Sold

{{ productsSoldToday }}
📦

Low Stock Items

{{ lowStockCount }}
👥

Active Customers

{{ customerTotalCount }}

Weekly Sales Performance

Sales by Category

Top Selling Products

{{ product.name }} ${{ safeToFixed(product.sales) }}

Recent Transactions

{{ tx.customer }} ${{ safeToFixed(tx.amount) }}
{{ tx.paymentMethod }} {{ tx.time }}
Page {{ productCurrentPage }} of {{ productTotalPages }}

{{ product.name }}

{{ product.brand }}

${{ safeToFixed(product.retailPrice) }}
Stock: {{ product.stock }}

Calculator

Add items to calculate a total.

{{ item.name }} ${{ safeToFixed(item.retailPrice * item.quantity) }}
{{ item.quantity }}

Subtotal: ${{ safeToFixed(calculatorSubtotal) }}
Discount: -${{ safeToFixed(calculatorDiscountAmount) }}
{{ taxLabel }}: ${{ safeToFixed(calculatorTax) }}
Total: ${{ safeToFixed(calculatorTotal) }}

Inventory Management

OCS SKU Product Name Brand Category Price Stock Actions
{{ product.ocsSku || product.id }}
{{ product.name }}
{{ product.brand }} {{ product.category }} ${{ safeToFixed(product.retailPrice) }} {{ product.stock }}
Page {{ inventoryCurrentPage }} of {{ inventoryTotalPages }}

Purchase Orders Management

PO Number Vendor Order Date Expected Delivery Status Total Amount Progress Actions
{{ po.po_number }}
{{ po.priority }}
{{ po.vendor_name }} {{ po.vendor_code }}
{{ formatDate(po.order_date) }} {{ formatDate(po.expected_delivery_date) }} Not set
{{ po.days_until_expected_delivery }} days Today {{ Math.abs(po.days_until_expected_delivery) }} days overdue
{{ formatPOStatus(po.status) }}
⚠️ Compliance
${{ safeToFixed(po.total_amount) }}
{{ po.total_quantity_received }}/{{ po.total_quantity_ordered }} items
No purchase orders found
Page {{ poCurrentPage }} of {{ poTotalPages }}

Stock Transfer Management

📋

Active Transfers

{{ getActiveTransfersCount() }}
🚚

In Transit

{{ getInTransitCount() }}

Pending Approval

{{ getPendingApprovalCount() }}
💰

Total Value (30 days)

${{ getTotalTransferValue() }}
Transfer # Status Source → Destination Priority Requested Items Value Progress Actions
{{ transfer.transfer_number }}
Tracking: {{ transfer.tracking_number }}
{{ formatStatus(transfer.status) }}
Due: {{ formatDate(transfer.expected_delivery_date) }}
{{ transfer.source_store_name }} ({{ transfer.source_store_code }})
{{ transfer.destination_store_name }} ({{ transfer.destination_store_code }})
{{ transfer.priority }}
{{ formatDate(transfer.request_date) }} by {{ transfer.requesting_staff_name }}
{{ transfer.item_count }} items {{ transfer.total_quantity_requested }} units
${{ transfer.total_value }}
{{ getTransferProgress(transfer) }}% complete

Loading transfers...

📦

No Stock Transfers Found

No transfers match your current filters. Try adjusting the filters or create a new transfer.

Vendor Management

Vendor Code Name & Contact Location Compliance Performance Orders Actions
{{ vendor.vendor_code }}
Preferred Inactive
{{ vendor.name }}
Contact: {{ vendor.contact_person }}
{{ vendor.email }}
{{ vendor.phone }}
{{ vendor.city }}, {{ vendor.province }}
{{ vendor.postal_code }}
{{ formatComplianceStatus(vendor.compliance_status) }}
License: {{ vendor.license_number }}
{{ formatLicenseStatus(vendor.license_status) }} ({{ vendor.days_until_license_expiry }} days)
On-Time: {{ safeToFixed(vendor.on_time_delivery_rate) }}%
Quality: {{ safeToFixed(vendor.quality_rating) }}/5
Risk: {{ vendor.risk_rating }}
Total: {{ vendor.total_orders || 0 }}
${{ safeToFixed(vendor.total_spent || 0) }}
{{ vendor.draft_pos }} Draft {{ vendor.submitted_pos }} Active
No vendors found
Page {{ vendorCurrentPage }} of {{ vendorTotalPages }}

Customer Management

{{ customer.name }}

{{ customer.loyaltyTier || customer.tier || 'Bronze' }}

{{ customer.email }}

{{ customer.phone }}

Loyalty Points: {{ customer.loyaltyPoints }} (${{ customer.pointsValueCAD }})
Total Spent: ${{ safeToFixed(customer.totalSpent) }}
Purchases: {{ customer.purchaseCount }}
Avg Basket: ${{ safeToFixed(customer.avgBasket) }}
Last Visit: {{ customer.lastVisit }}
Page {{ customerCurrentPage }} of {{ customerTotalPages }}

Staff Management

{{ staff.first_name.charAt(0) }}{{ staff.last_name.charAt(0) }}

{{ staff.name }}

{{ staff.role.name }}

ID: {{ staff.employee_id || staff.id }}

{{ staff.email }}

{{ staff.is_active ? 'Active' : 'Inactive' }}
Last login: {{ formatDateTime(staff.last_login) }}
👥

No Staff Members

Add your first staff member to get started with the system.

TBAY Token Dashboard

Purchase TBAY Tokens

Use TBAY tokens for a 50% discount on support services and participate in the retailer ecosystem.

L3 Local Rewards Settings

Define the base reward rules for your local L3 points system. These points can be bridged to TBAY tokens later.

e.g. 1.0 = Give 1 point for every dollar spent.
e.g. 0.01 makes 100 pts = $1.00 credit.
Points needed before they can be redeemed.
STORE ECONOMY: 100 points = {{ (100 * loyaltyConfig.redemption_value_per_point).toLocaleString('en-CA', {style: 'currency', currency: 'CAD'}) }}

Program Enrollment Status

TBAY (Ethereum L1): {{ Number(tbayBalanceL1).toFixed(2) }} TBAY
TBAY (zkSync L2): {{ Number(tbayBalanceL2).toFixed(2) }} TBAY
Monthly Requirement: {{ safeToFixed(monthlyTokenRequirement) }} TBAY
Amount Needed: {{ safeToFixed(tokenShortfall) }} TBAY

Your enrollment is secure for next month.

Customer Redemption Eligibility

These customers have enough loyalty points to redeem for TBAY tokens.

{{ customer.name }} {{ customer.loyaltyPoints }} pts

Quick Links

tbay.tk Support Center

Support Options

All services are 50% off when paying with TBAY tokens. You will be charged for the first hour (or day for email) upfront.

{{ option.icon }}

{{ option.name }}

SLA: {{ option.sla }}
${{ option.priceFiat }}/{{ option.unit }} CAD {{ option.priceTbay }} TBAY / {{ option.unit }} Free
Visit Forum

Earn TBAY Tokens

Actively participate in the retailer community support forum to earn rewards.

You'll earn $1.00 in TBAY tokens for each community support request you answer where your response is marked as the "Best Answer" by the original poster.

📊 Advanced Analytics & Business Intelligence

Comprehensive reporting powered by AI-ready analytics engine

Premium Analytics

🤖 AI Analytics Assistant

BETA
{{ aiResponse.message }}

💡 Suggestions:

  • {{ suggestion }}

Report Selection Menu

Generating analytics report...

⚠️

Error Loading Report

{{ reportError }}

🗄️
Historical Data Detected
We found {{ importSourcesData.total_imported_transactions.toLocaleString() }} imported transactions (${{ importSourcesData.total_imported_revenue.toLocaleString(undefined, {minimumFractionDigits:2}) }} revenue) from {{ importSourcesData.sources.map(s => s.name).join(', ') }}. Scroll down in the report menu to see Historical Data Reports.
📊

Welcome to Advanced Analytics

Select a report from the sidebar to begin analyzing your business data.

🚀 Quick Access

💰
Real-Time Sales
📦
Low Stock Alerts
🛍️
Sales by SKU
📊
Sales by Category
👥
Customer Insights
📈
Profit Analysis

🎯 Available Features

📊 204+ Report Types
Real-Time Data
🤖 AI-Powered Insights
📈 Predictive Analytics

{{ currentDashboardData.report_name }}

{{ dashboard.title }}

{{ kpi.label }}
{{ formatStatValue(kpi.value, kpi.format) }}

Weekly Sales Trend

Profit by Category

{{ currentReportData.report_name }}

{{ riskCategory.title }}

{{ kri.label }}
{{ formatStatValue(kri.value, kri.format) }}

{{ kri.description }}

{{ currentReportData.report_name }}

Generated: {{ formatReportDate(currentReportData.generated_at) }} Range: {{ formatDateRange(currentReportData.date_range) }}
ℹ️

Sample Data Only

{{ currentReportData.placeholder_message }}

{{ alert.severity === 'critical' ? '🚨' : (alert.severity === 'warning' ? '⚠️' : 'ℹ️') }}
{{ alert.title }}
{{ alert.message }}
{{ stat.icon || '📊' }}
{{ stat.label }}
{{ formatStatValue(stat.value, stat.format) }}
📊

No data available

Try selecting a different date range or filter.

Geographic Sales Data

Note: A proper map visualization would require a library like Leaflet.js. This is a placeholder showing the data.

  • {{ location.city }}, {{ location.province }}: ${{ formatCurrency(location.revenue) }} ({{ location.transactions }} transactions)

{{ currentReportData.sales_leaderboard.title }}

Rank {{ header }}
{{ index + 1 }} {{ formatStatValue(cell, cellIndex === 1 ? 'currency' : 'string') }}

{{ currentReportData.atv_leaderboard.title }}

Rank {{ header }}
{{ index + 1 }} {{ formatStatValue(cell, cellIndex === 1 ? 'currency' : 'string') }}
{{ header }} Anomaly Score
{{ cell }} {{ calculateAnomalyScore(row) }}
{{ header }}
{{ cell }}

AGCO Compliance Dashboard

Store License Information

Store Name: {{ storeInfo.name }}
CRSA Number: {{ storeInfo.crsa }}
CROL Number: {{ storeInfo.crol }}
Address: {{ storeInfo.address }}
Next Audit Date: {{ nextAuditDate }}

Daily Inventory Position Report

Last reported: {{ lastInventoryReport }}

Total Products: {{ products.length }}
Total Stock Value: ${{ safeToFixed(totalStockValue) }}
Compliance Status: {{ complianceStatus.text }}

Transaction Audit Trail

{{ log.timestamp }}
{{ log.action }}
{{ log.details }}

Settings

Display Mode

Choose how the POS interface is displayed.

Optimizes layout for phone screens. Hides the on-screen keypad and uses your device's native keyboard instead. Restructures checkout and menus for smaller displays.

Terminal Layout

Choose the active point-of-sale layout for this terminal.

Login Page Branding

Customize the login screen with your store's branding.

Store Information

Appearance

Customize the look and feel of the POS system.

Hardware & Peripherals

Manage connections to physical hardware like printers and customer displays.

Printer Configuration & Connection Management

Configure printer brands for proper ESC/POS command formatting.

Jurisdiction & Industry

Set your store's primary location and the types of regulated goods you sell.

Medical-only jurisdiction: {{ settings.province }} has a medical cannabis program but no integrated compliance tracking module. Automated traceability reporting is unavailable — a compliance officer must file reports manually with the state regulator.

Printer Status & Debugging

View the last receipt's content and detect connected printers.


Local Printer Connection

Connect to a local printer. The application will use the last connected printer for printing. Defaults to the Network Printer.

Connected to: {{ activePrinterType }} printer.

No local printer connected. Using Network printer.


Test Print Functionality

Test each printer connection with a randomly generated receipt.

{{ loadingMessage }}

WooCommerce Integration

Install the tbay.tk POS Bridge plugin on your WooCommerce store to enable real-time bidirectional sync of inventory, orders, customers, coupons, and tax rules.

tbay.tk POS Bridge v1.0.0
Syncs: inventory locks • order fulfillment • customer loyalty points • coupon codes • tax rules • product descriptions (AI-generated) • store design
↓ Download WooCommerce Plugin

Installation steps

  1. Download the plugin ZIP using the button above.
  2. In your WordPress dashboard go to Plugins → Add New → Upload Plugin.
  3. Upload tbay-pos-bridge-v1.0.0.zip and click Install Now.
  4. Activate the plugin, then go to Settings → POS Bridge.
  5. Enter your POS URL and generate an API key — copy it back here into the WooCommerce credentials in your .env file (WOO_API_URL, WOO_API_KEY, WOO_API_SECRET).
  6. The plugin will automatically register the required webhooks in WooCommerce.
Synced features: Inventory Locks, Order Fulfillment Panel, AI Retail Agent (stockout predictions + SEO descriptions), Barcode Manager SKU fallback, Coupon & Discount Sync, Unified Customer Database, Tax Rule Alignment, Store Design Canvas.

System Logs & Audit Trail

User Action Log

No user actions recorded.

{{ log.timestamp }} {{ log.user.toUpperCase() }}
{{ log.action }}
{{ JSON.stringify(log.details, null, 2) }}

System Error Logs

No system error logs recorded.

{{ log.timestamp }} {{ log.level.toUpperCase() }}
{{ log.message }}
{{ JSON.stringify(log.details, null, 2) }}

Payment Transactions

No payment transactions recorded.

{{ log.created_at }} {{ (log.payment_method || 'unknown').toUpperCase() }} {{ log.paymentStatus || '—' }}
${{ parseFloat(log.total || 0).toFixed(2) }} ID: {{ log.paymentId }} Auth: {{ log.approvalCode }} {{ log.message }}
▶ Raw response
{{ JSON.stringify(log.raw_response, null, 2) }}

WooCommerce Integration

Manage your WooCommerce store sync, orders, inventory, and AI-powered tools.

tbay.tk POS Bridge Plugin

Install the plugin on your WordPress/WooCommerce store to enable real-time bidirectional sync.

tbay.tk POS Bridge v1.0.0
Syncs: inventory locks • order fulfillment • customer loyalty points • coupon codes • tax rules • AI-generated product descriptions • store design
↓ Download WooCommerce Plugin

Installation steps

  1. Download the plugin ZIP using the button above.
  2. In your WordPress dashboard go to Plugins → Add New → Upload Plugin.
  3. Upload tbay-pos-bridge-v1.0.0.zip and click Install Now.
  4. Activate the plugin, then go to Settings → POS Bridge.
  5. Enter your POS URL and generate an API key — copy it back into your .env file (WOO_API_URL, WOO_API_KEY, WOO_API_SECRET).
  6. The plugin will automatically register the required webhooks.

Data Management Hub

Centralized hub for bulk importing historical data.

📦

Import Inventory

👥

Import Customers

👔

Import Staff

📈

Import Historical Sales