// the find
Blair2004/NexoPOS
Laravel-based web POS system with Vue.js, Tailwind CSS, inventory management, sales processing, customer records, reports, and modular extension support.
NexoPOS is a self-hosted POS system built on Laravel + Vue.js, aimed at small retail and restaurant businesses that want to own their data rather than pay monthly SaaS fees. The core is free; the real functionality (multi-store, restaurant mode, warehouse racks) lives behind paid modules on their marketplace.
The event system is genuinely well-thought-out — there are before/after hooks for nearly every domain action (orders, procurement, products, transactions), which means third-party modules can intercept state changes without patching core files. The CRUD abstraction layer generates admin tables and forms from a single class definition, cutting the boilerplate cost of adding new entity types significantly. It ships with a barcode scale integration and instalment payment tracking, which most open-source POS projects skip entirely. Active maintenance with a push as recent as two days ago and 548 forks suggests a real community is actually building on this.
The freemium model is a trap: the core repo looks complete but anything serious (multi-store, restaurant workflows, bulk import) requires paid modules with no publicly auditable source, so your production system has a dependency on a vendor's continued existence. The tech stack mixes RxJS 6 with modern Vue — RxJS 6 is old enough that it signals the frontend hasn't had a real architectural pass in a while, and you'll feel that friction integrating it. There are no automated tests visible in the repo structure beyond a single `laravel.yml` CI file, so extending it means flying blind on regressions. The module system loads extensions at runtime without any sandbox, so a buggy paid module can take down the whole installation.