Everything Codipy POS actually does
139 features across 17 modules, listed the way the software itself is organised — so you can walk this page and another package side by side and see exactly where they differ.
The sale counter
The screen a cashier lives on. Everything here has a key, because a queue does not wait for a mouse.
- Barcode scanning, or type any part of a product name and press Enter
- Search by alias, SKU, barcode or the customer's own word for it
- Quantity, item discount and percentage discount editable on the line
- Pack price and unit price side by side — sell a strip or the whole box
- Bill-level discount, and remarks that print on the receipt
- Split payment across cash, card, bank, wallet and credit on one bill
- Hold a sale (F6) and bring it back (F7) — serve somebody else in between
- Several half-finished bills open at once, cycled with Ctrl+Tab
- Price check (F8) without starting a bill
- Live margin on the bill as you build it — cost, margin and percentage
- Cash session per cashier: open with a float, close and reconcile the shift
- Payment QR (Raast, JazzCash, EasyPaisa) with the amount already in it
- Customer-facing display so the buyer watches the bill being built
- Thermal 80mm receipts, reprint any invoice, and A4 invoices for parties
- Quotations and estimates that convert into an invoice without retyping
- Return by invoice number, or an open return when there is no bill
- A line can only be returned once — the till says how many are left

Stock and inventory
One ledger behind every count, however many ways you sell the same thing.
- One stock figure per product, however it is packed or priced
- Pack barcodes: a carton and the pieces inside it are one product
- Buy a sack, sell it in 100 g bags — conversions are part of the item
- Batch numbers with expiry dates, and FEFO allocation at the till
- Expiry alerts with a window you choose — months ahead, not days
- Serial and IMEI tracking per unit, with warranty months
- Size and colour variants under one product, entered as a grid
- Rack and shelf locations shown while billing
- Weighing-scale barcodes: item and weight read straight off the label
- Minimum stock levels with low-stock alerts on the dashboard
- Multiple godowns and stock transfers between them
- Stock counts a supervisor approves before anything moves
- Barcode label printing, per product or a whole size run
- CSV import for products, and a migration wizard from your old software
- Fast-moving, slow-moving and dead-stock reports

Purchase and suppliers
What comes in, what it cost, and what you still owe for it.
- Purchases against the supplier's own bill number
- Goods receipt (GRN) with batch, expiry, serial or variant as needed
- Whatever is unpaid posts straight to the supplier's balance
- Purchase orders with reorder suggestions from your own sales history
- Purchase returns, credited against the supplier
- Opening Purchase for stock already on the shelf — stock without a false debt
- Delivery challans: goods out first, invoice raised afterwards
- Landed cost so the margin is worked out against what you actually paid

Customers, credit and recovery
Giving credit is easy. Getting it back is the business.
- A full account per customer: every bill, every payment, what is still due
- Credit limits — a sale that would break one is refused at the till
- Credit days per party, so "overdue" means what you agreed with them
- Instalment (kishtain) plans for big-ticket items, tracked to the rupee
- Today's call list: broke a promise, promised today, then quietly forgotten
- Log a call with what they said and when they will pay
- Ageing report: not due, 1–30, 31–60, 61–90 and 90+ days, oldest first
- Payments clear the oldest bill first — the way both sides of a counter think
- WhatsApp reminder with their balance, sent from the same row
- Loyalty points and promotions that apply themselves at the counter
Money and the day close
The part that decides whether the drawer agrees with the books.
- Payments and receipts against any customer or supplier
- Expenses by head, so the day's costs are not a guess
- Cash handover from cashier to owner — and it stays the cashier's until confirmed
- Cash added or taken out recorded separately from sales and expenses
- Daily Book: sales, how the money came in, who billed what, purchases, expenses, recovery
- "Expected in drawer" worked out, then you type what you actually counted
- Short, excess or matched — recorded, never quietly buried on the next day
- Tomorrow opens with the cash you counted, not the figure the machine hoped for
- Closing history, with the difference on every day you have closed
- A closed day is frozen; only the owner can re-open one, and the reason is logged
Accounting
Real double-entry that posts itself, not a summary of the till.
- Every sale, purchase, payment and expense writes its own balanced journal
- Trial balance, profit & loss and balance sheet, always current
- Party ledgers for every customer and supplier
- Chart of accounts you can extend
- Cheque register — issued, received, cleared and bounced
- Bank and cash accounts with transfers between them
- Manual journal entries when something genuinely needs one

Staff, HR and payroll
Who did the work, and what they are owed for it.
- Employees with their own login, role and permissions
- Attendance, leave and advances
- One-click payroll runs against attendance and advances
- Salesman commission from the sale, and per-line commission where a trade needs it
- Serial + PIN stamped on every transaction the person enters
- Roles that decide who may discount, refund, see cost price or open settings
- A temporary password on first login — you never keep knowing their password
- Full audit trail: who changed what, and when
Reports
Over fifty of them, filed in the drawers you already use.
- Eight groups: Daily, Stock, Sales, Purchase, Accounts, Item, Listing and Reprinting
- Daily registers for sale, sales return, purchase, purchase return, adjustment, quotation and PO
- Header-wise transaction summary across all seven documents
- Profit — by day, by item, by category, by salesman
- Stock valuation, dead stock, expiry, low stock and movement
- Cash book, day book, party ledgers and ageing
- Hourly sales, so staffing follows the rush rather than an assumption
- Item history worth printing — every movement of one product
- Print and CSV export on every report, from the same column definition
- Wide registers print landscape instead of at a size nobody can read

The channel your customers already answer, wired into the till.
- Send the invoice as the customer walks away
- Payment reminders from the credit-due list, one tap per customer
- Birthday and festival messages
- Bulk campaigns to a filtered customer list
- Message templates you edit once
- QR bridge today, Meta Cloud API ready
Tax, FBR and compliance
Choose your country; the rest is filled in.
- Country setup fills currency, tax rate and the tax-number label together
- Tax added at the till (Pakistan, US) or included in the price (Gulf, EU, India)
- Per-product tax rate to override the shop rate; −1 marks an item exempt
- Receipts show the tax split by rate — what an inspector actually asks for
- FBR digital invoicing with QR receipts for sales-tax registered businesses
- Change the rate the day the government changes it — no new version needed
E-commerce
Online orders that become ordinary sales against the same stock.
- WooCommerce and Shopify order sync
- Online orders arrive as sales and draw down the same stock figure
- Stock and price updates pushed back to the store
- One inventory for the counter and the website
Delivery and distribution
For businesses where the goods go to the customer.
- Home delivery on a named rider, with the cash he is carrying his responsibility
- Rider cash reconciled at the end of the round
- Order booking in the market on a phone, against live stock and real balances
- Booker routes and beat coverage planned per day, reported against the plan
- Supply runs and printed load sheets
- Delivery challans, invoiced afterwards
- Orders queue on the phone through a dead signal and post themselves later
On the phone
The shop in your pocket, and the market in your booker's.
- Owner dashboard, alerts and approvals in any phone browser on the shop network
- Android app for owners, order bookers and riders
- Sign in with a short shop code — it keeps working when the address changes
- Today's sale, what is owed, what is running out, what is waiting on you
- Buy list and approvals from the phone
- Offline queue, because a booker in a bazaar needs the app to open
Printers, drawers and scales
The counter hardware, set up once.
- Prints through Windows by default — any printer works
- Network thermal printers by IP and port, with a test print
- Automatic paper cut and a cash drawer that opens on payment
- Barcode scanners: plug in and scan, nothing to configure
- Weighing scales that print barcode labels with the weight inside
- A4 invoices for parties alongside 80mm slips for the counter
Security and your data
Boring on purpose. This is the part you notice only when it fails.
- JWT authentication with role changes that take effect immediately
- Granular permissions per role and per screen
- Sensitive credentials (FBR, secrets) encrypted at rest
- Nightly automatic backups
- An extra backup folder — USB, network drive, or a folder your cloud syncs
- Backup passphrase, so a lost USB stick is not a lost customer list
- Full audit log of every change, kept for the questions asked months later
How it runs
One installer, your own hardware, no cloud in the middle.
- One setup file with Server and Client modes
- Clients discover the server on the LAN — no IP addresses to type
- Realtime sync across every counter over web sockets
- Fast local SQLite database, backed up on a schedule
- Runs as a Windows desktop app, or in any browser on the network
- No internet needed to sell — only for WhatsApp, FBR, backups and the phone app
- English, Roman Urdu and Arabic, each one complete
- Business-type presets that switch modules on and leave the rest available

Help built in
The manual is in the software, not in a drawer.
- The full user manual inside the app, searchable from any screen
- Ctrl+K searches everything: products, customers, invoices, screens, help
- Ctrl+/ shows the keyboard shortcuts on screen
- The old menu keys most counters were trained on still work (Alt+S, Alt+P, Alt+R…)
Learn six of these and a bill halves in time
Press Ctrl+/ anywhere in the software to see the full list on screen.
If your staff were trained on the older shop software most counters here use, its menu keys work too — Alt+S sale, Alt+P purchase, Alt+R reports.