I already have this working.
I have the drivers use ERPNext on a laptop mounted to a rolling cart in hte warehouse. They are responsible for loading their trucks from the warehouse using the laptop carts. We have 3 carts for this since we only have 3 dock locations at the main warehouse for trucks to back into we are covered in case all dock positions are full. The laptops also have barcode scanners attached to make the stock transfer more accurate.
When the driver is finished loading his truck, he saves his transfer. His truck is a warehouse in ERPNext and he does the material transfer from the main warehouse to his truck warehouse. when the transfer is saved we have a WORKFLOW rule that does NOT allow the driver to finalize the transfer. Instead the inventory manager is notified by an alert that a driver has finished loading.
The inventory manager (or a few other managers in the distribution list) is now responsible for reviewing the submitted transfer and clicking on APPROVE to allow the stock to be updated in both warehouses. In the event the manager sees something he doesn’t like, he calls the driver to get an explanation. If everything is good the approved transfer is complete. If not, the manager has the option to alter the transfer or refuse to approve it.
If the transfer is NOT approved, then the driver will NOT be able to sell anything he has loaded.
We accomplish this by making the system ONLY operate in LIVE mode. We don’t allow for offline mode sales. If the driver is unable to sell anything, they cannot make any money. So, they have become very careful about how they load their trucks so as to NOT impact their income. We have 7 large trucks operating in a 300 mile radius and working from 3 different regionalized warehouses. Each warehouse has enough laptop computers on carts to cover their number of dock locations.
Once everything is loaded and the drivers are off to their customer routes is when the ERPNext system really shows its power.
The drivers are using Android tablets with 4G wireless built in from our cell phone provider. I think they are all Asus Zen Pad 10 inch units. They are using a slightly modified version of the POS module to make their sales. The modifications are not required but it made life easier for them. The mods include the ability to see the customer address when chosing the customer from the drop down list, and an extra field at the top to type in a PO# that will then stay with the sales invoice record. The PO# field is also used by the drivers to write in the credit card approval number if they sell by credit card, or the check number if they take a check.
The tablets also have a bluetooth connected barcode scanner. Everything in inventory has a barcode and this makes the sales more accurate for the drivers.
In each case the drivers each have their own POS profile so that we can easily assign the sales invoice series numbers for the drivers. This make it so much simpler to answer phone calls from customers that may NOT know the sales reps name. As long as they can provide the invoice number we can tell who the driver is and when the sale took place.
Another very strong point of doing it this way… you can easily monitor the Sales Invoice screen and actually watch the sales register in the system. If you filter the list by series number (which is essentially the sales rep) you can tell how long they spend at each stop or even if they are goofing off and not really making the best use of your truck! Very powerful.
As for printing invoices. We put small power inverters in the cab of the trucks and places HP Envy 6000 series Inkjet printers in the trucks. The Android tablets can easily connect to the printers using the HP Print Service Plug-In. The HP Envy printers all have a function called WiFi Direct. It allows the tablet to connect directly to the printer over wifi. Since we use the 4G radios to connect to the internet, the wifi is open for the connection to the printer. This setup work beautifully.
At the end of the day the drivers are responsible for bringing a customer signed copy of the invoice to the office. If the sale was cash, the cash must be attached. If the sale was credit card the approval code must be on the invoice. If the sale was by bank check, then the check must be attached to the invoice. If the sale was On Account, then the customer account number must be on the invoice. If any of these things are missing, they do not get paid their commission for that sale.
A few times per week their trucks are spot checked for inventory counts. If the system shows items that were loaded to the truck warehouse location, but we have no sales invoice or other transfer to account for the item NOT being there, then the driver is docked the value of the item from their pay. This ensures the drivers are very careful about how they load and sell.
We do allow for the drivers to occasionally give away a product if they are trying to secure a new long term customer. All they have to do is generate a sale for it and change the price to zero. This gives them the flexibility to really grow the business for us and for themselves. We all win this way.
If you want to do this, it really is not hard. You just have to be committed to forcing everything to ONLY operate in LIVE mode. As soon as you start to allow OFFLINE selling (using the browser cache to hold the info), then you open up the system to potential fraud and internal arguments.
We also have customer in locations where we cannot get a signal with the 4G. In those cases the drivers are forced to fill out a form by hand for the sale and get it signed by the customer. When they get to a place where they have signal, they are required to enter the handwritten form into the POS module and complete the sale electronically there. They then staple the handwritten form to the electronically generated invoice they print in the truck. If it is not entered in POS, they do not get paid for it.
The modifications we made to POS are purely for our ease of use and record keeping. They are NOT required and you can still do the same thing in ERPNext without any customizations.
Advantages of doing it this way:
- drivers take responsibility and ownership of products they put on their truck
- drivers have incentive to make everything work right and follow rules
- sales are tabulated live on the system and can be viewed in real time
- series numbers follow drivers and make data easy to coordinate
- this same system works just as well in a store front
- accounting can generate their own report to match up to driver submissions
- inventory control can have complete “low stock” data as soon as the last truck is loaded and approved. This allows better purchasing and manufacturing schedules.
- Using the POS module forces the stock levels to tabulate immediately after a sale
- Using barcode scanners bluetooth connected to the tablets and the laptop carts makes stock transfer and sales more accurate.
- occasional 4G coverage issues
- everything MUST have a barcode in order to stay accurate
I think I explained everything fairly well. If you have specific questions let me know and I will try to elaborate.
Hope this helps