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 |
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.
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. Create a count for a store/warehouse, enter the physical count for each item, and the system calculates the variance. Click Apply to adjust inventory to match.
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: When goods arrive, open the PO and click Receive Goods. Enter quantities received, serial numbers for serialized items, and note any discrepancies. Partial receiving across multiple batches is supported.
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.
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
Available Reports
| Report | Key Metrics | Access |
|---|---|---|
| Sales Report | Revenue, transactions, averages, top products, category/store/payment breakdown | 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 |
| Cashier Report | Session summaries, sales per cashier, cash discrepancies, payment breakdown | All managers |
| Product Analytics | Top sellers, slow movers, dead stock, performance trends | Admin / Manager |
| Customer Analytics | Top customers, retention, segments, new vs. returning | Admin / Manager |
| Inventory Valuation | Stock levels, movement history, total value by valuation method | Admin / Manager |
| AI Analytics | Natural language business questions with AI-generated insights | AI permission |
All reports support date range filtering, store/warehouse selection, and export options.
Scheduled & Daily Reports
Daily Reports: Generate on demand from Reports > Overview, or configure automated daily/weekly/monthly delivery.
Scheduled Reports: Set up in Settings > Automation > Schedules with recipients, delivery time, and report type. Reports are automatically generated and emailed on schedule.
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} |
| 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} |
Sales Pull Security: requires auth:sanctum, api.application, permission:sales.view, and token ability sales:read.
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 |