B-Plus POS — User Manual

Complete A–Z guide for all features and workflows. Use the search bar or sidebar to navigate.

No results found. Try a different keyword.

Overview

B-Plus POS is a web-based Point-of-Sale system built for WooCommerce retailers. It bridges your physical retail counter with your online WooCommerce store — syncing inventory, orders, customers, and payments in real time.

Key Concepts

  • WooCommerce Hybrid: Products and customers are read directly from the WordPress database. Orders and stock updates are written back via the WooCommerce REST API.
  • POS Tables: Custom pos_* tables store POS-specific data like sessions, held orders, store credit, and tax rules.
  • Zero Page Reloads: The POS interface operates entirely via AJAX for a fast cashier experience.
  • Role-Based Access: Admin, Stock Manager, and Cashier roles limit what each user can see and do.
All currency amounts in B-Plus POS are tax-inclusive — the MRP you see is the final price the customer pays, with GST extracted from it.

Login & User Roles

Logging In

  • 1
    Open the Login pageNavigate to the POS URL. You'll be redirected to the login screen automatically if not signed in.
  • 2
    Enter credentialsUse your Username and Password. Credentials are managed by Admin users under Admin → Users.
  • 3
    You're inAdmins land on the Dashboard. Cashiers land directly on the POS screen.

User Roles

  • Admin: Full access to all features — settings, reports, users, tax, GST, WhatsApp, and all POS functions.
  • Stock Manager: Access to inventory management, barcodes, product management, and DB sync.
  • Cashier: Access to the POS screen, customer search/creation, returns, and receipts only.
Passwords are hashed using WordPress-compatible hashing. Never store passwords in plain text.

Point of Sale

The POS screen is the heart of the system. It handles product search, cart management, customer selection, discounts, payment, and checkout — all without a page reload.

Product Search

  • Barcode / SKU scan: Type or scan a product barcode/SKU in the search bar. The product is added to cart instantly.
  • Name search: Type any part of the product name. Results appear in real time.
  • Product grid: Scroll through all products; use category filters to narrow down.
  • Stock indicator: Green = in stock, Red = out of stock. Out-of-stock items can still be sold if "Allow negative stock billing" is enabled in settings.

Cart Management

  • Click a product card or scan a barcode to add it to the cart.
  • Adjust quantity with + / − buttons or type a value.
  • Apply a per-item discount — either a fixed rupee amount or a percentage.
  • Apply a cart-level discount — flat % off the entire order.
  • Remove individual items with the ✕ button.

Customer Selection

  • Search by name, phone, or email in the Customer box.
  • Select an existing customer or create a new one on the fly.
  • Once selected, available loyalty points and store credit balance are shown.

Hold Order

If a customer needs to step away, click Hold to save the cart. Held orders appear under Held Orders and can be resumed any time.

Checkout

  • 1
    Review totalsSubtotal, discounts, GST, and final total are shown in the cart panel.
  • 2
    Choose payment method(s)Select Cash, Card, UPI, or any combination. For UPI a transaction ID is required.
  • 3
    Apply coupon (optional)Enter a WooCommerce coupon code; it validates and deducts from the total.
  • 4
    Redeem loyalty points or store credit (optional)Toggle on and enter the amount to apply.
  • 5
    Complete SaleClick Checkout. Order is created in WooCommerce, stock is decremented, and a receipt is shown.
If the WooCommerce API is temporarily unavailable, the order is saved locally and synced later — checkout never fails at the counter.

Orders

The Orders page (Admin → Orders) shows all historical orders from WooCommerce and local POS sales.

Finding Orders

  • Search by order ID, customer name, phone, or email.
  • Filter by date range or order status.
  • Click any row to expand order details, items, payment breakdown, and tax.

Order Actions

  • View Receipt: Opens a print-ready receipt for the order.
  • Print Receipt: Sends receipt directly to the browser print dialog.
  • Process Return: Initiates a return/exchange workflow from the order.
  • Update Status: Change order status (e.g., Processing → Completed).

Receipt Contents

Receipts show: store name, date/time, cashier, order ID, itemised list (with MRP, discount, tax per item), subtotal, total discount, total tax, grand total, payment method breakdown, and customer name/phone.

Returns & Exchanges

B-Plus POS supports multi-item partial returns and full exchanges. Navigate to Admin → Returns.

Processing a Return

  • 1
    Search the original orderEnter the order ID, customer phone, or name.
  • 2
    Select items to returnTick the items and enter the return quantity. Refund amount auto-calculates.
  • 3
    Choose return typeRefund: money back to customer. Store Credit: credit added to customer account. Exchange: swap for other items.
  • 4
    Submit returnStock of returned items is increased. If store credit — it's immediately available for the customer's next purchase.

Exchange Flow

After selecting return items, choose Exchange. The exchange credit appears as a balance. The cashier then adds new items to the exchange cart; if the new items cost more the customer pays the difference, if less the balance is issued as store credit.

Return amounts are locked from the original order — cashiers cannot manually override the refund amount.

Return Receipt

After approval, use View Return Receipt or Print Return Receipt from the returns list to get a full return document.

Sessions

Sessions track a cashier's shift — opening float, sales total, and closing balance. Go to Admin → Sessions.

  • Open Session: Cashier enters the opening cash float.
  • During Session: All sales are linked to the active session.
  • Close Session: Enter closing cash count. System shows expected vs. actual and any discrepancy.
  • Session Report: Full breakdown of sales, payment methods, and cash movements per session.
Only one active session per cashier is allowed at a time. A new session cannot be started until the previous one is closed.

Customers

Customer data is stored in the WordPress wp_users and wp_usermeta tables, keeping it in sync with WooCommerce.

Searching Customers

  • Search by name, phone number, or email address from the POS screen or Admin → Customers.
  • Results are deduplicated — the system merges records that share a phone or email.

Creating a Customer

  • Click New Customer in the POS or on the Customers page.
  • Enter name, phone, and/or email. Phone is the primary unique identifier.
  • The customer is created in WordPress/WooCommerce immediately.

Customer Profile

  • Full order history with dates and totals.
  • Current loyalty points balance.
  • Available store credit balance.
  • Address and contact details editable in-place.

Smart Deduplication

When a return or new order is processed, the system checks:

  1. Does the phone number match an existing customer? → Use that record.
  2. Does the email match? → Use that record and add the phone.
  3. No match → Create a new customer.
This prevents the same customer having multiple accounts and ensures their loyalty points and store credit stay unified.

Store Credit

Store credit is a digital balance assigned to a customer, typically issued as a return refund or a manual top-up. Managed via Admin → Store Credits.

How Store Credit Works

  • Stored in pos_store_credit and pos_store_credit_transactions tables.
  • Deduction uses atomic transactions with FOR UPDATE row locking — prevents double-spend even under simultaneous checkouts.
  • FIFO deduction — oldest credit is consumed first.
  • Cannot go below zero — system prevents negative balances.
  • Every deduction and issue is logged with timestamp and order reference for a full audit trail.

Issuing Store Credit

  • Via Return: When a return is processed with "Store Credit" as the refund method, credit is automatically issued.
  • Manual: Admin can add credit to any customer from Admin → Store Credits → Add Credit.

Using Store Credit at Checkout

  • Select the customer in the POS. Available credit balance is shown.
  • Toggle Use Store Credit and enter the amount to apply (up to the order total).
  • Remaining order total must be paid by another method.

Loyalty Points

Loyalty rules automatically award points to customers based on purchases. Configure rules under Admin → Loyalty.

Setting Up Rules

  • Spend-based rule: Award X points for every ₹Y spent. E.g., 1 point per ₹100.
  • Product-specific rule: Award extra points when a specific product is purchased.
  • Rules can have validity dates — seasonal promotions are easy to set up.

Redeeming Points

  • At checkout, if the selected customer has points, a Redeem Points toggle appears.
  • Enter the number of points to redeem. The system converts them to a rupee discount.
  • The redemption is deducted from the customer's points balance immediately.

Viewing a Customer's Points

Open any customer's profile from Admin → Customers to see the current points balance and full points history.

Inventory Management

Inventory is read directly from the WooCommerce database and written back via the REST API. Go to Admin → Inventory.

Stock Levels

  • Current stock for every product is shown in real time.
  • Use inline edits to adjust stock quantities (triggers a WooCommerce stock update).
  • Negative stock values are corrected to 0 in display.

Stock Movements

  • Sale: Stock decreases automatically on checkout.
  • Return: Stock increases automatically when items are returned.
  • Exchange: Returned item stock increases; exchanged item stock decreases.

Inventory Alerts

Go to Admin → Inventory Alerts to see products below a threshold. Configure the low-stock threshold in Settings.

Negative Stock Billing

Enable Allow negative stock billing in Settings to let cashiers sell products even when stock shows zero. Useful for pre-orders or stocktaking gaps.

Barcode Management

Generate and print product barcodes directly from Admin → Barcodes.

  • Select products and generate barcodes based on their SKU.
  • Choose label size and format (Code 128, EAN-13, etc.).
  • Print a sheet of labels for shelf labelling.
  • Barcodes are immediately scannable in the POS search bar after printing.
Make sure each product has a unique SKU in WooCommerce before generating barcodes to avoid scan conflicts.

Discounts & Coupons

B-Plus POS supports three levels of discounts that can be combined.

Types of Discounts

  • Per-Item Discount: Applied by the cashier to individual cart items. Enter as a fixed ₹ amount or a % off the item's price.
  • Cart Discount: A percentage off the entire order, applied before tax calculation.
  • Coupon Code: WooCommerce coupons validated in real time. Fixed amount or percentage. Respects usage limits and expiry dates set in WooCommerce.

Tax on Discounts

Tax is always calculated after all discounts have been applied — ensuring customers and you are billed correctly under GST rules.

Managing Coupons

Create and manage coupons in Admin → Discounts. Set discount type, amount, minimum order value, usage limit, and expiry date.

Custom Tax Rules

Tax in B-Plus POS is entirely controlled by the admin — WooCommerce tax settings are never used. Go to Admin → Tax Rules.

Default Tax Rate

  • Set a global fallback rate (default 18%) that applies to all products with no matching custom rule.
  • Toggle Enable Default Tax off to make unmatched products tax-free (0%).
  • The rate is saved instantly; all new sales use it immediately.

Custom Tax Rules Engine

  • Enable the rules engine to define category-specific or price-range-specific rates.
  • Each rule has a name, tax rate %, and one or more product categories (multi-select checkboxes).
  • Rules support price range conditions — e.g., only apply this rate for items priced ₹1000–₹5000.

Category Hierarchy

Tax rules automatically inherit down the category tree. If you assign a rule to "Clothing", it also applies to "Shirts", "Pants", and any other child categories — no need to assign each child separately.

Rule Priority

  1. Matched custom rule → rate is strictly applied, cannot be overridden.
  2. No match → Default Tax Rate applies.
  3. Default Tax disabled → 0% tax.
Once a custom rule matches a product, its rate cannot be overridden anywhere in the checkout flow — this is intentional for GST compliance.

GST Reports & E-Invoice

GST Reports

Navigate to Admin → GST Reports to generate tax reports for filing.

  • Filter by date range to generate GSTR-1 style reports.
  • Breakdown by HSN/SAC code, tax rate slab, and total taxable value.
  • Export as CSV for filing with your CA or GST portal.
  • HSN/SAC code lookup tool — search by product category or description.

E-Invoice

Navigate to Admin → E-Invoice for IRP (Invoice Registration Portal) compatible invoice generation.

  • Generate IRN (Invoice Reference Number) for B2B transactions.
  • QR code embedded in e-invoice for verification.
  • Download invoice as PDF for dispatch with goods.
Ensure your GSTIN is configured in Admin → Settings before generating GST reports or e-invoices.

Payment Methods

Configure which payment methods are available at checkout. Go to Admin → Payments.

Supported Methods

💵 Cash 💳 Card 📱 UPI 📲 Paytm 💚 PhonePe 🔵 GPay 🏦 Bank Transfer 🎫 Store Credit

UPI / QR Code Payments

  • Configure your UPI ID in Admin → Payments → UPI Settings.
  • At checkout, a QR code is shown to the customer for scanning.
  • Cashier must enter the Transaction ID after customer pays — this is mandatory and validated.

Split Payments

Multiple payment methods can be combined in a single transaction. E.g., ₹500 cash + ₹700 UPI + ₹300 store credit = ₹1500 total. The system validates that all amounts sum to the order total before completing checkout.

Receipt Settings

Customise what appears on printed and digital receipts. Go to Admin → Receipt Settings.

  • Show MRP: Toggle display of the Maximum Retail Price per item.
  • Show Sale Price: Show discounted/sale price separately.
  • Show Item Discount: Display the per-item discount amount.
  • Show Tax per Product: Show individual GST amounts per line item.
  • Store Header: Business name, address, GSTIN, and phone for the receipt header.
  • Footer Message: Custom thank-you or return policy text at the bottom of receipts.
Receipt settings apply to both printed receipts and WhatsApp receipt messages.

Sales Analytics

Deep-dive into your sales data at Admin → Sales Analytics.

Available Reports

  • Sales Trend: Daily, weekly, or monthly revenue chart with order count overlay.
  • Hourly Heatmap: Identify peak trading hours across the week.
  • Top Products: Best-selling products by revenue and quantity.
  • Category Sales: Revenue breakdown by product category.
  • Payment Methods: Pie chart of cash vs. card vs. UPI vs. other.
  • Customer Stats: New vs. returning customers over time.

Date Filtering

All charts respond to the date range picker at the top of the page. Pre-sets: Today, Yesterday, Last 7 days, Last 30 days, This Month, Custom range.

BI Dashboard

The Business Intelligence dashboard (Admin → BI Dashboard) gives a high-level executive view of the business.

  • Revenue KPIs with comparison to previous period.
  • Customer acquisition and retention metrics.
  • Inventory value and turnover rate.
  • Top-performing categories and cashiers.
  • Refund and return rate trends.

Store Performance

Real-time store metrics at Admin → Store Performance.

  • Live sales total for today with auto-refresh.
  • Orders placed this hour / today / this week.
  • Average order value and basket size.
  • Current open sessions and cashier activity.

User Management

Manage POS staff accounts at Admin → Users. Only Admins have access.

  • Add User: Name, username, password, role (Admin / Stock Manager / Cashier), and assigned store.
  • Edit User: Change any detail including password and role.
  • Delete User: Removes POS access. Does not affect WordPress user account.
  • Role Assignment: Each user is assigned exactly one role which controls their menu access.
There must always be at least one Admin account. The system prevents deletion of the last Admin user.

Multi-Store Management

Run multiple physical locations from one B-Plus POS installation. Configure at Admin → Stores.

  • Add stores with name, address, GSTIN, and contact details.
  • Assign cashiers and stock managers to specific stores.
  • Each store maintains its own session history and receipt header.
  • Consolidated reports show data across all stores with per-store filters.
  • Stock levels are per-store when WooCommerce multi-location inventory is enabled.

WhatsApp Integration

Send automated messages to customers via WhatsApp. Configure at Admin → WhatsApp.

Supported Providers

Twilio Gupshup MSG91 Wati.io

Automated Messages

  • Order Confirmation: Sent after successful checkout with order ID and receipt link.
  • Return Confirmation: Sent when a return is approved.
  • Store Credit Notification: Sent when credit is added to a customer's account.

Bulk Messaging

Use the Broadcast feature to send promotional messages to all customers or a filtered segment (e.g., customers who purchased in the last 30 days).

Setup

  1. Choose your provider from the dropdown.
  2. Enter the API key / access token from your provider dashboard.
  3. Configure message templates (supports order placeholders like {{order_id}}, {{customer_name}}).
  4. Toggle individual notification types on or off.

Automation

Create automated workflows triggered by sales events at Admin → Automation.

  • Low Stock Alert: Trigger a WhatsApp or email notification when stock drops below threshold.
  • Birthday Reward: Automatically award store credit or loyalty points on customer birthdays.
  • Inactive Customer: Send a re-engagement message to customers with no purchase in X days.
  • Large Order Bonus: Award bonus loyalty points for orders above a defined amount.

Each automation rule has: TriggerConditionAction logic.

System Settings

Global configuration at Admin → Settings.

General

  • Store name, address, phone, email, GSTIN.
  • Currency symbol and format.
  • Timezone.

POS Options

  • Allow Negative Stock Billing: Let cashiers sell when stock = 0.
  • Default Tax Rate: Also configurable here; synced with Tax Rules page.
  • Low Stock Threshold: Number below which an item triggers inventory alerts.
  • Points Conversion Rate: How many rupees each loyalty point is worth at redemption.

WooCommerce API

  • WooCommerce store URL.
  • Consumer Key and Consumer Secret (from WooCommerce → Settings → Advanced → REST API).

Database

  • Remote MySQL host, database name, username, and password.
  • Connection is tested before saving.

DB Sync

The DB Sync module (Admin → DB Sync) incrementally syncs product and customer data from your remote WooCommerce database to a local standalone POS database.

Why Use DB Sync?

  • Faster product loading when the remote server is slow or intermittently available.
  • Allows offline-capable POS operation using local data.

How It Works

  • Uses a watermark strategy — only records modified since the last sync are transferred.
  • Sync can be triggered manually from the page or scheduled via a cron job.
  • Progress is shown in real time during sync.

Switching Database

Use DB Switch to point the POS at either the remote WooCommerce database or the local synced copy. Test connection before switching.

Always perform a full sync before switching to the local database to ensure data is current.