In the school season parents often pay before the books are ready: Rs 10,000 today for a set that is collected over the next two weeks. That money is not a sale yet. BooksPOS keeps it as an advance: money held for the customer, owed to them until it is used on a bill or paid back. This guide covers taking an advance, using it at the till, refunding it and keeping track of every advance held.
How to take an advance
- Open Khata (customers) and find the customer by Name or phone, or add them with New customer. A phone number makes them easy to find when they come back.
- Choose Take advance ("Money paid now for goods collected later; held until used on a bill or refunded").
- Type the Amount and choose how it was paid: cash (through this counter's drawer), bank transfer or cheque, card, EasyPaisa or JazzCash. Add a reference or a note if useful.
- Choose Record advance.
BooksPOS shows, for example, "MAIN-DP000003: advance of Rs 10,000.00 from Ayesha. Advance held: Rs 10,000.00." The customer's panel now shows Advance held next to what they owe, and the statement gets an advance line.
Cash taken as an advance goes into the drawer and is counted at the shift close; bank, card and wallet advances do not touch the drawer.
How to use an advance on a bill
- At the till, press F4 and choose the customer.
- Put the items on the bill as usual, and press F9.
- Click From advance. It fills in the advance or what is due, whichever is smaller.
- If the bill is larger than the advance, put the rest on cash, a wallet or khata.
- Choose Complete sale.
With a Rs 10,000 advance and a Rs 4,500 bill, the bill is paid from the advance and Rs 5,500 stays held. No cash moves: the drawer already counted the Rs 10,000 on the day it was paid, so it is not counted twice.
From advance is greyed out when no customer is chosen, or when the customer holds no advance.
Paying from an advance. Rs 6,225 from the parent's advance and the rest in cash, on one bill. Screenshot of the current build (28 Sep 2026), synthetic demo data.
Advances and orders
An advance often goes together with an order: the parent pays ahead, and the books not yet in stock are ordered for them with F7 (or from the School set window). When they collect, Hand over on Pending deliveries makes the bill, which can be paid From advance. See Orders and pending deliveries.
How to refund an advance
- In Khata (customers), choose the customer.
- Choose Refund advance. The amount starts as everything they hold.
- Choose how it is paid back, and Refund.
Refunding needs the advance-refund permission, which owners, managers and accountants have. Cashiers can take advances but not refund them. A cash refund comes out of the counter's drawer and is counted at the shift close.
A return of goods paid from an advance can also go back onto the advance: choose Advance under Refund by in the return. See Returns, reprints and A4 invoices.
Keeping track of advances
- The customer's statement in Khata shows each advance received, used and refunded, apart from what they owe.
- Reports › Daily lists Advances held for customers: each customer with their phone and what was Received, Used, Refunded and is still Held. "Money taken in advance and not yet used on a bill or refunded. It is owed to the customer, not income."
- The shift close shows "Cash advances taken less refunded" as its own line, so the drawer count makes sense.
An advance held for a parent. Money taken ahead is held for the parent, not counted as a sale. Screenshot of the current build (28 Sep 2026), synthetic demo data.
Rules worth knowing
- An advance is not income. It is money the shop owes the customer until goods are billed. The profit and loss report does not count it as sales.
- An advance is not khata. A customer can hold an advance and owe money at the same time; the two are shown apart. A khata payment cannot be larger than what the customer owes: BooksPOS suggests recording the rest as an advance.
- Advances belong to one customer and one branch.
- Advances held before BooksPOS are taken as new advances on the first day: an opening balance is money the customer owes, not money held for them.
Common questions
The parent paid by JazzCash. Can I take that as an advance?
Yes. Choose JazzCash under how it was paid, and add the transaction ID as the reference.
Can an advance be used at another branch?
No. Advances, like khata, are kept by the branch that took them.
How do I give back what is left at the end of the season?
Use Refund advance. It pays back what is held, in cash or another way, and the advance goes to zero.
Why did the drawer not change when a bill was paid from the advance?
Because the cash came in when the advance was taken. Paying from the advance only moves money the shop already holds for the customer.
Related guides
Last updated 30 September 2026. Still stuck? Contact us.

