Selling stationery by the piece, the dozen and the box without double counting
Pencils come in boxes of 12, markers in boxes of 10, paper in reams of 500, and customers buy all of them loose too. How to set pack sizes per item so stock stays exact whichever way you sell.
A stationery counter sells the same pencil three ways: one piece to a child, a dozen to a parent, a box to a school. Each box holds a different number depending on what is inside it: 12 pencils, 10 markers, 20 erasers, 500 sheets in a ream. If the software thinks every "box" is a dozen, or counts a box and its pieces as separate stock, the shelf and the records drift apart within a week.
BooksPOS handles this with pack sizes set per item, and stock kept in the smallest unit.
Pieces first, packs on top
Every item has a base unit, usually the piece. Then you add the packs you sell it in, each with the number of pieces it holds for that item:
| Item | Base unit | Packs |
|---|---|---|
| HB pencil | piece | dozen = 12, box = 12 |
| Marker | piece | box = 10 |
| A4 paper | sheet | ream = 500, carton = 2,500 |
| Eraser | piece | box = 20 |
These are examples of how you might set your own items; the numbers are whatever your supplier's packs actually hold. BooksPOS never assumes every box holds a dozen.
Stock is kept in pieces. Sell 2 boxes and 3 loose pieces from 10 boxes of 12 pencils, and the shelf shows 93 pieces: 120 − 24 − 3. A quantity that does not convert exactly is refused rather than rounded, so a mistyped pack size shows up instead of hiding in the stock.
A price for every pack
A box often costs less than twelve single pieces. Each unit of an item has its own retail and wholesale price, with the price history kept, so changing the box price today never rewrites yesterday's bills.
For bigger buyers there are two more tools:
- Quantity breaks: a lower price per unit from a set quantity, for example from five boxes.
- Price lists: a named, dated list for a school or a group of shops, with their own prices or a discount off a brand or category.
Dated promotions can run for walk-in customers, such as a discount on a brand for the back-to-school weeks, with a first and last day. The till takes the lowest price that applies, nothing stacks, and every bill line says where its price came from.
Every barcode on the box
An item can have several barcodes: the maker's barcode on the piece, the barcode on the carton, and your own old shop labels. Each barcode belongs to a unit, so scanning the box bills a box, and scanning the piece bills a piece. Items with no barcode at all can get a label printed with their own code (labels are built and checked with barcode-reading software, not yet printed on a real printer).
Stationery details
To tell similar items apart, stationery items carry brand, model, size, colour, pages, paper GSM, ruling, variant and category, plus the shelf or rack. A 200-page register and a 300-page one are two items, never one.

Units, prices and barcodes on one item. Screenshot of the current build (26 Sep 2026), synthetic demo data.
Setting it up from your old list
Items can be imported from CSV with their packs and opening stock. Opening stock is entered in pieces, with a unit cost, so stock value is right from the first day. How the import works.
Books and stationery on one bill
A reader, an Urdu book and a box of pencils go on the same bill, each in its own unit, paid in one go or split across cash, card, EasyPaisa and JazzCash.
Common questions
What if two brands of marker come in different box sizes?
They are different items, and each has its own box size. Pack sizes belong to the item, not to the word "box".
Can I sell half a box?
Sell it as loose pieces. A quantity that does not convert exactly into pieces is refused rather than rounded.
Why is stock shown in pieces?
Because pieces are the one unit every sale can be expressed in. The till converts boxes and dozens into pieces, so selling in any unit keeps one exact count.
Can a box have a different price from twelve single pieces?
Yes. Each unit has its own retail and wholesale price.
Can one item have more than one barcode?
Yes: the piece barcode, the carton barcode and your own labels, each tied to its unit.
More on the stationery POS page. BooksPOS is in development and has not been used in a real shop yet.
Founder & CEO, Innobrains Technologies
Arshad Ali is the founder and CEO of Innobrains Technologies, the company that is building BooksPOS: point-of-sale, stock and khata software for book depots and stationers in Pakistan.
Run your book depot on BooksPOS
Billing, editions and ISBNs, school course sets, khata and advances, on the shop's own PC without internet. In development: pilot shops set it up with us.
Related guides
ISBN check digits explained, and why a wrong ISBN is refused
The last character of every ISBN is worked out from the others. Here is how the ISBN-10 and ISBN-13 check digits are calculated, how the two forms convert, and why BooksPOS refuses a wrong ISBN instead of guessing.
27 Sep 2026 · 5 minKeeping book editions apart, so the shelf and the records agree
When a school changes the edition of a reader, the old and new copies are different stock at different prices. How BooksPOS keeps each edition as its own item, from import to the till to publisher returns.
27 Sep 2026 · 5 minSending unsold books back to a publisher without losing track of the claim
A box of books going back to a publisher is money you are owed until their credit note arrives. How BooksPOS records a publisher return as a claim, settles it with the credit note, and handles a shortfall.
27 Sep 2026 · 4 min