Introduction & Getting Started
What is NakPOS?
NakPOS is a comprehensive Point of Sale and Retail Management System designed for businesses that need to manage sales, inventory, purchasing, and financial operations across multiple stores and warehouses.
System Requirements
| Requirement | Details |
|---|---|
| Browser | Chrome 90+, Firefox 90+, Safari 15+, Edge 90+ |
| Screen Resolution | Minimum 1024×768 (1920×1080 recommended) |
| Internet | Required for full functionality; offline POS mode available |
| Printer (optional) | Standard printer for invoices; thermal printer (80mm) for POS receipts |
Logging In
Dashboard Overview
After logging in, you land on the Dashboard — a summary of your business performance.
| Section | Description |
|---|---|
| Today's Sales | Total revenue generated today |
| Total Orders | Number of transactions today |
| Active Customers | Customers who made purchases recently |
| Low Stock Items | Count of items below reorder levels |
| Sales Overview | Daily/weekly/monthly revenue chart |
| Top Selling Products | Best-performing items by quantity or revenue |
| Recent Transactions | Latest sales and invoices |
| Revenue by Category | Sales breakdown by product category |
| Store Performance | Comparison across store locations |
Dashboard v2: An alternative role-based dashboard is available at Dashboard > V2. It automatically adapts to your role:
| Role | Visible Panels |
|---|---|
| Owner / Super Admin | Finance, Operations, Sales, Commercial, People, Compliance |
| Manager | Finance, Operations, Sales, Commercial, People |
| Warehouse Staff | Operations |
| Cashier | Sales |
| Auditor | Finance, Commercial, Compliance |
Point of Sale (POS)
Accessing the POS
pos.accessOpening a Cashier Session
Before processing sales, you must open a cashier session (shift):
POS Interface Layout
The POS screen is divided into two main areas:
Left Panel — Product Area
| Search Bar | Search products by name, SKU, or barcode |
| Category Tabs | Filter products by category |
| Product Grid | Clickable product cards showing name, price, and stock |
Right Panel — Cart Area
| Customer Selection | Select or add a customer |
| Cart Items | Line items with quantity, price, subtotal |
| Tax Summary | Automatically calculated taxes |
| Cart Totals | Subtotal, tax, discount, grand total |
| Checkout | Complete the sale |
Adding Products
Search by Name or SKU: Type in the search bar. Matching products appear in the grid. Click a product to add it to the cart.
Scan Barcode: Use a barcode scanner. The product is automatically found and added.
Browse by Category: Click a category tab to filter. Click "All" to show everything.
Adjust Quantity: Use the + / − buttons in the cart, or click the quantity number and type a specific amount.
Serialized Items & Unit Selection
Serialized Items: If a product has serial number tracking enabled, a modal will appear when you add it to the cart. Enter or scan each serial number — the count must match the quantity.
Unit Selection: If a product has multiple units of measure (e.g., "Piece", "Pack of 12", "Carton of 48"), a modal appears for you to choose the unit. The price and stock adjust automatically based on the conversion factor.
Applying Discounts
Item-Level Discount: Click the discount icon next to a cart item. Choose percentage or fixed amount, then enter the value.
Order-Level Discount: Click the Discount button in the cart footer.
Checkout & Payment
| Cash | Enter amount tendered; change is calculated |
| Card | Process via integrated payment gateway |
| Bank Transfer | Record a bank transfer reference |
| Credit | Apply to customer's credit account |
Receipts
After completing a sale:
| Print Receipt | Print a standard receipt |
| Print Thermal | Print to a thermal receipt printer (80mm) |
| Email Receipt | Send the receipt to the customer's email |
| Share Link | Generate a public link to the receipt |
| New Sale | Skip receipt and start a new transaction |
Held Orders
To pause a sale and serve another customer:
Closing a Session & Cash Movements
Closing a Session:
Cash Movements: During an active session, click the Session button and choose Cash In or Cash Out to record float additions, petty cash, bank deposits, or other movements.
Offline POS Mode
If the internet connection is lost, the POS automatically switches to Offline Mode. Sales are recorded locally and automatically sync when connectivity is restored.
| Initial Sync | Downloads a snapshot of all products, prices, customers, and tax rates |
| Delta Sync | Subsequent syncs only download changes since the last sync |
Sales Management
Sales History
Navigate to Sales > Transactions > Sales History.
Filter sales by: date range, store, warehouse, cashier, payment method, and status (completed, returned, partially returned).
Click any sale to view its details: sale information, customer, line items, payment summary, tax breakdown, and return history.
Public Receipt Sharing
If share links are enabled in settings, open a sale and click Share Link to generate a secure, time-limited URL. The link expires after the configured period (default: 30 days) and does not require authentication to view.
Returns & Refunds
Creating a Return
Return Approval Workflow
| Status | Description | Action |
|---|---|---|
| Pending | Return submitted, awaiting review | Manager reviews |
| Approved | Return approved for processing | Proceed to process |
| Rejected | Return denied | Reason provided |
| Processed | Refund issued and stock restored | Complete |
| Cancelled | Return cancelled | No further action |
returns.approve for approval, returns.process for processing.Return Insights (AI)
If AI is enabled, navigate to the Insights tab on the Returns page to see AI-generated analysis of return patterns, top returned products, return rate trends, and recommendations for reducing returns.
Invoicing
Creating & Managing Invoices
| Status | Description |
|---|---|
| Draft | Editable; not yet sent |
| Sent | Delivered to customer |
| Partially Paid | Some payment received |
| Paid | Fully paid |
| Overdue | Past due date with balance |
| Cancelled | Voided |
Payments, Printing & Sharing
Recording Payments: Open an invoice, click Record Payment, enter amount, method, date, and reference. Partial payments are supported.
Print / PDF: Click Print for browser print dialog or Download PDF for a PDF file.
Email: Click Email to send a formatted email with PDF attachment.
Share Link: Generate a secure public URL for the customer to view without login (expires after configured period).
Credit Notes
Credit notes record credits against invoices (e.g., partial returns, billing corrections).
Create: Navigate to Sales > Transactions > Credit Notes, click New Credit Note, select the original invoice, add items and amounts.
Apply to Invoice: Open the credit note, click Apply to Invoice, select the target invoice, and enter the amount.
Issue Refund: Open the credit note, click Issue Refund, select the method and amount.
Estimates / Quotes
Creating & Managing Estimates
Navigate to Sales > Transactions > Estimates and click New Estimate.
Select a customer, add line items, set the validity period, and save.
| Status | Description |
|---|---|
| Draft | Not yet sent |
| Sent | Delivered to customer |
| Accepted | Customer accepted |
| Rejected | Customer declined |
| Converted | Converted to invoice or sale |
| Expired | Validity period passed |
Converting & Duplicating
Convert to Invoice: Open an accepted estimate and click Convert to Invoice. A new invoice is created with the line items pre-filled.
Convert to Sale: Click Convert to Sale to go to the POS with items pre-loaded in the cart.
Duplicate: Click Duplicate on any estimate to create a copy with the same line items.
Customer Management
Managing Customers
Navigate to Sales > Customers to view, search, and filter all customers.
Click New Customer to add a customer with: name, email, phone, address, customer group, and notes.
Customer Groups: Segment customers (e.g., "Wholesale", "VIP", "Corporate") for pricing via price books and for reporting.
POS Customer Search: In the POS, click the Customer button to search and assign a customer, or use Quick Add to create one on the spot.
Customer History & Credit
Open any customer record to access their full history:
| Tab | Details |
|---|---|
| Purchase History | All POS sales linked to this customer with dates, amounts, and items |
| Invoices | All invoices issued to this customer with payment status |
| Credit Notes | Credit notes issued, amounts applied, and remaining balance |
| Returns | Return requests submitted for this customer's purchases |
Customer Group Pricing: Assigning a customer to a group (e.g., "Wholesale") automatically applies any price books or pricing rules targeting that group during POS checkout and invoicing.
Product & Catalog
Managing Items
Navigate to Catalog > Products.
When creating or editing an item, configure:
| Section | Fields |
|---|---|
| Basic | Name, SKU, Barcode, Category, Description, Type (Product/Service) |
| Pricing | Cost Price, Selling Price, Minimum Price |
| Inventory | Track Inventory, Reorder Level, Reorder Quantity, Has Serial Numbers, Is Perishable |
| Additional | Units of Measure, Tax, Image, Active status |
Categories, Units & Barcodes
Categories: Support parent-child hierarchy. Import/export via CSV.
Units of Measure: Create unit categories (Weight, Volume, Count) and units with conversion factors (e.g., 1 Pack = 12 Pieces).
Barcodes: Enter manually, scan at POS, or auto-generate.
Price History: View all price changes on the item detail page with dates, old/new prices, and who changed them.
Bulk Operations
Bulk Edit: Select multiple items, click Bulk Edit, and apply changes to category, price, tax, or status.
Import (CSV): Click Import, download the template, fill in data, upload, preview, and confirm.
Export (CSV): Click Export to download all items.
Pricing
Price Books
Navigate to Catalog > Pricing > Price Books.
Price books define custom prices for specific products. They can be assigned to customers or customer groups with priority levels and date ranges.
Priority Order: Customer-specific → Customer group → Category discounts → General price books → Default price.
Bulk operations: Bulk Update, Adjust Prices (percentage/fixed increase or decrease), Import/Export via CSV.
Pricing Rules Engine
Navigate to Catalog > Pricing > Pricing Rules.
| Rule Type | Description | Example |
|---|---|---|
| Discount | Percentage or fixed amount off | "10% off all Electronics" |
| Markup | Increase price | "15% markup for express" |
| Fixed Price | Set a specific price | "All t-shirts at 2,000" |
| Buy X Get Y | Free/discounted items with purchase | "Buy 2 Get 1 Free" |
| Tiered Pricing | Price changes based on quantity | "1-10: 500, 11-50: 450" |
| Bundle Pricing | Special price for combinations | "Laptop + Case for 350,000" |
Define conditions (item, cart, customer, time-based) and actions with priority levels and optional date ranges.
Bundles
Navigate to Catalog > Bundles. Combine multiple products into a package with a special price.
When all items of a bundle are added to the cart at POS, the system automatically detects and applies the bundle price.
Inventory Management
Stock Levels & Adjustments
Navigate to Inventory > Stock Levels to view current inventory across stores and warehouses.
Filter by store, warehouse, category, stock status, or search by name/SKU.
Adjustments: Click Adjust Stock to increase or decrease quantity with a reason and notes. All adjustments are recorded in the audit trail.
Low Stock Alerts
Navigate to Inventory > Stock Alerts.
| Alert Type | Trigger |
|---|---|
| Low Stock | Quantity falls below reorder level |
| Out of Stock | Quantity reaches zero |
| Expiring Soon | Perishable items nearing expiry |
Alerts include email notifications, reorder suggestions, and links to create purchase orders.
Stock Counts
Navigate to Inventory > Stock Counts to perform physical inventory verification.
| Count Type | Description |
|---|---|
| Full Count | Count every item in the selected store/warehouse |
| Partial Count | Count items within a specific category only |
| Spot Check | Quick check of selected items |
Workflow:
Additional actions: Print the stock count report or Export to CSV. Counts can be cancelled while still in progress.
Inventory Valuation & Movements
Valuation Methods: FIFO (First In, First Out), LIFO (Last In, First Out), Weighted Average, FEFO (First Expired, First Out). Configured in Settings > Inventory.
Stock Movements: Navigate to Inventory > Stock Movements to see every stock change with date, item, quantity, type (sale, return, adjustment, transfer, receipt), source/destination, user, and reference.
Transfers
Push Transfers
Navigate to Inventory > Transfers and click New Transfer.
Select source and destination store/warehouse, add items with quantities, and submit.
| Status | Description |
|---|---|
| Pending | Awaiting approval |
| Approved | Ready to ship |
| In Transit | Items shipped |
| Completed | Items received at destination |
| Rejected | Transfer denied |
Pull Transfer Requests
Navigate to Inventory > Transfer Requests and click New Request. The source location reviews and can fully approve, partially approve, or reject the request. Approved requests automatically create a transfer.
Purchasing & Vendors
Vendors & Purchase Orders
Vendors: Navigate to Purchasing > Vendors to manage suppliers with company details, payment terms, and notes.
Purchase Orders: Create POs with vendor, destination warehouse, items, quantities, and cost prices. POs follow a workflow: Draft → Pending Approval → Approved → Partially Received → Received.
Goods Receipt & Vendor Defects
Goods Receipt (GRN): When goods arrive, open the PO and click Receive Goods. A unique GRN (Goods Receipt Note) number is auto-generated for each receipt.
| Good | Added to sellable inventory |
| Damaged | Tracked separately for disposition |
| Rejected | Not accepted into inventory |
Partial receiving across multiple batches is supported. View and print GRN reports from the receipt detail page.
Vendor Defect Tracking: Navigate to Sales > Returns > Vendor Defects to record defect incidents with affected items, reasons, photos, and track vendor defect rates.
Auto-Reorder: When enabled in settings, the system automatically generates suggested POs when items drop below their reorder level.
Dispositions
Managing Defective Items
Navigate to Sales > Returns > Dispositions. Dispositions track the lifecycle of defective, damaged, or non-sellable items.
| Type | Description |
|---|---|
| RMA | Return to vendor for replacement or credit |
| Repair | Item to be repaired and returned to stock |
| Insurance | Insurance claim for damaged goods |
| Write-Off | Remove from inventory as a loss |
| Disposal | Physically dispose of the item |
| Donation | Donate the item to charity |
Each type has its own processing workflow. You can attach photos and documents for documentation.
Approval Workflow:
dispositions.approve to approve or reject dispositions.Warehouses & Stores
Store & Warehouse Setup
Stores: Navigate to Settings > Stores. Each store has its own name, address, contact details, default warehouse, and tax configuration.
Warehouses: Navigate to Inventory > Warehouses. Types include: Sales Floor, Back Room, Cold Storage, Receiving, Transit, Quarantine, Defective, and Other. Mark warehouses as "sellable" to allow POS sales from them.
Warehouse-Store Access: Control which stores can access inventory from a shared warehouse by toggling access in the warehouse settings.
Default Warehouse: Each store has a default warehouse for POS transactions. Stock is deducted from this warehouse during sales.
Reports & Analytics
Sales & Revenue Reports
Navigate to Reports in the sidebar. All reports support date range filtering, store/warehouse selection, and CSV export.
| Report | Key Metrics | Access |
|---|---|---|
| Sales Report | Revenue, transactions, averages, top products, category/store/payment breakdown | All managers |
| Revenue Analysis | Unified revenue across POS sales and invoices, trends over time | All managers |
| Profit Report | Gross profit, margins, profit by product/category, cost analysis | Admin / Manager |
| Tax Report | Total tax collected, breakdown by rate/store/period | Admin / Manager |
| Payments Report | Payment method breakdown, trends, reconciliation | Admin / Manager |
| Discount Analysis | Discount usage, amounts, frequency, approval rates | All managers |
| Returns Report | Return volumes, reasons, refund amounts | All managers |
| Closeout Report | End-of-day summary of all transactions and cash movements | All managers |
| Store Performance | Cross-store comparison: revenue, margins, transactions | Admin / Manager |
| Cashier Report | Session summaries, sales per cashier, cash discrepancies | All managers |
| Cashier Detail | Individual cashier deep-dive with transaction-level data | All managers |
| Product Performance | Top sellers, slow movers, dead stock identification, performance trends | Admin / Manager |
Advanced Sales Analytics
| Report | Description |
|---|---|
| Sales Heatmap | A 7×24 grid showing sales patterns by day-of-week and hour-of-day. Identifies peak selling periods with color-coded intensity. Includes day totals and hour totals. |
| Void Analysis | Total void count and amount, void rate as percentage of transactions, per-cashier void breakdown, and hourly void distribution chart. |
| Return Rate by Item | Units sold vs. units returned per item, return rate percentage, refund totals, and top return reasons. Combines data from POS returns and invoice credit notes. |
| Price Source Analysis | Revenue breakdown by pricing source: base price, price book, pricing rule, bundle, BOGO, or manual override. Shows margin per source, revenue share, and monthly trends. |
Invoice & Accounts Receivable Reports
| Report | Description |
|---|---|
| Invoice Report | Invoice volumes, amounts, and status breakdown across all stores |
| Invoice Aging (AR Aging) | Outstanding invoices grouped by aging buckets: Current, 1–30 days, 31–60 days, 61–90 days, and 90+ days overdue |
| DSO Cycle Analysis | Days Sales Outstanding: measures average time from invoice creation to payment. Includes payment speed buckets (0–7, 8–15, 16–30, 31–60, 60+ days) and monthly DSO trend |
| Credit Note Impact | Gross vs. net revenue after credits. Credits broken down by type: return, price adjustment, overpayment, goodwill. Monthly trend and top customers by credit amount |
| Invoice Funnel | Conversion pipeline: Estimate → Invoice → Payment. Shows conversion rates at each stage |
Inventory Reports
Navigate to Inventory > Reports for inventory-specific analytics.
| Report | Description |
|---|---|
| Inventory Overview | Summary dashboard of total stock value, item counts, and key inventory metrics |
| Stock Report | Current stock levels across all locations with values |
| Movement Report | Historical stock movements by type (sale, return, adjustment, transfer, receipt) |
| Inventory Valuation | Total inventory value by valuation method (FIFO/LIFO/Weighted Average/FEFO) |
| Replenishment | Items needing reorder with suggested quantities |
| Inventory Turns | Turnover rate analysis showing how quickly stock sells |
| Dead Stock Lifecycle | Items with no sales activity, grouped by idle period: 0–30, 31–60, 61–90, 91–180, and 180+ days. Includes stock value and carrying cost per bucket |
| Damage & Spoilage | Total losses from damaged/spoiled items, recovered amounts (insurance, salvage), net loss by defect type and disposition type. Monthly trend |
| ABC Classification | Pareto analysis grouping items into Class A (top 80% revenue), Class B (80–95%), and Class C (95–100%). Shows item count, revenue, and margin per class |
AI Analytics & Customer Reports
| Report | Description | Access |
|---|---|---|
| AI Analytics | Ask natural language business questions and get AI-generated insights, charts, and recommendations | AI permission |
| Customer Analytics | Top customers by revenue, purchase frequency, retention analysis, new vs. returning segments | Admin / Manager |
Scheduled & Daily Reports
Daily Reports: Generate on demand from Reports > Overview, or configure automated delivery.
Scheduled Reports: Navigate to Settings > Automation > Schedules to configure:
| Setting | Description |
|---|---|
| Frequency | Daily, Weekly, or Monthly |
| Report Type | Daily System Report, Weekly Sales Summary, Monthly Performance |
| Recipients | Email addresses to receive the report |
| Send Time | Time of day to generate and send (24-hour format) |
| AI Insights | Optionally include AI-generated analysis in the report |
Use the Run Now button to trigger a schedule manually. View all previously generated reports at Settings > Automation > Reports.
API Reference
API Overview
NakPOS provides a RESTful API (v1) for integrations and the offline POS client.
| Base URL | https://your-domain.com/api/v1 |
| Authentication | Bearer token (Laravel Sanctum) |
| Format | JSON request and response bodies |
Key endpoint categories: POS, Items, Categories, Customers, Sales, Returns, Sessions, Price Books, Pricing Rules, Bundles, Stores, Payment Methods, Integrations, Offline Sync, AI.
Integration Endpoints
| Area | Endpoints |
|---|---|
| Sales Pull (App User) | GET /integration/sales, GET /integration/sales/{sale} |
| Report Parity (App User) | GET /integration/reports/* (sales, tax, cashier, invoice, inventory reports and more) |
| Core Data (App User) | GET /integration/data/* (sales, items, customers, invoices, returns, stores, warehouses, inventory snapshot) |
| Application Users (Admin) | GET/POST /integrations/application-users, PUT/DELETE /integrations/application-users/{user} |
| Token Management (Admin) | GET/POST /integrations/application-users/{user}/tokens, DELETE /integrations/application-users/{user}/tokens/{tokenId} |
| Webhook Subscriptions (Admin) | GET /integrations/webhooks/subscriptions, PUT /integrations/webhooks/subscriptions/{store}, POST /integrations/webhooks/subscriptions/{store}/rotate-secret, POST /integrations/webhooks/subscriptions/{store}/toggle |
| Replay/Backfill (Admin) | POST /integrations/webhooks/replays, GET /integrations/webhooks/replays/{webhookReplay} |
Integration Security: consumer endpoints require auth:sanctum, api.application, token ability integration:read, and route-level read/report permissions.
Application User Rule: application users cannot authenticate via /auth/login; they must use admin-issued tokens.
| Category | Rate Limit |
|---|---|
| Authentication | 5 requests/minute |
| Standard API | 60 requests/minute |
| POS Price Lookup | 120 requests/minute |
| Bulk Operations | 10 requests/minute |
| Offline Sync Upload | 10 requests/minute |
Troubleshooting & FAQ
Common Issues
| Issue | Solution |
|---|---|
| Cannot log in | Verify email/password, check account is active, sync authenticator app time, wait for rate limit to reset |
| POS not loading products | Ensure active session, products are active with stock, you have pos.access permission, clear browser cache |
| Cannot apply discount | Check your discount limit, request manager approval for larger discounts |
| Receipt not printing | Check printer connection, verify paper size (80mm for thermal), check browser popup blocker |
| Stock levels incorrect | Run a stock count, check movement audit trail, verify pending transfers and goods receipts |
| Invoice email not sending | Check SMTP settings, use Test button, check Email Logs, verify customer has valid email |
| Offline mode not working | Complete initial sync while online, check browser local storage support |
| AI not responding | Verify AI is enabled, API key is valid with sufficient credits, check rate limits |
| Webhooks not firing | Verify subscription is active, endpoint URL is reachable via HTTPS, check webhook secret is correctly configured |
| Report schedule not running | Check that the queue worker is running (Settings > Automation), verify the schedule is active and has valid recipients |
| Application user cannot access API | Ensure the token has the correct abilities (e.g., integration:read), check token has not expired or been revoked |