•
= v6.2.3 - 2026.09.17
•
- Fix: Event listener to fire after commit.
•
- Fix: added extensibility to models to support MultiStore
•
- Fix: daily report with accurate totals
•
- Fix: indexing user widgets
•
- Fix: unbalanced accounting doesn't stop the process
•
- feat(i18n): add Korean (ko) translation by @moduvoice in #2607
•
- Update README.md by @Blair2004 in #2610
•
- Fix deployment button link for Nexo Cloud by @Blair2004 in #2611
•
- Fix deployment button image link in README by @Blair2004 in #2612
•
= v6.2.1 - 2026.06.30
•
- New media library
•
- Updated: refactoring deprecated code
•
- Fix(pos): Proper barcode scanning fixture, replacement for #2601
•
- Fixed: unhandled barcode usage
•
- feat(pos): add configurable default barcode type setting
•
- feat(invoice): add {order_date_only} and {order_time} template tags
•
= v6.2.0 - 2026.06.24
•
- Assign 'Store Customer' role on customer creation
•
- Add 'active' field to customer data handling
•
- Update app/Services/CustomerService.php
•
- translations formatting & sorting
•
- update german translation
•
- fix typos in translation files (and related occurrences in code)
•
- translations formatting & sorting
•
- fix POS customer select owed amount
•
- Fixed: permission typo
•
- Removed: deprecated permission
•
- Added: Recommendation Service
•
= v6.1.2 - 2026.03.07
•
- Updated: fillable support to Crud component via Models. (Some crud was exposing sensitive attributes)
•
- Updated: notification center width
•
- Fixed: min/max rules for form-validation.ts
•
- Updated: branding and core update notification
•
- Updated: added one-line options for generating module + AI instruction update ef927
•
- Updated: Migrating Author Attribute (was previously "author", not it's "author_id")
•
- Updated: tax refactoring. net_price and gross_price as replacements for: "price_without_tax" and "price_with_tax".
•
- Updated: wrong subtotal after order modification
•
- Fixed: migration revert must start with the most recent to the oldest
•
- Fixed: securing Crud endpoint fix #2538
•
- Fixed: security concern reported
•
- Fixed: Unauthenticated Migration Execution + Systemic Missing Permission Checks on API Routes #2541
•
= v6.0.9 - 2026.01.30
•
- Added: Scale Barcode Support
•
- Category & Product Reordering
•
- Sticky Products
•
- Low Stock Suggestion
•
- fix: Change scale range columns from string to integer for proper num
•
- Fix: ThrottleMiddleware Compatibility
•
= v6.0.4 - 2025.08.31
•
- Closes: Implementation of Laravel event to replace Hook::action #2271
•
- Upgrading TailwindCSS 4
•
- Closes: Upgrading to Laravel 12 (https://github.com/Blair2004/NexoPOS/issues/2288[)](https://github.com/Blair2004/NexoPOS/commit/7cdebbb792a8ad85980b2f8dc56d14a8f8ebd903)
•
- Added: AsideMenu for registering aside dashboard menu.
•
- Improved: Widget System
•
- Removed: old migrations
•
- Added: doctor command to purge orphan migrations
•
- Close: Actionnable Notification (#2260)
•
- Deprecated: usage of RXJS on Snackbar
•
- Refactoring Legacy Code
•
- Deprecated: usage of RXJS on Snackbar
•
- Refactoring Legacy Code
•
- Added: wrapper method to AsideMenu
•
- Added: Crud Scope support (hook method replacement)
•
- Fixed: inappropriate update of the "Orders" menu
•
- Fixed: Delay Notification delete
•
- Removed: "deleted" dispatch event to Notification
•
- Added: reset admin permissions while fixing roles
•
- Updated: using AsideMenu in favor of regular associative arrays
•
- Updated: removing old usage of nsSnackbar with .subscribe() chain method
•
- Fixed: minor adjustment on the component
•
- Updated: permission management component
•
- Migrating: from static property to constants on the Fields class
•
- Fixed: exclude cssFiles from Authentication wrapper
•
- Added: Autoload for Fields classes
•
- Added: Autoload Fields Class
•
- Added: validate input against Field Class.
•
- Fixed: ensure the same nsHooks objects is used globally
•
- Fixed: small Dark theme adjustments
•
- Added: widgets must include a new class "widget-handle" to allow the mouse to grab and drag them.
•
- Added: new "keyup" events on ns-field to support "keyup.enter" like events
•
- Added: FormValidation class now supports "regex" as a rule
•
- Changed: button colors on module component
•
- Updated: Visual Minor changes
•
- Fixed: safely ignore module component environment
•
- Refactor: Using ->getIdentifier() in favor of ->getNamespace for Crud classes
•
= v5.1.0 - 2024.02.28
•
- Fixed: The field was disabled when the reset confirmation was closed
•
- Fixed: scroll on the product grid
•
- Fixed: renaming column on transaction histories
•
- Fixed: make tax group nullable on procurements products
•
- Fixed: loading quick product with no default
•
- Fixed: ns.recurring-transaction was written as ns.recurring-transactions (with a 's') which was causing the recurrence screen not to work.
•
- Fixed: Deleting Product On Cart #1783
•
- Fixed: #1750 reset feature
•
- Fixed: Ensure compatibility while extracting product form.
•
- Fixed: Can't reassign unit for already assigned unit
•
- Fixed: customer name not appearing on settings
•
- Fixed: typo on ClearHoldOrdersJob
•
- Fixed: Helper::toJsOptions supports an array as a label
•
- Fixed: display order control when it's loaded on order preview
•
- Added: Ensure set action performs a correct increase/decrease action
•
- Added: new developer sections on About page.
•
- Added: unit conversion feature.
•
- Added: can't assign twice the same unit to a product
•
- Added: proper disabled state for search-select field
•
- Added: support for hiding checkboxes
•
- Updated: unused js files
•
- Updated: set is the default adjustment action by default
•
- Updated: Procurement Name is not required anymore.
•
- Updated: We'll keep a loading state when the procurement is successful.
•
= v4.8.20 - 2023.08.18
•
- Fixed: Tax computation
•
- Added: migration to fix wrong purchase prices #1522
•
- Fix #1522 issue While Computing Total Purchase Price
•
- Fix #1558: Displaying procurement for providers wasn't limited to that provider
•
- Fixed: issue while opening order with the changed price
•
- Fixed: tax computation of reopened order
•
- Added: product tax on receipt if available
•
- Fixed: product with modified price being set to 0 after loading
•
- Added: default fields for quick products
•
= v4.8.19 - 2023.06.26
•
- Added: force flag to the Artisan call
•
- Updated: Modified tax computation function
•
- Updated: The computeInclusive() function in the tax library has been modified to enhance tax calculations
•
= v4.8.18 - 2023.05.16
•
- Fix Spanish translations
•
- Fixed: yearly report not recomputing
•
- Fixed: order types not used on the demo
•
- Fixed: sale report row background color
•
- Fix: saving custom format on the database (#1458)
•
- Fixed: Tax computing with string values (#1468)
•
- Added: print option on a hold order.
•
= v4.8.11 - 2022.12.22
•
- Fixed: <a href="https://github.com/Blair2004/NexoPOS/issues/1220">#1220</a>
•
- Added: hook for product on default receipt
•
- Added: dependency check for providers
•
- Added: improved options saving
•
- Added: cleaning symbolic links.
•
= v4.8.10 - 2022.12.05
•
- Fixed: prevent duplicated CashFlow transaction
•
- Added: new doctor command for clearing orphan orders products
•
- Added: new doctor command for recomputing cash flow for orders
•
= v4.8.6 - 2022.10.19
•
- Added: Adds keyboard support to payment popup
•
- Fixed: deleting own account from Crud List
•
- Added: new hooks to inject content on top and bottom of a title
•
- Added: a new test for checking users
•
- Fixed: loading all customers while opening the customer's popup
•
- Fixed: postcss config to erase unlisted files
•
- Added: new cash register action
•
- Fix: #1100 double records for sales
•
- Updated: refactoring
•
- Deleted: deprecated link
•
- Fixed: improve keyboard support on Payment Popup.
•
- Added: dependency protection on build deletion (customers).
•
- Added: default type for the unsupported product type.
•
- Added: adjust stock for order product if a reference exists.
•
= v4.8.5 - 2022.10.14
•
- Fixed: #1078 Restrict unit to be deleted when assigned to a product
•
- Added: implementing new Math calculator
•
- Added: new test case
•
- Updated: CurrencyService class
•
- Changed: order fields (gross to without_tax & net to with_tax)
•
- Fixed: design issue on coupon + other improvements
•
- Added: coupon value on cart
•
- Added: compute product taxes command
•
- Added: product taxes on POS
•
- Added: new test cases
•
- Removed: deprecated code
•
- Refactored: taxes on products and order products
•
- Fixed: #1071 order not updated after a refund
•
- Fixed: design issues
•
- Fixed: quick product validation failing
•
- Fix: #1070 Customers Not selected by default
•
- Updated: module listing command
•
- Added: automatic page output action
•
- Added: global nsSelectPopup & nsPOSLoadingPopup
•
- Added: silent and normal printing
•
- Added: name on web routes
•
- Fixed: wrong method called on ns-table-rows.ts
•
- Fixed: deprecated issue with str_replace
•
- Fixed: option typo "only_paid_ordes" => "only_paid_orders"
•
- Fixed: design issue with notices
•
- Fixed: list background color on hover
•
- Added: new test for timzones
•
- Deleted: incompatible timezone
•
- Added: float casting
•
- Added: option to mark a procurement as paid
•
- Added: new test case for procurements
•
= v4.8.4 - 2022.09.07
•
- Updated: customer seeding.
•
- Updated: delete the previous module before uploading the new one
•
- Added: a way to disable all modules.
•
- Added: code parser while activating modules
•
- Updated: compatibility with RxJs.
•
- Updated: improving rebranding
•
- Update: restrict core roles modification
•
- updated: translation
•
- feature: new events to catch product inventory update
•
- Fixed: fields hidden while choosing regular products (quick product)
•
- Fixed: Products set as hidden shouldn't be visible on POS [fix https://github.com/Blair2004/NexoPOS/issues/1015]
•
- Fixed: installments not visible for unpaid orders
•
- fix https://github.com/Blair2004/NexoPOS/issues/1027: translation on the POS cart
•
- fix: unable to load style on receipts
•
= v4.8.x - 2022.07.11
•
- Fixed: options
•
- Fixed: test case
•
- Added: Ensure cookie is generated after each installation
•
- Fixed: Ensure Product Can Be Bulk Updated
•
- Fixed: Tax warn when not selected
•
- Added: capacity to unselect options
•
- Updated: language
•
- Fixed: TypeError
•
- Fixed: coupon not effective
•
- Added: prevent on POS if a tax group lacks taxes
•
- Fixed: changed readonly attribute for php8.0 support
•
- Added: Support for links on crud row
•
- Updated: naming routes
•
- Added: Vietnamese
•
- Added: new action while opening orders
•
- Updated: typo on crud generator
•
- Closes #833, adds option to permanently enable auto focus
•
- Fixed: procurement expense using the author id
•
- Added: skip instalments
•
- Added: --force option to some commands
•
- Added: New numpad with option
•
- Added: searching customers using phone number
•
- Updated: formatting code with Laravel Pint
•
- Changed: renaming some columns
•
- Added: new events
•
- Updated: changing service container binding
•
- Fixed #857 issue
•
- Cleaning
•
- Fixed: generating random barcode
•
- Removing deprecated code
•
- Added: floating quantities
•
- Added: Grouped products
•
- Added: products group
•
- Added: customer statement
•
= v4.7.5 - 2022.04.30
•
- Updated: improving coverage
•
- Updated: fields by adding an identifier
•
- Removed: unused classes and files
•
- Fixed: error while creating a product
•
- Added: new events
•
- Fixed: assigned role during registration
•
- Added: new middlewares
•
- Fixed: emails
•
- Added: property to the user model
•
= v4.7.4 - 2022.04.25
•
- Added: New test case for better coverage
•
- Added: role namespace is no more required
•
- Removed: not used files
•
- Added: refactoring to php 8.0
•
- Updated: optimizing options
•
- Fix: https://github.com/Blair2004/NexoPOS/issues/716
•
- Fixed: custom price restauration
•
- Fix: https://github.com/Blair2004/NexoPOS/issues/713
•
= v4.6.15 - 2022.03.08
•
- Fixed: tax computation from the POS.
•
= v4.6.14 - 2022.03.07
•
- Fixed: issue while updating NexoPOS.
•
= v4.6.13 - 2022.03.01
•
- Fix #573 Inaccuracy on Cash Register History And Balance
•
- Fix #575 Missing Product Name On Labels
•
- Fix #578 Tax Not Applied While Switching
•
- Fix #579 Allow Payment For Order With 0 As Total
•
= v4.6.11 - 2022.01.28
•
- Added: Custom Reset Options
•
- Added: Attaching Payment To Instalment
•
- Added: Sortable Payment Type
•
- Added: Skip Select Order Type
•
- Fix #508 Order Changing Status On Update
•
- Fixed: Discount Computation With Gastro
•
- Fix Wrong Columns Assignation
•
- Fix #486 Strict Type Comparison
•
- Fix #483 Fix Comparison Accuracy
•
- Fixed: product discount calculation
•
- Fix: Discount Computation On Single Product
•
- Fix: Layout on Sales Report
•
= v4.6.9 - 2022.01.12
•
- Added: Payment Invoice
•
- Added: Attaching Instalment To Payment
•
- Fix #496 Reset Pin On Failure
•
- Fix : Illegal operator and value combination
•
- Added: New Event After Checking Order
•
- Fix #459 Add Credit Limit
•
- Added: Localization Test On DB Migration
•
- Fixed: Tests For Cash Register
•
= v4.6.3 - 2021.11.17
•
- Fix Wrong Output For Exceptions
•
- Added: restrict order type from the settings
•
- Removed: useless settings
•
- Updated: Procurement form flexibility
•
- Added: quick product can be disabled
•
- Added: customer creation can be disabled
•
- Fix Wrong Variable Type On POS
•
= v4.6.0 - 2021.11.07
•
- Track Layaway Orders
•
- Extend Crud Service
•
- Fixed: order details with quick products
•
- Added: Providers products
•
- Updated: CrudService for better extensibility
•
- Fixed: issue while generating barcode for procurement products
•
- Arabic & RTL
•
- Low Stock Products & Report
•
= v4.5.8 - 2021.10.09
•
- Added: Products Combinaison
•
- Fixed: Editing Procurement
•
- Added: New Vue Components
•
- Fixed: Pagination
•
- Added: Reward System Preview
•
- Fixed: Requesting TimeZone for Year Report
•
- Fixed: Combined Product Test
•
- Fixed: Order Not Attached To A Refund Expense
•
= v4.4.0 - 2021.07.31
•
* Added: refresh reports from the CLI
•
* Added: create expense history on update active expense
•
* Fixed: how the last day report is retrieved
•
* Fixed: day of the year on the day report
•
* Fixed: year report no showing output
•
* Added: support for NsCommissions module
•
* Updated: how test are performed for orders
•
* Added: route name for settings
•
* Added: localization for sales report
•
* Added: signature for product version
•
* Updated: product history on POS
•
* Fixed: product transaction popup
•
* Added: Expenses generated with procurement created + settings
•
* Added: coupon is assigned to the order author or logged user
•
* Added: order author can now be edited during sale
•
* Added: localization on order type
•
* Updated: code quality
•
* Fixed: convert order status to human form
•
* Fixed: product unit crud with 404 errors
•
* Fixed: issue while performing a migration
•
* Fixed: Undefined index while applying a fixed discount
•
* Fixed: ensure order status are correctly updated
•
* Added: new events
•
* Added: order delivery status can be changed
•
* Fixed: layaway issue with computation
•
* Update: polish code
•
* Fixed: payment type not loaded for sub stores
•
* Fixed: store name not displaying on the receipt
•
* Added: refund receipt for orders
•
* Fixed: issue while removing permissions
•
* Added: enhanced refunds
•
* Fixed: abbreviating currencies
•
= v4.3.2 - 2021.07.09
•
* Updated: dependencies
•
* Added : padding to settings component
•
* Added : filter to extends Users Crud actions
•
* Added : new events
•
* Fixed : namespace filter on Permission model
•
* Added : new dashboard for roles
•
* Fixed : removing permissions used the wrong parameter type
•
* Added : cashier reports
•
* Updated : roles to support identifier
•
* Fixed : wrong column name on the initial migration
•
* Added : default dashboard for roles
•
* Added : new way to get system date.
•
* Added : forget module migration option
•
* Fixed : searchable being changed while saving categories
•
* Updated: remove "supervisor" role from the core.
•
* Added : default dashboard.
•
* Fixed : Instalment crud list using a wrong pivot attribute
•
* Fixed : Stock adjustment issue (adding stock) fixes #207
•
* Fixes #208
•
* Fixed : unable to load the product reports.
•
* Fixed : some adjustment on the products reports.
•
= v4.3.0 - 2021.06.17
•
* Updated: display item price when a product has a single unit
•
* improved demo
•
* Added: price modification popup.
•
* Added: grocery demo
•
* Improved: reset feature
•
* Fixed: deprecated attributes
•
* Removed: unnecessary translation files
•
* Added: new order settings
•
* Fixed: make sure OrderAfterCreatedEvent can be broadcasted on the socket
•
* Added: rebranding on POS logo
•
* Update: deprecating a feature
•
* Added: new filters
•
* Added: new report sales by payments
•
* Added: rebranding options
•
* Added: run migration from the command.
•
* Ignoring Supervisor logs
•
* Fixed: make sure refreshing a procurement form doesn't delete entries
•
* Fixed: make sure while deleting an entry the crud refreshes
•
* Added: test for custom payment
•
* Added: test for products with different price mode
•
* Fixed: typo on the default payment type
•
* Fixed: wrong file name while extracting localization
•
* Updated : localization
•
* Fixed: the wrong configuration during setup
•
* Fixed: make sure installment extends orders children's menus.
•
* Created: test for custom payment types
•
* Fixed: wrong price mode defines by default.
•
* Added: payments type are set as component now
•
* Added: language extraction improvement
•
* Fixed: wrong class assigned to system migration.
•
* Fixed: wrong npm command to build assets
•
* Fixed: Error thrown while using an unsupported date format.
•
* Fixed: added load method for .env for keeping previous values.
•
* Fixed: ensure TaskSchedulingPingJob doesn't restore files
•
* Added: implementing CLI update
•
* Fixed: the wrong date provided while saving an order
•
* Added: new events while a product is computed
•
* Fixed: currency issue
•
* Fixed: ensures order is loaded synchronously
•
* Fixed: Crud issues
•
* Added: 2 Feature tests
•
* Updated: Extending the script for modules.
•
* Fixed: various popup layouts
•
* Fixed: incorrect date value.
•
* Updated: npm dependencies
•
= v4.2.3 - 2021.05.07
•
* Added : return exact string for unmatched translation
•
* Fixed : create symbolic link on windows for language
•
* Fixed : flat array with keys
•
* Added : new hook when crud form is loaded
•
* Added : new filter when crud footer form is rendered
•
* Added : new filter when settings footer is rendered
•
* Fixed : missing translation file on Vue component
•
* Update : CKEditor.
•
* Added : 2 languages (French & Spanish)
•
* Fixed : ensure localization is correctly loaded
•
* Added : new path to extract classes.
•
= v4.2.2 - 2021.05.04
•
* Added : extraction tools
•
* Added : language base files
•
* Added : default system language
•
* Fixed : missing localization functions
•
* Fixed : missed attribute while setting up.
•
* Fixed : ensure the store language is selected by default.
•
* Update : updating dependencies
•
* Fixed : error with module missing languages
•
= v4.2.1 - 2021.05.07
•
* Added : download to CSV feature.
•
* Added : away to install NexoPOS from the CLI
•
* Added : upload user profile
•
* Added : isolated media manager
•
* Added : quick setup command
•
* Added : hard reset command
•
* added : new settings
•
* Update tailwindcss
•
* ignoring expenses settings
•
* Added : Module details command
•
* Adding : databased for testing.
•
* Added : new logo
•
* Added : new recovery feature (including mails)
•
* Added CI test suite configuration file.
•
* Fixed : CSRF Mismatch one new installation using a domain with port
•
* Fixed : required parameter
•
* Added : new commands to handle modules
•
* Added : register modules command.
•
* Added : process status editable.
•
* Fixed : profile avatar overflow
•
* Added : new attribute to Order model.
•
* Fixed : Unknown process status.
•
* Added : localization support on labels.ts
•
* Fixed : number length
•
* Added : new animation
•
* Created : various tests
•
* Fixed : unit group deleted with a product
•
* Added : category reference for each ordered product
•
* Fixed : tax group is computed only if it's provided
•
* Moved Gastro Test to the module
•
* Fixed : allow snackbar issue
•
* Added : new command to forget module migration
•
* Added : new method for calculating a value percentage
•
* Added : websocket support
•
* Updated : notification to support WebSocket
•
* Adjusting broadcast name
•
* Fixed : ensure keep in sync on client-side
•
* Fixed : date format
•
* Fixed : default sidebar state
•
* Securing private access
•
* Improving comments
•
* Added : new middleware
•
* Added : pusher to composer.json
•
* Fixed : broadcasting configurations
•
* Improved : unit testing
•
* Updated : order date can be modified
•
* Updated : better error message when a tax group is not found.
•
* Sorted : proper message when there is a misconfiguration on the taxes
•
* exposing some POS queues
•
* fixing responsivity for cart buttons
•
* Fixed issue with SetupService.
•
* Fixed : sale price set if the tax is not provided
•
* Added : new crud component to edit a product expiration.
•
* Fixed : date time picker description
•
* Added : ensuring products with accurate tracking can be adjusted
•
* Added : label on crud table to see the items displayed and total items available
•
* Fixed : missing column
•
= v4.0.0
•
* Initial Release