Point of Sale (POS)
Use the POS to sell over the counter. Frappe Books records each sale as a sales invoice and records each payment. Each sale belongs to a POS shift, which starts and ends with a count of the cash in the drawer.
Turn On POS
- Click Setup > Settings in the sidebar.
- In the General tab, turn on Enable Inventory.
- Click Save and click Yes to reload Frappe Books.
- Open Settings again. In the Inventory tab, turn on Enable Point of Sale.
- Click Save and click Yes to reload Frappe Books.
POS now shows in the sidebar, and Settings has a POS Settings tab. Only a Books Manager or a System Manager can change the POS settings. You cannot turn off POS while a shift is open.
Set Up POS
POS Settings
The setup wizard fills the inventory and the accounts in the POS Settings tab. Check them before your first sale.

| Field | Description |
|---|---|
| Inventory | The location that POS sales take stock from. |
| Counter Cash Account | The cash account of the drawer. Cash payments for POS sales go to this account. |
| Write Off Account | The expense account for the cash difference when you close a shift. |
| Default Account | The receivable account of POS invoices. |
| POS UI | Classic edits the values in the cart row. Modern opens a keypad for each value. |
| Item Visibility | Inventory Items (the default), Non-Inventory Items, or All Items. |
| Ignore Pricing Rule | POS sales do not use pricing rules or coupons. |
For scale barcodes that hold the item code and the weight in grams, turn on Weight Enabled Barcode. Then fill the Barcode section. This section shows only when Enable Barcodes is on.
POS Profile
A POS profile keeps the settings of one counter, such as its Inventory, POS Customer, and receipt template. When you select a profile in the POS Profile field, its values replace the same values in POS Settings and in the Defaults tab. The whole site uses one profile at a time.
POS Defaults
The Defaults tab of Settings has the POS Customer, the button colors, and the POS Print Template for receipts. It also has Cash Denominations, the notes and coins that the shift dialogs count. A POS profile replaces these values, except Cash Denominations.
Open a Shift
- Click POS in the sidebar. If no shift is open, the Open POS shift dialog opens.
- In Cash in drawer, enter the Count of each note and coin.
- In Opening amounts, enter the amount of each other payment method, if any.
- Click Open shift.
There is only one open shift for the whole site. Frappe Books submits a journal entry that moves the opening cash from the Cash account to the Counter Cash Account. When these accounts are the same, there is no journal entry.
Make a Sale
- To add an item, click it, or scan or type its code and press
Enter. - To sell to a different customer, select the Customer at the top of the cart.
- To change a quantity, click the plus or minus button in the row. To edit other values, click the item name.
- Click Pay.
- In Payment method, click a method, such as Cash.
- Check Amount paid. For a method that is not cash, enter Ref. / Cheque No.
- Click Pay, or click Pay and print to also print the receipt.


Frappe Books submits the invoice and a payment, and clears the cart. Inventory items ship from the POS inventory.
- You cannot add an inventory item that has no stock.
- You can submit a POS invoice only while a shift is open.
- If the customer gives more cash, the dialog shows Change to return. The payment records only the amount due.
- To take less than the full amount, turn on Enable Partial Payment in the General tab of Settings. Submit unpaid submits the invoice without a payment.
To keep a sale for later, click Hold. To open it again, click Held in the page header. All POS invoices also show in Sales Invoices.
Return a Sale
Returns need Enable Invoice Returns in the General tab of Settings.
- Click Return in the page header.
- Click the invoice, and then click Create return. The cart shows its items with negative quantities.
- If the customer returns only some items, change the quantities or remove rows.
- Click Refund.
- Select the payment method, and click Refund.
To submit the return without a refund, click Submit without refund.
Coupons, Loyalty Points, and Price Lists
The Coupon, Loyalty, and Price list buttons above the totals show only when their feature is on. Coupons and loyalty points also need a customer and at least one item. If a change to the cart makes a coupon not apply, Frappe Books removes the coupon and shows a warning. For more information, see Coupon Code, Loyalty Program, and Price List.
Item Enquiry
Use an item enquiry to record an item that a customer asks for. The Item enquiry button shows in the page header when Enable Item Enquiry is on.
- Click Item enquiry.
- Select the Item, and enter a Description.
- Click Submit.
To see all enquiries, search for Item Enquiry in Quick Search.
Close the Shift
- Click Close shift in the page header.
- In Count the drawer, enter the Count of each note and coin.
- In Closing amounts, enter the Closing amount of each payment method that is not cash.
- Check the Difference of each method.
- Click Close shift.

Expected is the opening amount, plus the POS payments in the shift, minus the refunds. The device must be online to close a shift. Frappe Books submits a journal entry that moves the counted cash from the Counter Cash Account to the Cash account. A cash difference goes to the Write Off Account.
Use POS on a Phone
- The cart bar at the bottom shows the number of items and the grand total. Tap it to open the cart.
- In the cart, tap a row to change its Rate and Discount %. To change the batch, the serial numbers, or the unit, use a computer.
- The … button in the header has the other actions, such as Return Sales Invoice and Close POS shift.
- Tap the back arrow in the header to leave the POS.

Keyboard Shortcuts
Use Cmd instead of Ctrl on macOS.
| Key | Action |
|---|---|
Hold Q and type digits |
Set the quantity of the selected row, or of the last row |
Ctrl + Shift + H |
Open the Invoices dialog |
Ctrl + Shift + S |
Hold the sale |
Ctrl + Shift + P |
Open the payment dialog |
Ctrl + Shift + Backspace |
Close the open dialog. If no dialog is open, clear the cart. |