Extension is improved with customer analysis as well.
Worked really great! I appreciate the work.
Used to work very well now doesnt work for desktop edition and requires a sign in? Why the change? For both extensions. Rather disappointing.
Thanks for the note, and sorry for the hassle.
Both extensions now work fine on Desktop and Server — you’ll just need a quick, free sign-up (or login if already registered).
Also added customer analysis to the Sales Analytics extension this round, and more free extensions are planned.
Thanks!
So the apps are not even open source anymore ? Disappointed too. I will just uninstall them. Not interested in giving my info and potentially my financial data for graphs.
And how did you came to that conclusion?
To be clear and direct: both extensions — Developer Toolkit and Sales Analytics — have always been open source.
The login gate was an experimental feature I added and have now fully reverted. It’s gone from both. There was never any collection of your financial or business data through it.
Sorry for the disruption this caused. Feel free to pull the latest version whenever you’re ready.
Hi everyone,
Adding a third free, open-source extension to the set — a Point of Sale terminal for Manager.io.
────────────────────────────────────────
Manager.io Point of Sale
Try it: https://ksl1816.github.io/manager-io-point-of-sales/
Code: https://github.com/ksl1816/manager-io-point-of-sales
Built for quick, counter-style sales without leaving Manager.
What you get:
→ Barcode/code scanning with instant cart add
→ Real-time stock levels shown right in the item search, so you always see what’s actually on hand before selling it
→ Quick-add new inventory items on the fly if a scanned code isn’t found
→ Customer search, or a default walk-in customer for anonymous sales
→ Payment method selection, fetched live from your Bank & Cash accounts
→ Day Register — open with a starting cash float, track sales through the day, close with a counted-cash variance check
→ Thermal-style receipt preview with Print and PDF export
→ Works in both light and dark themes
→ No sign-up, no account — install and use immediately
────────────────────────────────────────
Free and open source like the other two. Feedback, bug reports, and feature suggestions are always welcome — helps make it more useful for everyone’s actual workflow.
Thanks!
Hi Khurram,
Great addtion to the manager. I’m following your posts and really appreciate your efforts
Is there any guide haw to use the pos extension and use the barcode function?
Hi Mohamed Yassin,
Thanks for appreciate!
Here’s how the barcode side works — it’s pretty simple:
- Click into the “Barcode / Search” box at the top of the cart (or just press F2 to jump to it from anywhere).
- Scan the item’s barcode with your scanner (it acts like a keyboard, so it just types the code and hits Enter automatically), or type the code/item name manually.
- If the code matches an item, it’s added to the cart instantly with qty 1 — scan it again to bump the quantity.
- If you type a partial code or name instead of scanning, a dropdown of matching items appears — use the arrow keys + Enter, or click one, to add it.
- If you scan a barcode that doesn’t exist in Manager yet, it automatically opens an “Add Item” popup with the barcode pre-filled, so you can create the item on the spot without leaving the POS screen.
A few handy keyboard shortcuts:
- F2 – jump to the barcode field
- F4 – complete/submit the sale
- F8 – reprint the last receipt
- F9 – open “add new item”
- Esc – close any open popup
I would also like to suggest/clarify a few points regarding the extension:
- POS – Cash & Bank Accounts
The POS is currently listing all Cash and Bank accounts, including inactive accounts. It would be better if inactive accounts were automatically excluded from the POS account selection. - Taxes in Sales Invoices
How can we add and apply different taxes/tax rates to sales invoices like ( VAT and WHT ) through the extension? Is there a recommended mechanism for supporting multiple tax types? - Available Stock Quantity
The available stock quantity displayed by the extension does not seem to match the actual item balance in Manager. Could you clarify how the available quantity is being calculated and whether it is possible to use Manager’s actual stock balance? - Barcode Setup & Scanner
What is the correct mechanism for setting up barcodes for items in Manager and configuring the extension so that a barcode scanner can read the barcode and automatically identify/select the corresponding item? - Creating Sales Invoice
once the POS Sales invoice is created, does it reflect in manager sales invioices, and haw the invoices are being serialzed, doest it use the same sequence of manager or uses a specific sequence
That is a pretty cool start.
Couple of Thoughts:
Items
- Would be good to be able to select items that want buttons for (what is current logic?)
- Sales Taxes are not currently addressed/added
- Non-Inventory items are often saleable - e.g. a Haircut, or a glider flight, instruction etc. Would be great to be able to add saleable Non-Inventory Items
- Likewise Inventory Kits
Payment Methods:
- Be nice to be able to specify a default ‘Drawer’ bank account. Currently seems to default first one ‘Alphabetically’. Perhntually being able to configure a different one for other payment methods e.g. Stripe Bank Account for Credit Card method etc.
Mode
- I see ‘Standalone mode’. I get it. ‘Cash sales’
- Many folks likely use a Credit Card provider such as Square, Stripe, Zettle etc. I know this is just a beginning and it is a great beginning - thank you.
Looking through the code for your apps really shows the potential for Manager add-on’s. Thank you!
I’m actually looking forward for this. Thank you so much for this great extension.
Is it possible for it to also have a mobile view of this POS extension?
Noted, will be fixed in next update.
VAT/WHT taxes — not supported yet. Will consider adding proper tax handling in a future update
- Starting balance →
+(usesqtyOnHandLinesif present, elseqtyOwned) - Purchase invoices →
+per line qty - Debit notes (purchase returns) →
− - Sales invoices →
−per line qty - Credit notes (sales returns) →
−reversed, i.e.+ - Inventory write-offs →
− - Uses integer micro-units (
SCALE = 1e6) to avoid floating-point rounding errors — good practice. - After a POS sale, it locally decrements
state.qtyOwnedfor sold items so the UI updates immediately without a full reload — this is just an optimistic local update, not re-verified from the server until you click Load again.
Barcode setup — no dedicated barcode field right now, it matches against item code. A scanner that types + Enter should work. Will consider a proper barcode field later.
Sales invoice creation / numbering
Yes — POS sales are created as regular Manager sales invoices, so they do show up in your normal Sales Invoices list. They do not use Manager’s own auto-numbering sequence; the extension generates its own reference (POS-YYMMDD-HHMMSS, i.e. date + time) so each sale gets a unique, sortable reference independent of your manual invoice numbering.
Moderator note! Attention developer and all users of these extensions
@Khurram_Shahzad, thank you for removing the login requirement, but this does not fully resolve the concerns raised in this topic.
The statement that “there was never any collection of your financial or business data” is too narrow. The source code shows that personal data was collected and stored through Firebase: name, email address, Manager version, which extension was being used and a timestamp.
Firebase is a Google cloud service for things such as user accounts and online databases. This means the information did not remain inside Manager or on the user’s computer. It was transmitted to Google’s Firebase infrastructure and stored in a Firebase project controlled by the extension developer. Firebase Authentication also processes information such as email address, IP address and browser/device information.
Fortunately, I have found no evidence that invoices, balances or other accounting records were uploaded to Firebase, and I am not suggesting otherwise. The concern is that personal information was collected externally without this being made sufficiently clear to users.
More seriously, the published documentation contradicted what the code was doing. While Firebase was active, the Developer Toolkit README still stated “no outbound network calls except Google Fonts” and “Zero tracking — no analytics, cookies, or telemetry”. The Sales Analytics README described the extension as “no backend, no setup, just install and go”.
Those are material claims. They should have been changed when an external account system and database were introduced. Removing the login code also does not delete information already collected.
Please confirm whether all Firebase Authentication accounts and all associated database records have now been permanently deleted.
“Open source” does not remove the trust issue either.
Users that install the GitHub Pages URL supplied by you, as independent-from-Manager.io extension developer; will not inspect every source-code change you make. Code served from that URL can subsequently be changed, so users necessarily place considerable trust in the person maintaining it.
That concern is even more important with the newly published POS extension. Unlike a reporting extension, it can create customers and sales invoices inside Manager. Extensions with that level of access require particularly clear documentation about what they access, what they send externally and what they can change.
I am not stating that this automatically constitutes a GitHub policy violation. However, undisclosed data collection and documentation that does not match actual behaviour can raise privacy, legal and GitHub policy concerns.
Going forward
Any extension by independent developers/users promoted on this forum must clearly disclose before installation any external login, database, telemetry or collection of user information: what is collected, where it is sent, why it is required and how it can be deleted.
Please treat this as a moderator warning. Similar undisclosed changes should not be introduced again.
@eko
Thanks for your thoughts and feedback on this matter.
As stated earlier, this login gate was purely an experimental feature. It has been completely reverted, and I can confirm that the entire Firebase project associated with this feature—along with any Firebase Authentication accounts and all associated database records that were briefly generated during the experiment—has been scheduled for permanently deletetion. No Firebase Authentication accounts and all associated database records remain.
“As proof that the data and infrastructure have been fully decommissioned, I have attached a screenshot of email showing the project is currently in the permanent deletion queue.”
It was an unintentional mistake on my part, and I deeply regret the oversight regarding the README documentation. It certainly should not have happened, and I fully understand the trust implications and concerns it raised for the community.
I take this moderator warning seriously and will ensure that any future extension updates strictly adhere to these transparency guidelines. Moving forward, any form of external database, telemetry, or login will be fully disclosed beforehand.
Thank you for bringing these specific documentation mismatches to my attention so they could be corrected.
Thank you. This addresses most of the concern, but two points still need clarification.
First, the project is not yet “permanently deleted”. Google states that a shut-down project remains recoverable for 30 days (see https://docs.cloud.google.com/resource-manager/docs/delete-restore-projects). During that period the owner can restore it. Only after the recovery period ends are the project and its associated data permanently deleted and unrecoverable. Please therefore describe its present status as scheduled for permanent deletion rather than already permanently deleted.
Second, the screenshot confirms deletion of the project was requested; it does not establish that the Firebase Authentication accounts and database records were separately deleted beforehand. If they were deleted separately, please clarify that. Otherwise, the accurate position is that they form part of the project now awaiting permanent deletion.
Google documents the notification sent when deletion is initiated, but does not promise another email when permanent deletion completes. After the recovery period has expired, please therefore verify through Google Cloud that the project is no longer recoverable and post that confirmation here. Google states that once deletion completes, the project can no longer be retrieved.
Your acknowledgement of the README errors and commitment to disclose such functionality in future addresses the moderator warning. Once permanent deletion has been verified, I would regard the remaining data issue as resolved.
Edited
Yes it is also confirmed Firebase Authentication accounts and database records were separately deleted beforehand.
Will do once recorvery period expires.
Also updated all 3 readme files that correspond with the extension features.
Thank you - can you send a link to delete the acccount as it is no longer required.

