{% extends "core/base.html" %} {% load static %} {% block title %}How It Works — SwiftPOS{% endblock %} {% block topbar_title %}How It Works{% endblock %} {% block extra_css %} {% endblock %} {% block content %}

How SwiftPOS Works

A step-by-step guide to mastering every section of SwiftPOS — from setting up your products to analysing your business performance.

Before you add any products, you need categories to keep your inventory organised. Think of categories like shelves in your store — "Drinks", "Snacks", "Electronics", etc.

1
Open the Inventory Hub

Click Inventory in the top navigation bar (desktop) or sidebar (mobile). This takes you to the Inventory Hub — your central dashboard for all stock-related actions.

2
Go to Categories

From the Inventory Hub, click the "Categories" card, or navigate directly to Category List. Here you can see all your existing categories at a glance.

3
Add a New Category

Click the "Add Category" button. On the Add Category page, type in the category name (e.g., "Cold Drinks") and optionally choose a colour or description. Click Save.

4
Repeat for Each Category

Create as many categories as your business needs. Well-organised categories make it faster for cashiers to find products at the point of sale.

Pro Tip: Keep category names short and clear. "Beverages" is better than "All Types of Drinks and Juices".

Products are the items you sell. Each product must belong to a category. You can add products one by one, or import many at once with a spreadsheet.

1
Open the Product List

Go to Products from the Inventory Hub. You will see all your current products with their stock status, price, and category.

2
Add a Single Product

Click "Add Product" to open the Add Product form. Fill in:

  • Product Name — the name shown on receipts and POS (e.g., "Coca-Cola 50cl")
  • Category — choose from the categories you created
  • Selling Price — what customers pay
  • Cost Price — what you paid to buy/make it (used for profit reports)
  • Initial Stock Quantity — how many units you have right now
  • Low Stock Alert — SwiftPOS will warn you when stock falls below this number
  • SKU / Barcode — optional but recommended for barcode scanning
3
Bulk Import Products (Optional)

If you have many products, use the Bulk Import feature. Download the Excel/CSV template, fill in your products, and upload it. SwiftPOS will add them all at once.

4
View & Edit a Product

Click any product name in the list to open its Product Detail page. From here you can edit its name, price, category, barcode, and see its full stock history.

5
Manage Barcodes

Visit the Barcode Centre to generate and print barcode labels for any product. Printed barcodes let cashiers scan items directly during sales.

Pro Tip: Always fill in the Cost Price. Without it, your Profit & Loss reports won't be accurate.

The Point of Sale (POS) is where the real action happens. This is the screen cashiers use to process sales. SwiftPOS has two POS modes: Classic POS and Smart Grid POS.

1
Open the POS

Click the "Open POS" button in the top navigation bar, or use the quick link in the Sales Room hub. You can also use the Barcode POS if your plan supports it — great for shops that scan barcodes on every item.

2
Add Items to the Cart

On the Classic POS (Sales POS): search for a product by name or SKU. Click it to add it to the cart. On the Grid POS (Grid POS): products appear as buttons grouped by category — just tap to add.

3
Adjust Quantities

Use the + and buttons next to each cart item to change the quantity. You can also type the quantity directly into the quantity box.

4
Apply a Discount or Promo Code (Optional)

You can apply a discount percentage to the whole order, or enter a promo code if your plan supports it. The total is recalculated instantly.

5
Select a Customer (Optional)

Link the sale to an existing customer by searching their name or phone number. If selling on credit, the customer must be selected first.

6
Choose Payment Method & Confirm

Select Cash, Bank Transfer, POS/Card, or Credit (if enabled). Enter the amount received (for cash, SwiftPOS calculates the change). Click "Complete Sale".

7
Print or Share the Receipt

After the sale, the Receipt appears. Print it directly, or share via WhatsApp. The sale is automatically recorded and stock is reduced.

8
View All Transactions

Go to Transaction History to see every sale ever made. Filter by date, payment method, or cashier. You can also reverse a sale if a mistake was made.

Today's Dashboard
See today's total sales, order count, and payment breakdown in real-time.
Open Today's Dashboard →
End of Day
Run the daily reconciliation at closing time to confirm all cash and transfers.
End of Day →
Payment Summary
Get a breakdown of all payment methods used over any date range.
Payment Summary →
Sales By Item
See which specific products sell the most and generate the most revenue.
Sales By Item →
Pro Tip: Use the Grid POS for touch-screen devices — it is much faster for high-volume sales.

Your inventory tells you exactly what you have in stock, what is running low, and what has completely run out. SwiftPOS updates stock automatically every time a sale is made.

1
Go to the Inventory Dashboard

Click Inventory in the navigation. The Inventory Dashboard shows you a summary: total products, low-stock items, and out-of-stock items.

2
Browse Your Product List

Go to Products. Use the search box or filter by category to find any product. Each row shows the product's current stock quantity and its status (In Stock / Low / Out).

3
View Stock History for a Product

Click any product name to open its detail page. Scroll down to see the full stock movement history: every sale, restock, and stock adjustment is recorded with a timestamp and the staff member responsible.

4
Review Adjustment History

Visit Stock Adjustment History to see all manual stock changes across your entire product catalogue.

5
Export Inventory Data

Need a spreadsheet? Go to Export Centre to download your products, categories, or stock movements as an Excel or CSV file.

Stock levels change for many reasons: you receive new goods from a supplier, some items get damaged or lost, or you need to make a correction. SwiftPOS gives you full control over all these actions.

1
Add (Restock) a Product

Find the product in the Product List. Click its name to open the detail page, then click "Add Stock" or "Restock". Enter the quantity you received and the reason (e.g., "Delivery from supplier"). Click Save — the stock is updated immediately.

2
Reduce Stock (Write-off / Damage)

If items are damaged, expired, or need to be written off, open the product detail page and click "Reduce Stock". Enter the quantity to remove and a reason (e.g., "3 bottles broken"). This creates a traceable record so you know exactly where stock went.

3
Use Purchase Orders for Supplier Restocks

For a more formal restocking process, create a Purchase Order. Link it to a supplier, list the items ordered, and when goods arrive, click "Mark as Received" — stock is automatically added.

4
Manage Suppliers

Go to Suppliers to add and manage your suppliers. You can record payments made to each supplier and track outstanding balances.

Pro Tip: Always record a reason when reducing stock. It helps you identify patterns — for example, if a particular product is being damaged regularly.

Some products come in different sizes, colours, or flavours. Instead of adding a separate product for each variation, SwiftPOS allows you to create Variants under one parent product. Example: "T-Shirt" can have variants "Small – Red", "Medium – Blue", "Large – White".

1
Open a Product's Variants

Go to the Product List, click the product name to open its detail page, then click the "Variants" tab or button. This opens the Variant Management page for that product.

2
Add a New Variant

Click "Add Variant". Fill in the variant details:

  • Variant Name — e.g., "500ml" or "Red / Large"
  • Price Adjustment — how much more or less this variant costs vs. the base price
  • Stock Quantity — separate stock for each variant
  • SKU / Barcode — unique identifier for this variant
3
Variants on the POS

When a cashier adds a product with variants to the cart, SwiftPOS automatically prompts them to select the variant before adding it. This ensures the correct stock is deducted.

4
Restock Individual Variants

Each variant has its own stock level. You can restock a specific variant from the variant management page without affecting the others.

Building a customer database helps you track buying history, manage credit sales, and understand who your most loyal customers are.

1
View All Customers

Go to Customer List from the Sales Room hub. You will see all your registered customers, their total purchases, and whether they have any outstanding credit balance.

2
Add a New Customer

Click "Add Customer" on the Create Customer page. Enter their name, phone number, and optional email. Once saved, they can be linked to sales at the POS.

3
View a Customer's Profile

Click any customer name to view their full profile. You will see their purchase history, total amount spent, and any outstanding credit.

4
Manage Credit Sales

When a customer buys on credit, the balance is tracked automatically. Go to Credit Customers to see everyone with outstanding credit. When they pay, click "Clear Credit" to record the payment and update their balance.

Pro Tip: Always add a customer before creating a credit sale. SwiftPOS will not allow credit sales for anonymous walk-in customers.

The Dashboard is the first thing admins and managers see after logging in. It gives you a live snapshot of your business performance.

1
Reading the KPI Cards

The top row on the Dashboard shows four key numbers:

  • Today's Sales — total revenue so far today
  • Average Order Value — the average amount spent per transaction
  • Products — total products, with low-stock and out-of-stock counts
  • Staff — how many team members are active
2
7-Day Sales Trend Chart

The line chart shows your revenue and order count for the past 7 days. Use it to spot busy days, slow days, and weekly trends.

3
Payment Methods Breakdown

The doughnut chart shows how today's revenue was split across payment methods (Cash, Transfer, Card, etc.). This is useful for reconciliation.

4
Top Products & Recent Activity

See which products are selling the most today and a live feed of the most recent transactions.

5
Today's Summary Page

For a deeper look at a single day, visit Today's Dashboard — it breaks down every transaction, payment method, and cashier performance for the current day.

The Insights Hub is your business intelligence centre. It contains all your reports — from profit and loss to staff performance.

1
Open the Insights Hub

Click Insights Hub in the top navigation. This takes you to the Insights Hub — a grid of all available reports.

2
Business Analytics

Go to Business Analytics for revenue trends, growth rates, and category-level performance across any date range.

3
Profit & Loss (P&L) Report

Visit the P&L Report to see your gross revenue, cost of goods sold, gross profit, operating expenses, and net profit. Filter by date range to analyse any period.

4
Stock Forecast

The Stock Forecast page uses your sales history to predict when products will run out of stock, helping you plan purchases before shelves go empty.

5
Staff Performance

See how each cashier or manager is performing with the Staff Performance report — who processed the most sales, highest revenue, and best average order value.

6
Operating Expenses

Record business expenses (rent, salaries, utilities) in the Expenses section. These are subtracted from your gross profit to calculate net profit in the P&L report.

7
Suspicious Activity Report

The Suspicious Activity report flags unusual transactions — like high discounts, repeated reversals, or unusually large orders — that may need investigation.

8
Yesterday's Summary

If you want to review yesterday's performance, use the Yesterday's Summary page — a pre-filtered view of all yesterday's transactions.

9
Notifications

SwiftPOS sends smart alerts — like low-stock warnings, expiry reminders, and large-sale alerts — to the Notifications panel. Check it regularly to stay informed without any manual checking.

SwiftPOS has a built-in AI Assistant that understands your business. Ask it questions, get smart suggestions, and let it analyse your data — all in plain English.

1
Open the AI Brain

Click the "AI Brain" button (purple, with a sparkle icon) in the top navigation bar, or navigate directly to AI Brain.

2
Ask Business Questions

Type any question about your business in plain English. Examples:

  • "What were my top-selling products last week?"
  • "Which products are running low on stock?"
  • "How much profit did I make this month?"
  • "Who is my best cashier?"
  • "Suggest a price for Coca-Cola based on my sales data"
3
Get Instant Answers

The AI Brain reads your actual business data — sales, inventory, customers — and gives you a clear, contextual answer. It is not a generic chatbot; it knows your business.

4
View Preset Prompts

Not sure what to ask? Click AI Prompts for a list of pre-built questions designed for common business scenarios.

Pro Tip: The AI Brain has a daily usage limit to keep things fair. Use it for your most important questions first.

The Settings page is where you configure your business details, POS behaviour, receipt format, security options, and integrations. Only Admins can access this page.

1
Open System Settings

Click your username/avatar in the top-right corner and select "Settings" from the dropdown, or go directly to System Settings.

2
Business Information

Update your business name, address, phone, email, and upload your logo. This information appears on every receipt you print.

3
Currency & Tax Settings

Set your currency symbol (e.g., ₦, $, £), your VAT/Tax rate, and the number of decimal places to display in prices.

4
POS Interface Mode

Choose between Classic POS (search-based) and Smart Grid POS (tile/tap-based). You can change this any time.

5
Receipt Configuration

Customise the header and footer text on printed receipts. For example: "Thank you for shopping with us!" or "Follow us on Instagram @yourshop".

6
Security & 2FA

Enable Two-Factor Authentication (2FA) for admins, managers, or cashiers. When enabled, users must verify a code sent to their email each time they log in.

7
WhatsApp Integration

Configure your WhatsApp API credentials to automatically send receipts, credit alerts, and low-stock warnings directly to customers and staff via WhatsApp.

The Admin Centre is for business owners and administrators. It covers team management, branches, promo codes, role permissions, and audit logs.

1
Open the Admin Centre

Click Admin Centre in the top navigation (visible only to admins). The Admin Hub shows all administrative features as cards.

2
Team & User Management

Go to User List to see all staff members. Add new users and assign them a role:

  • Admin — full access to everything
  • Manager — access to sales, inventory, and reports (no user management)
  • Cashier — access to the POS only
3
Branch Management

If your plan supports multi-branch, go to Branches to create and manage branches. Each branch has its own stock, sales records, and staff.

4
Promo Codes

Create discount codes for customers at Promo Codes. Set percentage or fixed-amount discounts, expiry dates, and usage limits.

5
Role Permissions

View the Role Permissions page to see a clear table of what each role (Admin / Manager / Cashier) can and cannot do.

6
Audit Log

The Audit Log records every important action taken in the system — who logged in, who added stock, who changed a price, who deleted a sale. This is your security trail.

7
Subscription & Billing

Manage your plan at My Subscription. View your current plan, days remaining, upgrade to a higher plan, or review billing history.

Security Reminder: Never share your admin password with cashiers. Create a separate cashier account for each staff member so you can track individual performance.

You're all set — let's go!

Start by adding your product categories and products, then open the POS and make your first sale. SwiftPOS handles everything else automatically.

{% endblock %}