Current bill
| Item | Qty | Amount |
|---|
Products and stock
| SKU | Product | Type | Category | Avg cost | Price (incl. GST) | Profit | GST | In stock | Reorder at | Order qty | Expiry | Value (cost) |
|---|
New purchase (goods received)
| Product | Qty | Free | Rate | Disc | Taxable | GST | Net cost | Sells at | Profit | Amount |
|---|
Compare before you buy
Pick a supplier and a product. You will see what you paid before and what profit it gave.
Recent purchases
| # | Date | Supplier | Invoice | Paid by | Gross | Discounts | Free units | Taxable | GST | Total |
|---|
Suppliers
Add the GSTIN to record input tax credit. Same state as the shop: CGST + SGST; other state: IGST.
| Name | Phone | GSTIN | GST on purchases | You owe | Return terms | Credit and deliveries |
|---|
Supplier price lists (slab rates)
The rate, discount and free goods fill in by themselves on purchases and purchase orders, from the highest "from qty" the quantity reaches.
| Product | From qty | Rate | Disc | Scheme | Valid | Net cost |
|---|
Customers and khata
| Name | Phone | Amount due |
|---|
Customer returns
No bill with the customer? Find it by their name or phone (customers with an account), an item they bought, the UPI or card reference, or the bill amount. If it cannot be found at all: Return without a bill (refund at the lowest price sold in the last 90 days).
Every item returned needs a reason. Returned items go back on sale, except damaged ones (written off as wastage) and expired ones (they go to Stock > Expiry area). Cash refunds come out of the day's cash register.
Recent returns
Repack: loose ⇄ packets
Buy loose goods under Purchases. Make the packet items under Inventory, “Add a new item”, “Packets I make”. Packing loss is recorded under Wastage automatically.
Recent repacking
| When | Action | Pack | Packs | Loose qty | Loss |
|---|
Automatic backups
| Backup file | Created | Size |
|---|
Restore: stop the server, run node restore.js backups/FILE.db.gz in the app folder, then start it again. A backup on the same disk does not protect against a failed disk, so set a second copy folder.
Server and remote access
Packet sizes and pricing
These sizes appear as tick-boxes when you make packets from a loose item. Remove the ones you never use, or add your own.
Print language
Bills, price tags, purchase orders, debit notes and the reorder list print in this language. Product names use each item's Marathi name, or the English name when it has none.
Google Translate needs the internet; only product and offer names are sent. The Marathi is saved, so printing works offline. To correct a name, open the product in Inventory and type it under Marathi name: a name you type is never replaced. A product you rename gets a fresh translation.
To see the screens in Marathi, use Chrome: right-click the page, choose Translate to मराठी, and tick Always translate English. Amounts, product names, SKUs and batch numbers are kept as they are.
Stock adjustment reasons
These appear in the dropdown whenever you adjust stock. "Counts as wastage" sends removals under that reason into the Wastage dashboard automatically.
| Reason | Direction | Counts as wastage |
|---|
Staff logins
| Name | Role |
|---|
Cashiers can bill and take khata payments only. Owners see everything. The first login is “owner” with PIN 1234: change it now.