> For the complete documentation index, see [llms.txt](https://docs.xenoraa.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xenoraa.com/xenoraa-tenant-onboarding-guide/e-commerce-and-retail-pos.md).

# E-Commerce & Retail POS

## E-Commerce & Retail POS 🛒

Xenoraa bridges physical and digital retail. The **E-Commerce & Point-of-Sale (POS)** modules allow you to sell products online via a headless web storefront and in-person via an interactive, touchscreen-friendly retail cash register — all powered by a single, unified inventory database.

***

### 🏬 Retail Point-of-Sale (POS)

The POS module is optimized for fast, in-person transactions. It is designed to run on tablets, desktops, or dedicated POS terminals.

```
+-------------------------------------------------------------------------+
| [POS Terminal]  Cashier: Anjali      Session: #104      [Search Items]  |
+-------------------------------------------------------------------------+
| [Item A]  Rs. 150  |  Customer: Walk-in Client                          |
| [Item B]  Rs. 300  |  ------------------------------------------------  |
| [Item C]  Rs.  50  |  1x Item A ........................... Rs. 150.00  |
|                    |  2x Item B ........................... Rs. 600.00  |
| [Category Filters] |  ------------------------------------------------  |
| [Apparel] [Drinks] |  Subtotal ............................ Rs. 750.00  |
| [Snacks]  [Active] |  GST (18%) ........................... Rs. 135.00  |
|                    |  **Grand Total ....................... Rs. 885.00**|
|                    |  ------------------------------------------------  |
|                    |  [ CASH ]      [ CARD ]      [ UPI ]      [ PAY ]  |
+-------------------------------------------------------------------------+
```

#### 👤 Step-by-Step POS Walkthrough

**1. Opening a POS Session**

Before processing sales, a cashier must open a secure session.

* Navigate to `POS > Terminal` or `POS > Sessions`.
* Click **Open New Session**.
* Enter the **Opening Cash Balance** (the amount of float cash in your physical drawer).
* Click **Start Session**. This locks the register to the active cashier.

**2. Processing a Sale**

* **Adding Items:** Use a barcode scanner or search by name/SKU to add products to the cart. You can also click category filters (e.g., *Beverages*) to quickly locate items.
* **Selecting a Customer:** By default, sales are assigned to a generic *Walk-in Client*. You can search for or create a CRM Contact to assign the sale to a specific customer (enabling loyalty tracking and credit sales).
* **Applying Discounts:** Apply line-item discounts or order-wide discount coupons.
* **Checkout & Payment:** Click **Pay**. Select the payment method:
  * *Cash:* Enter the cash received; the system calculates the change due.
  * *Card:* Process via your external card terminal and record the reference.
  * *UPI/QR:* Display your UPI QR code for the customer to scan and pay.
* **Printing Receipts:** Once payment is confirmed, the system generates a clean, thermal-printer-optimized receipt. Click **Print** or select **Email Receipt** to send it digitally.

**3. Closing a POS Session**

At the end of a shift, the cashier must close the session and reconcile the drawer.

* Click **Close Session**.
* Enter the **Closing Cash Balance** (actual physical cash in the drawer).
* Xenoraa automatically calculates the **Expected Cash Balance** (Opening Float + Cash Sales - Cash Refunds).
* Any discrepancy (cash over/short) is highlighted for manager review.
* Click **Confirm & Post Journal Entries** to automatically update your general ledger and lock the session.

***

### 🌐 Headless E-Commerce Storefront

Xenoraa includes a built-in, headless E-Commerce storefront engine. This allows you to publish your product catalog online, accept customer orders, and process payments without needing third-party platforms like Shopify.

#### 👤 Step-by-Step E-Commerce Walkthrough

**1. Configuring Your Storefront**

* Navigate to `E-Commerce > Settings`.
* Upload your store logo, banner images, and set your business contact details.
* Configure your **Shipping Methods** (flat rate, weight-based, or free shipping thresholds) and **Payment Gateways** (Razorpay, Stripe, or Cash on Delivery).

**2. Publishing Products Online**

* Navigate to `Inventory > Products`.
* Open any product and check the **Publish to E-Commerce** box.
* Upload high-resolution product images, write a customer-friendly description, and specify the stock available for online sales.
* The product will instantly appear on your public storefront (e.g., `yourcompany.com/store`).

**3. Managing Online Orders**

When a customer places an order online, it enters your fulfillment pipeline.

* Navigate to `E-Commerce > Orders`.
* Track orders by status: *Pending Payment*, *Processing*, *Shipped*, *Completed*, or *Cancelled*.
* **Fulfillment:** Once packaged, click **Mark Shipped** and enter the tracking number and carrier (e.g., *Blue Dart*, *Delhivery*). This automatically triggers a shipment notification email to the customer.
* **Inventory Sync:** When an online order is placed, Xenoraa instantly decrements your central product stock, preventing overselling on your retail POS terminals.

**4. Coupons & Marketing**

Launch promotional campaigns to boost online sales.

* Navigate to `E-Commerce > Coupons`.
* Click **Create Coupon**. Define a unique promo code (e.g., `SUMMER20`).
* Select the discount type (percentage discount or flat amount) and value.
* Set usage limits (e.g., max 100 uses) and expiration dates.

***

### 💡 Pro-Tips for Retailers

* **Offline POS Resiliency:** The Xenoraa POS terminal caches your product catalog locally in the browser, allowing you to continue scanning items and generating receipts even if your internet connection drops temporarily. Sales sync back to the server once connection is restored.
* **Barcode Scanning:** For the fastest checkout experience, connect a standard USB barcode scanner. The search input field automatically detects barcode inputs and adds items to the cart instantly.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xenoraa.com/xenoraa-tenant-onboarding-guide/e-commerce-and-retail-pos.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
