> 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-help-center/pos-and-e-commerce-how-to-guides.md).

# POS & E-Commerce — How-To Guides

## POS & E-Commerce — How-To Guides

The POS (Point of Sale) module powers your retail counter operations, while the E-Commerce module manages your online storefront. Both are tightly integrated with your inventory and accounts modules so every sale is automatically recorded.

***

### Point of Sale (POS)

#### How do I open a POS session?

1. Go to **POS → Terminal** from the sidebar.
2. Click **Open Session** and enter your **Opening Cash Balance** (the amount of cash in the till at the start of the shift).
3. Click **Confirm & Open**. Your POS terminal is now live and ready to process sales.

#### How do I process a sale at the POS terminal?

1. With a session open, search for products using the search bar or browse by category.
2. Click a product to add it to the cart. Adjust the quantity using the **+/-** buttons.
3. Apply a **Discount** (percentage or fixed amount) if needed.
4. Click **Charge** to proceed to payment.
5. Select the payment method: **Cash**, **Card**, **UPI**, or **Split Payment**.
6. For cash payments, enter the amount tendered and the terminal will calculate the change due.
7. Click **Complete Sale**. A receipt is generated and the sale is recorded in inventory and accounts automatically.

#### How do I close a POS session?

1. Click the **Close Session** button in the POS terminal header.
2. Enter your **Closing Cash Balance** (count the physical cash in the till).
3. Xenoraa will show you the **Expected Cash** (opening balance + cash sales) vs your **Actual Cash** and flag any discrepancy.
4. Click **Confirm & Close**. The session summary (total sales, payment method breakdown, discrepancy) is saved and can be exported as a PDF report.

#### How do I apply a discount or coupon at POS?

In the cart view, click the **Discount** button to apply a percentage or fixed discount to the entire order. To apply a coupon code, click **Apply Coupon**, enter the code, and the discount will be calculated automatically based on the coupon rules.

***

### E-Commerce Storefront

#### How do I add a product to my online store?

1. Go to **E-Commerce → Products** and click **+ Add Product**.
2. Enter the product name, description, price, and upload product images.
3. Set the **Stock Quantity** and enable **Track Inventory** if you want Xenoraa to automatically reduce stock when orders are placed.
4. Set the product **Category** and **Tags** to help customers find it.
5. Toggle **Published** to make the product visible on your storefront.
6. Click **Save Product**.

#### How do I create a discount coupon for my store?

Go to **E-Commerce → Coupons** and click **+ New Coupon**. Enter a coupon code (e.g., `SUMMER20`), select the discount type (Percentage or Fixed Amount), enter the discount value, set an expiry date, and optionally set a maximum usage limit. Click **Save Coupon**. Customers can apply the code at checkout.

#### How do I process and fulfil an online order?

1. Go to **E-Commerce → Orders** to see all incoming orders.
2. Click an order to view the details (customer info, items, shipping address, payment status).
3. Once you have packed the order, click **Mark as Shipped** and enter the tracking number and courier name.
4. The customer will receive an automatic email notification with their tracking details.
5. Once delivered, click **Mark as Delivered** to complete the order.

#### How do I manage product categories?

Go to **E-Commerce → Categories** to create, edit, or reorder your product categories. Categories appear in your storefront's navigation menu and help customers browse your products efficiently.

***

### Inventory Management

#### How do I add a new product to inventory?

Go to **Inventory → Products** and click **+ New Product**. Enter the product name, SKU, category, unit of measure, purchase price, selling price, and GST rate. Set the **Opening Stock** quantity and **Reorder Level** (the quantity at which Xenoraa will alert you to reorder). Click **Save Product**.

#### How do I create a purchase order to restock inventory?

Go to **Inventory → Purchase Orders** and click **+ New PO**. Select the vendor, add the products and quantities you want to order, set the expected delivery date, and click **Save PO**. When the stock arrives, open the PO and click **Receive Stock** to update your inventory levels.

#### How do I track low-stock alerts?

Go to **Inventory → Dashboard**. The **Low Stock** widget shows all products that have fallen below their reorder level. You can click any product to create a purchase order directly from the alert.

***

### Troubleshooting

**Why is a product not appearing on my storefront?** Check that the product is set to **Published** in the E-Commerce product settings. Also verify that the product has a price set and is not out of stock (if "Hide when out of stock" is enabled).

**Why does the POS show a product as out of stock when I have inventory?** The POS inventory is synced with the main Inventory module. Go to **Inventory → Products**, find the product, and check its current stock quantity. If the quantity is 0 or negative, you need to receive stock via a purchase order or a manual stock adjustment.

**How do I refund a POS sale?** Open the original sale from **POS → Sales History**, click **Refund**, select the items to refund and the refund method (Cash or original payment method), and click **Process Refund**. The stock will be automatically returned to inventory.


---

# 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-help-center/pos-and-e-commerce-how-to-guides.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.
