{% extends "layouts/dashboard.html" %} {% import 'components/macros.html' as ui %} {% block title %}Admin Dashboard - {{ brand_name }}{% endblock %} {% block head_extra %} {% endblock %} {% block content %} {{ ui.page_header( brand_name, 'Executive view of sales, product health, and operational shortcuts.', 'Admin Dashboard' ) }}

Admin Dashboard

{% with messages = get_flashed_messages() %} {% if messages %} {% for message in messages %}
{{ message }}
{% endfor %} {% endif %} {% endwith %}
Total Sales
{{ currency_symbol }}{{ "%.2f"|format(sales) }}
Products
{{ products }}
Low Stock
{{ low_stock }}
Out of Stock
{{ out_of_stock }}
Customers
{{ customers }}
Profit
{{ currency_symbol }}{{ "%.2f"|format(profit) }}

Executive KPI Snapshot

{{ ui.metric_tile('Revenue', currency_symbol ~ ('%.2f'|format(sales)), daily.count ~ ' transactions', 'success') }} {{ ui.metric_tile('Profit', currency_symbol ~ ('%.2f'|format(profit)), 'Net performance', 'neutral') }} {{ ui.metric_tile('Catalog Size', products, low_stock ~ ' low stock alerts', 'warning') }} {{ ui.metric_tile('Customers', customers, out_of_stock ~ ' out of stock', 'neutral') }}
Daily totals from recent sales history

Data Recovery Reminder

After every app update, confirm your products and shop details are visible. If products are missing, use Bulk Import with your last downloaded inventory CSV. After adding or importing many products, regenerate the CSV in AI CSV Agent and download it as your personal backup.

{{ ui.button('Recover with Bulk Import', '/bulk-import-products') }} {{ ui.button('Regenerate / Download CSV', '/ai-csv-agent') }}
{% if is_server_owner %}

Admin Operations

Daily controls for reliability, trust, support, data quality, costs, and disciplined feature focus.

{{ ui.button('Operations Center', '/operations-center') }} {{ ui.button('Automation Command', '/automation') }} {{ ui.button('Workflow Rules', '/workflows') }} {{ ui.button('Platform Trust', '/platform-trust') }} {{ ui.button('Data Governance', '/data-governance') }} {{ ui.button('POS Acceleration', '/pos-acceleration') }} {{ ui.button('Governance Command', '/organizational-governance') }} {{ ui.button('Memory Intelligence', '/operational-memory') }} {{ ui.button('Enterprise Experience', '/enterprise-experience') }} {{ ui.button('Security Maturity', '/security-maturity') }} {{ ui.button('Cost Control', '/cost-management') }} {{ ui.button('Feature Focus', '/focus-engine') }} {{ ui.button('Deployment Helper', '/devops-assistant') }} {{ ui.button('System Operations', '/admin/system-operations') }}
{% endif %}

Sales Updates

Daily
{{ currency_symbol }}{{ "%.2f"|format(daily.amount) }}
{{ daily.count }} sale(s) in the last 24 hours
Weekly
{{ currency_symbol }}{{ "%.2f"|format(weekly.amount) }}
{{ weekly.count }} sale(s) in the last 7 days
Monthly
{{ currency_symbol }}{{ "%.2f"|format(monthly.amount) }}
{{ monthly.count }} sale(s) in the last 30 days

Recent Daily History

{% for row in recent_sales %} {% else %} {% endfor %}
Date Transactions Total
{{ row[0] }} {{ row[1] }} {{ currency_symbol }}{{ "%.2f"|format(row[2]) }}
No sales history found.

Cashier Management

Add or manage cashiers for your shop. Cashiers can access the sales page with their credentials.

Business Name Settings

Change the name shown across the app, receipts, and login screen.

Sales Cleanup

Remove older sales details when you want to keep only recent records in the system.

Quick Actions

{{ ui.button('Inventory', '/inventory') }} {{ ui.button('Add / Restock Product', '/add-product') }} {{ ui.button('Add Service', '/add-service') }} {{ ui.button('Bulk Import', '/bulk-import-products') }} {{ ui.button('Restock Planning', '/restock') }} {{ ui.button('Wholesalers', '/restock/suppliers') }} {{ ui.button('Automation Command', '/automation') }} {{ ui.button('Workflow Rules', '/workflows') }} {{ ui.button('Sales', '/sales') }} {{ ui.button('Return Goods', '/return-goods') }} {{ ui.button('Transactions', '/transactions') }} {{ ui.button('Payment Methods', '/payment-methods') }} {{ ui.button('Finance', '/finance') }} {{ ui.button('Expenses', '/expenses') }} {{ ui.button('Analytics', '/analytics') }} {{ ui.button('Branch Analytics', '/analytics/branches') }} {{ ui.button('POS Acceleration', '/pos-acceleration') }} {{ ui.button('Governance Command', '/organizational-governance') }} {{ ui.button('Business Memory', '/operational-memory') }} {{ ui.button('Global Search & Trust', '/enterprise-experience') }} {{ ui.button('AI Predictions', '/ai') }} {{ ui.button('AI Help', '/ai-help') }} {{ ui.button('AI CSV Agent', '/ai-csv-agent') }} {{ ui.button('Scanner Center', '/scanner-center?return_to=/admin&target=/sales') }} {{ ui.button('Barcode Hub', '/barcode') }} {{ ui.button('Scan Intelligence', '/barcode/intelligence') }} {{ ui.button('Training Mode', '/barcode/training') }} {{ ui.button('Change Password', '/change-password') }} {{ ui.button('Sales Calendar', '/admin/calendar', 'secondary') }} {{ ui.button('Alerts', '/alerts') }} {{ ui.button('Receipts', '/receipts') }} {{ ui.button('Customers', '/customers') }} {{ ui.button('Add Customer', '/add-customer') }} {{ ui.button('Cashiers', '/cashiers') }} {{ ui.button('Add Admin', '/register-admin') }} {{ ui.button('Branches', '/admin/branches') }} {{ ui.button('Reports', '/reports') }} {{ ui.button('Enterprise Reporting', '/reports/enterprise') }} {{ ui.button('Smart Exports', '/reports/exports') }} {% if is_server_owner %} {{ ui.button('Backup', '/backup') }} {{ ui.button('Cloud Updates', '/cloud') }} {{ ui.button('Release Notes', '/release-notes') }} {{ ui.button('Tutorial Videos', '/admin/tutorial-videos') }} {{ ui.button('User Reports', '/admin/user-reports') }} {{ ui.button('Shop Verification Registry', '/admin/shops', 'secondary') }} {{ ui.button('Registered Shops', '/server/shops', 'secondary') }} {{ ui.button('App Billing', '/admin/app-billing', 'secondary') }} {{ ui.button('Plugins', '/admin/plugins', 'secondary') }} {{ ui.button('Documentation', '/documentation') }} {% endif %} {{ ui.button('App Usage Payment', '/admin/app-billing/pay') }} {{ ui.button('Profile', '/profile') }} {{ ui.button('Help Center', '/help-center') }} {{ ui.button('App Guide', '/app_guide') }} {{ ui.button('Logout', '/logout', 'danger') }}
{% endblock %}