to select ↑↓ to navigate
X POS

X POS

Customer Management & Loyalty Programs

X POS provides built-in customer management with search, creation, editing, and a complete loyalty program integration.


Customer Selection

Every transaction in X POS is associated with a customer. If a Default Customer is set in the POS Profile (e.g., "Walk-in Customer"), it's automatically selected for new transactions.

Searching Customers

  1. Click the customer area in the cart header, or press F6
  2. The Customer Selection Dialog opens
  3. Type in the search box — searches across customer name, phone number, and email
  4. Results appear in real-time (300ms debounce)
  5. Each result shows:
  • Avatar — Customer initials or photo
  • Name — Customer name
  • Phone — Mobile number
  • Email — Email address
  1. Use ↑/↓ arrow keys to navigate results
  2. Press Enter or click to select

In Electron/offline mode:

  • Customer data is pre-cached in the local database
  • Search works against the local cache
  • If the local search fails, it falls back to the server (if online)

Creating New Customers

Inline Creation (From POS)

  1. Open the Customer Selection Dialog (F6)
  2. Click "Create New"
  3. Fill in the customer form:
Field Required Description
Customer Name ✅ Yes Full name of the customer
Tax ID No National/tax identification number
Mobile Number No Contact phone number
Email Address No Email for digital receipts
Address No Street address
City No City
Country No Country (searchable dropdown)
Customer Group ✅ Yes Classification group (e.g., "Individual", "Corporate")
Territory ✅ Yes Geographic territory (e.g., "All Territories")
Referral Code No Referral tracking code
Birthday No Date of birth
Gender No Gender selection
  1. The "Create & Select" button is enabled when all required fields (Name, Group, Territory) are filled
  2. Click "Create & Select" to create the customer and immediately set them for the current transaction

The Customer Group, Territory, and Country dropdowns are:

  • Loaded from the server on first use
  • Cached locally for faster subsequent access
  • Available offline in Electron mode

Auto Referral Code

If "Auto Create Referral for New Customers" is enabled in POS Profile, a referral code is automatically generated when creating a new customer.


Customer Information

After selecting a customer, the system fetches and displays:

  • Customer Name and avatar in the cart header
  • Customer Balance — Outstanding balance (if "Show Customer Balance" is enabled)
  • Credit Limit — Available credit limit
  • Loyalty Information — Enrolled program, points balance

Clicking the customer avatar or edit icon opens additional customer details.


Loyalty Programs

X POS integrates with ERPNext's Loyalty Program feature, allowing customers to earn and redeem points.

Accessing the Loyalty Dialog

  1. Select a customer in the cart
  2. The Loyalty button appears (or access via the customer section)
  3. Click to open the Loyalty Dialog

Loyalty Dialog — Enrolled Customer

If the customer is enrolled in a loyalty program, the dialog shows:

  • Enrolled Badge — Green badge with the program name
  • Points Balance — Large display of available loyalty points
  • Points Value — Monetary equivalent of the points (based on conversion factor)
  • Current Tier — The customer's loyalty tier (if tiered program)
  • Unenroll Button — Red button to remove the customer from the program

Loyalty Dialog — Not Enrolled

If the customer is not enrolled:

  • Empty State — Gift icon with "Not enrolled in any loyalty program" message
  • Available Programs List — Buttons for each available loyalty program showing:
    • Program name
    • Conversion factor (e.g., "1 point = $0.01")
    • Expiry duration
    • Available tiers
  • Enroll Button — Select a program and click "Enroll" to register the customer

Enrolling a Customer

  1. Open the Loyalty Dialog for the customer
  2. Select a loyalty program from the list
  3. Click "Enroll"
  4. The customer is registered in ERPNext's loyalty system
  5. They start earning points with their next purchase

Unenrolling a Customer

  1. Open the Loyalty Dialog for an enrolled customer
  2. Click the red "Unenroll" button
  3. Confirm the action
  4. The customer is removed from the loyalty program
  5. Accumulated points may be forfeited (depending on program settings)

Earning Points

Points are automatically awarded after invoice submission based on:

  • The loyalty program's earning rules
  • The purchase amount
  • Any bonus points from POS Offers with "Loyalty Point" offer type

Redeeming Points

Points are redeemed during payment:

  1. Open the Payment Dialog (F4)
  2. The loyalty section shows available points and their value
  3. Click "Redeem Points"
  4. Enter the number of points to redeem
  5. The monetary value is calculated and deducted from the total
  6. Click "Apply"

See the Processing Payments page for detailed redemption steps.


Customer Discounts

If "Apply Customer Discount" is enabled in POS Profile:

  • The system checks if the selected customer belongs to a customer group with a specific pricing rule
  • Customer group discounts are automatically applied to applicable items
  • This works alongside POS Offers and manual discounts

If "Force Price From Customer Price List" is enabled:

  • The system overrides the standard selling price list with the customer's specific price list
  • This is useful for wholesale customers or VIP pricing

Sales Person Assignment

X POS supports assigning a sales person to transactions:

  • If Allowed Sales Persons are configured in the POS Profile, the sales person dropdown appears
  • Select the sales person responsible for this transaction
  • The sales person is stored with the invoice for commission tracking and reporting
  • Sales persons are filtered based on the POS Profile's allowed list
Last updated 2 months ago
Was this helpful?
Thanks!