Installing NexoPOS 4.x

How To Install NexoPOS 4.x On Ubuntu 20.04

NexoPOS is a Web Point Of Sale application running under Laravel 8. This free software can be installed anywhere there is a compatible environment. By environment, we mean PHP 7.3 & MySQL. This guide explains how to install NexoPOS 4.x on Ubuntu 20.04.

Prior Consideration Before Starting

NexoPOS 4.x still in development however, it can yet be installed and tested. It’s not ready to use for a production environment, but when that will change, this guide will be updated accordingly. This guide requires basic command line mastery and a user with root privilege to install the required tools.

Creating Decent Environment For NexoPOS 4.x

Here follows the tools needed to configure the environment for NexoPOS 4.x.

Installing Apache, PHP 7.4, and MySQL

As this requirement is a complete tutorial, the following guides can be used to install PHP and MySQL (along with PHPMyAdmin).

For using NexoPOS 4.x locally, it’s recommended to create a virtual host. Using PHP-FPM it’s possible to create a virtual domain where NexoPOS can be accessed. PHP modules such as Mbstring, XML are required as well. Usually, running a command like what follows should be enough :

sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

Installing Node.js

Node.js will ensure the assets to be built after having downloaded NexoPOS 4.x For node.js and npm, the following command can be used:

sudo apt install nodejs

For better clarification on how to install Node.js, there is a detailed tutorial available here.

Installing Composer

Composer is one of the first tools that need to be installed. The guide on the installation is available on the official website.

This tool is enough to download and to install NexoPOS 4.x.

How To Download NexoPOS 4.x

Once the composer installed, it can be used to download NexoPOS 4.x. The following command download nexopos and store it on a folder named “nexopos”.

composer create-project blair2004/nexopos --prefer-dist nexopos --stability=dev

Proceeding this way should also install PHP vendors. However as NexoPOS doesn’t include build assets, it should be compiled using Node.js. This means after the installation is complete, the following command should be executed within the created folder “nexopos”.

npm install
npm run prod

These two commands will install NexoPOS 4.x javascript libraries and build them. The process might take some time according to internet speed.

How To Install NexoPOS 4.x

The next step is to proceed with the installation on the database. this is explained in this tutorial, which details the installation wizard for NexoPOS 4.x.

Managing Orders

Managing Orders From The POS on NexoPOS 4.x

Today starts a list of tutorials that shares progress on NexoPOS 4.x development. As some features haven’t been covered already a summary should come up very soon. In today’s progress, orders management has been improved from the POS and here are the details.

Why Managing Orders From POS ?

The idea to managing orders from the POS is mainly to process many orders at the time. For a scenario of a grocery store, this means being able to hold orders and process new other without loosing previous records. Meanwhile, 3 type of orders can be handled from the popup :

  • Hold Orders (which doesn’t affect the stock)
  • Unpaid Orders (which products are deducted from the stock)
  • Partially Paid Orders (same as unpaid but has received a partial payment).

Paid orders can’t be managed from the orders popup as these orders aren’t likely to receive further products or payments.

How To Hold An Order On NexoPOS 4.x

While proceeding to order, there is a button at the bottom of the cart. That button actually triggers the popup that should save the order as “hold”.

If some required information, such as the customer and the order type isn’t defined, new popups requesting this information might open.

While saving the order, a title might be provided for a quick reference, but it’s not mandatory.

How To Retreive Hold Orders On NexoPOS 4.x

The process to retrieve an order is as easier as it is to hold orders. While on the POS, there are various buttons on the top from which you can find the “Orders” button.

This popup opens a popup that shows orders according to their payment status. As mentioned earlier, there is 3 payment status supported: Hold, Unpaid & Partially Paid.

Each result has “Open” and “Products” buttons. The “Open” buttons load the order on the cart and “Products” shows a list of products added to the order.

Before opening an order, if there is an ongoing order on the cart, a confirmation popup will request the user approval before erasing the order ongoing.

What Happens Behind The Scene

When an order is saved, it creates a new record to the database. While that order is retrieved, the attribute “id” is used to let the POS knows the provided resource has a reference on the database. Therefore, while processing the order, it treats the order as an already saved order (thus doesn’t create new database records).


Welcome To NexoPOS 4

Today starts the official website for NexoPOS 4. You might have already heard that NexoPOS 4 is on the way and that’s right. Here, you’ll find everything useful either for the end-users or the developers in order to enrich the experience using NexoPOS 4.

On a frequent basis, progress and dev-tips are posted in order to keep people informed on the changes and progress.

Why NexoPOS 4 ?

NexoPOS 3.x has been released 4 years ago. Since that time, no major update has been released to solve major common issues. In 2018, NexoPOS 4 has started by, the decision about the technology to use wasn’t set. A prior version has been made using Node.js and Angular to create a native application with Electron.js, but the architecture wasn’t satisfying enough and there was no clear way to have an online and offline solution with that. After 1 year of serious investigations, Laravel, Vue, and TailwindCSS have been selected to power NexoPOS 4.

NexoPOS 4 is a complete rebuilt of NexoPOS from scratch only using the experiences and the customers’ expectations get from NexoPOS 3.x. The idea here is to solve major concerns faced with NexoPOS 3 that is “scalability” & “stability”. Moreover, NexoPOS 4 aims to be a real pluggable application, that can be extended by anyone having development skills.

Where is NexoPOS 4 Now ?

NexoPOS 4 is a new project, that requires times, involvement and passion. The project has started in July 2020 and it’s close to having a first beta version. However, at launch NexoPOS 4.x won’t have all the features that NexoPOS 3.x has (note that NexoPOS 3.x has been since 4 years maintained to reach his current level). But gradually, it will be implemented.

The minimum features planned to be released are those useful to manage a stock and the store along with related expenses (charges). With the work ongoing, the first beta version should be ready on early December 2020 or maybe before.

Your Contributions Are Welcome

NexoPOS 3.x has made his way that far thanks to contributions. Most of the improvements that have been added were initially shared as an idea. You’re therefore invited to share your ideas on Github. You can also already download NexoPOS and just give it a try to see where it is. There is a tutorial available that should guide you on how to install NexoPOS on Windows 10. More tutorials are about to be released here. But you can also test the demo online if you don’t want to install it now.

An important note is to be taken on the type of contributions. As contributions are welcome, not all a subject of approval. The contributions are expected to share ideas that aren’t specific to a country or a judicial system. These could lead to a specific customization.