Warehouse Apps
Contact
Open source for Dolibarr

From shelf to parcel. No wrong picks.

PackScan and Inventory are two web apps for iPhone and Android that work directly with your Dolibarr: pick list sorted by storage location, packing by label scan, stocktaking in seconds per item. No app store, no cloud, no new software on the server. The apps are open source. If you want help with the setup, book the setup package.

2Room
LW1Pegboard
3Row
12Column

Every item has a storage location like 2.LW1.3.12. The apps show you where it hangs and sort the pick list in walking order.

Picking and packing in 48 seconds. Recorded in demo mode, the scans are simulated, no sound.

From my own warehouse

I have been running an online shop since 2014, together with my son since 2019, and have worked with Dolibarr since version 9.0.2. Over that time I gained a lot of experience with warehousing and shipping and kept improving the processes. The result is two apps that run in my warehouse every day and can make your work much easier too.

Stefan Grumpelt, gRoods.de

Where shipping loses time and money

Each of these mistakes costs postage, a return or a bad review. The apps check every step with the barcode instead of relying on lists and memory.

Wrong item in the envelope

Similar variants, sizes, colours. Every item is scanned when packing, wrong ones trigger an alarm immediately.

Postage bought, goods not there

The system says 1, the shelf is empty. With the shipping automation, labels and Internetmarke stamps are only created for orders that were actually picked.

Searching instead of picking

Where is the black watch strap in size M? Pick list sorted by storage location, with a grid of the wall.

Booked twice, postage paid twice

An aborted shipping run, a second start. The shipping automation books and labels every order only once, even after an abort. How this is safeguarded

Two ordered, one shipped

Usually only one piece of an item is sold. When an order does say 2 or 3, it is easily overlooked. The result is free follow-up shipments. Every piece is scanned individually. Only when all of them are in the parcel is the line done.

From marketplace to shipped parcel

This is a shipping day at gRoods.de. Every step can be traced in Dolibarr, and at the end every order has a shipment, a tracking number and a status.

In the apps is part of the free package. Add-on needs its own integration, e.g. a marketplace import or the shipping automation.

  1. Record storage locations and stock

    The foundation for everything else: PackScan can only sort and check if storage locations and stock are right. With the inventory app you walk through the warehouse once, assign storage locations and correct the stock. After that you recount on the side, e.g. with an exported count sheet.

    Inventory
  2. Import orders

    Orders from eBay, WooCommerce and other marketplaces arrive in Dolibarr as sales orders with an invoice. The stock is reserved in the picking warehouse.

    Add-on: import
  3. Work through the pick list

    PackScan combines all open orders into one list, sorted by storage location. Every grab from the shelf is scanned. For ten identical items you simply type the quantity.

    PackScan
  4. Release picked orders

    The app allocates the collected goods to the orders, oldest first. Only orders whose items are all there are released.

    PackScan
  5. Start the shipping run

    DHL labels or Internetmarke stamps are created for the released orders. Stock is transferred once, tracking number and customer email go out, and the number is reported to the marketplace. Without the automation you create the label in your shipping tool and the shipment in Dolibarr yourself.

    Add-on: automation
  6. Packing by label scan

    Scan the label or Internetmarke and the matching shipment opens. Every item is scanned before it goes into the envelope.

    PackScan
  7. Close automatically

    After the last item the app validates the shipment and closes the order in Dolibarr. Then comes the next label.

    PackScan

Two apps, one workflow

Both run in the smartphone browser and sit as an icon on the home screen. The barcode scanner is built in and reads EAN, Code 128, QR and the matrix code of the Internetmarke.

Inventory: product with storage location, fewer counted than in Dolibarr
Inventory

Count first, then pick

Stocktaking is the foundation for PackScan: storage locations and stock must be right before the pick list sorts by them. Scan the item, check location and quantity, save. The camera is ready again immediately.

  • Finds products by barcode or a separate GTIN field.
  • Suggests the next storage location for new items when you go shelf by shelf from left to right.
  • Stock per warehouse with −, + and delete to 0. If the count differs, the app shows the difference to Dolibarr right away, e.g. “→ −2”. “Save” books it immediately as a stock movement with code INV and date. The stock is reloaded fresh from Dolibarr right before.
  • Nothing is booked until you save. An accidental scan only shows the item.
  • Saves date and time of the last count and warns if an item has already been counted today.
  • Flashlight for dark corners, warehouses freely selectable and sortable.

New: count sheet and inventory log as PDF or CSV. The count sheet lists all items sorted by storage location, with expected stock per warehouse, a field for the counted quantity and the date of the last count. You can filter by storage location, e.g. a single wall, and by items not counted since a cut-off date. The inventory log lists all booked corrections for a period. Items with batch or serial number: storage location yes, please correct stock in Dolibarr.

PackScan: pick list with storage locations, last EAN digits and camera
PackScan

Pick list by storage location

All open orders in one list, sorted by your walking route through the warehouse.

  • Sorted by storage location: room, then wall or shelf, then row and column. You walk along the wall once instead of back and forth.
  • Identical items from several orders are combined.
  • Product image, storage location and the last EAN digits in large type, so you can grab without reading glasses.
  • Stock per warehouse at a glance, items without stock at the very bottom.
  • You hide shipping products such as postage lines once.
PackScan: grid of a pegboard with the location highlighted
PackScan

One tap on the location shows the wall

On a full pegboard with more than a hundred watch straps you find the right hook instantly. The app knows the size of every wall from your product data and draws it as a grid.

  • Blue is the location you are looking for, orange all other items on the pick list at the same wall. Take them along right away.
  • Grey occupied, dark free slots. You see free hooks for new goods on the side.
  • Row 1 at the top or bottom, depending on how you count.
PackScan: releasing picked orders
PackScan

Only pay postage for what is really there

After picking you release the complete orders. Only then is a label created.

  • The oldest orders get the goods first.
  • Incomplete orders wait and do not block the others.
  • The app shows what is left over so it goes back on the shelf.
PackScan: packing check after label scan
PackScan

Scan label, scan items, done

Scanning the shipping label opens the right shipment, without searching or typing.

  • Works with DHL labels and the matrix code of the Internetmarke.
  • Right item: beep and green flash. Wrong item: warning tone and red message.
  • Packed items slide to the bottom, open ones stay at the top.
  • After the last item the app closes the shipment and the order in Dolibarr.

Try it now

Both apps run as a demo in the browser, without installation and without sign-up. Best open them on your smartphone, then you can test the scanner too.

  1. Start with test data

    The demo opens with sample orders, a full pegboard and shipments to pack. Nothing goes to a real system.

  2. Enter your own Dolibarr

    Gear icon top right, demo mode off, enter API URL and token, “Test connection”. Dolibarr sends the required permissions (CORS) out of the box. Depending on server configuration, proxy or security module, the connection from another address may still be blocked.

  3. Test with a read-only user

    Create an API user for testing that may only read. You will see your real pick list and stock but cannot change anything. Which permissions these are is described in the Guide. The most reliable test is with the download in the customfolder of your Dolibarr.

Built for warehouse work

A warehouse is not an office: little light, full hands, many similar items. These details make the difference.

Reliable scanning, even in dark corners

One tap turns on the smartphone light. It stays on until you switch it off, even when switching between picking and packing. So the camera reads barcodes reliably behind shelves and under weak hall lighting.

Scanner quality in the browser

Full HD camera image and the ZXing barcode engine that many native scanner apps use too. Reads EAN, Code 128, QR, DataMatrix.

Listen instead of looking

Classic hand-scanner beep on recognition, a separate sound for “line complete”, a melody for “everything packed” and a gong when Dolibarr is closed. Errors sound low and flash red.

No double counting

A barcode that stays in front of the camera counts only once. For the next piece you briefly move it out of view.

The last EAN digits large

The final digits appear large next to every item, 4, 5 or 6 as you like. A tap on the product image shows it full screen.

Internetmarke is read

The app reads the tracking number directly from the matrix code of the Internetmarke, just like the Post & DHL app.

Bluetooth scanners welcome

Any scanner that acts as a keyboard works via the input line. For ten identical items you type the quantity.

Web app for iOS and Android, in 24 languages

Runs in Safari on iPhone and in Chrome on Android. As an icon on the home screen it starts full screen like a normal app. It speaks the browser language: German, English, French, Spanish and 20 more European languages.

One-thumb operation

Save and complete sit at the bottom within reach. After each step the view jumps back to the camera.

A code that describes the way

The storage location is stored as text on the product and is read like the way there: enter the room, go to the right wall or shelf, then choose row and column. The last two parts are always row and column.

Lots of digits in storage locations and EANs tire the eyes. That is why PackScan also shows the location graphically. And the EAN check whether you are holding the right product is luckily done by the scanner.

2.LW1.3.12Room 2, pegboard 1, row 3, column 12
2.SLW.E1.2.2.11Longer codes work too, e.g. a cabinet with levels. Row and column remain the last two parts.
+1If an item has no location yet, the inventory app suggests the last assigned location plus one column.

■ item you are looking for■ more on the pick list■ occupied□ free

What you save

Calculate with your own figures. The fields are filled with example values, not measurements. Set the hourly rate to what one hour of shipping work costs you.

Time saved14,7 hper month
Equivalent value733 €per month

Where the time comes from: no searching in the warehouse thanks to sorting by location, no ticking off on paper, no searching for the right shipment when packing, no closing at the PC. Mis-shipments and unnecessarily bought postage are not even included.

The apps are free. We do the setup together.

PackScan and Inventory are open source. For them to really work day to day, storage locations, barcodes and a few Dolibarr settings must be right. That is exactly where I help you.

Free

Open Source

For everyone who wants to set up on their own.

Support the project

The apps save you time and you set them up yourself? With a contribution you help to develop them further and adapt them to new Dolibarr versions. Every amount is welcome.

Support with PayPal

Support plans in the tiers Community, Basic, Business and Gold are also planned. They will come once the software has more users.

Price on request

Custom setup package

For everything beyond the fixed prices. From the analysis to the first shipping day.

Warehouse and shipping

  • Consulting on logistics and shipping processes: routes, packing station, shipping methods
  • Talk about warehouse, items and shipping routes
  • Storage location scheme for your walls and shelves
  • Warehouse training via video call
  • Shipping automation for DHL labels, Internetmarke and feedback to the marketplaces

Dolibarr and IT

  • Prepare Dolibarr: complementary attributes, API user and permissions, shipping methods, stock settings
  • Installation of the apps on your server, setup of the smartphones
  • Automated processes via cron job, e.g. import and shipping run
  • Backup of database and documents, with a restore test
  • Dolibarr tuning: speed, modules, updates
  • Security settings: HTTPS, users and permissions, access protection

Billed by effort at the hourly rate or as a fixed price agreed in advance.

Shipping automation: book once, label once

The automation is an add-on and not part of the free apps. At gRoods.de it runs daily as a Python script on the server. This is how it prevents double stock transfers and double labels, even if a run aborts or is started twice:

  1. Only one run at a time

    The run locks a file on the server. If a second one starts while the first is still working, it aborts immediately without changing anything. The lock is released automatically when the process ends, even after a crash.

  2. Only released orders

    Only orders with the field “picked” set, without a tracking number and without an existing shipment in Dolibarr are considered.

  3. Transfer per order, with a marker

    Before every booking the run writes the reverse booking into a rollback file. All movements carry the code VERSAND- plus order number, then the field “transferred” is set. Once the marker is set, it is never booked again. If it is missing, the run checks the existing movements: fully booked, then only the marker is added. Only partly booked, then the run holds this order and creates no label until you have checked.

  4. Label only after a successful transfer

    The tracking number is saved on the order immediately, even if something goes wrong afterwards, for example when saving the label PDF. No later run touches orders with a tracking number.

  5. Shipment as draft

    Finally the shipment is created in Dolibarr with tracking number and shipping method. PackScan finds it on the label scan and closes it after the packing check.

One residual risk remains: if Dolibarr fails exactly at the moment DHL has returned the number, it cannot be saved. The run reports this as an error and writes the number to the log. You should check this order before the next run. Every run can also be started beforehand as a dry run that only shows what would happen.

When things go differently

What the apps do in the most common special cases. What is not listed here is not supported.

Wi-Fi gone

Counted pick quantities and packed items stay saved on the device, even if the app is closed. If saving to Dolibarr fails, the app shows the error and you tap again after reconnecting. A shipment that was already validated is not booked twice. Loading new lists only works with a connection.

Several employees

Packing works in parallel on several devices as long as everyone packs a different shipment. Stocktaking works in parallel because the stock is reloaded right before booking. The pick list is per device: one person picks per round, released orders then disappear from everyone's list.

Partial quantities

Picking: incomplete orders stay on the list, quantities already counted remain. Packing: after a confirmation you can complete incompletely. Dolibarr then books the shipment with the original quantities though. Create real partial shipments in Dolibarr.

Sets and variants

A set is picked and packed as one item with its own barcode. The app does not break up the components of a Dolibarr kit. Every variant is a separate product with its own barcode.

Accidental scan

A barcode that stays in view counts only once. You cannot scan more than needed, foreign items are rejected. Correct with − or via the quantity input. When packing, ↺ resets the count of the shipment. In stocktaking nothing is booked until you save.

Items without barcode

You count inserts or items without EAN with +. The app marks them in the list. You hide postage and shipping lines permanently in the settings.

Versions and source code

The current version is shown at the bottom of the settings in each app. The source code is public on GitHub at github.com/groods-apps/packscan, where you also find all changes. The download contains both apps with the licence text.

  • New in 1.2.1: When packing, PackScan now also accepts the alternative code from the GTIN field, as the pick list and Inventory already do.
  • 1.2.0: Inventory exports count sheet and inventory log as PDF and CSV.
  • 1.1.0: both apps in 24 European languages. The app starts in the browser language, any language can be fixed in the settings.
  • 1.0.0: first public version. Pick list by storage location with wall grid and release of complete orders, packing by label scan with DHL labels and Internetmarke, automatic completion in Dolibarr, stocktaking with location suggestion and date of the last count, online demo.

What your Dolibarr needs

The apps are two files that are copied into a folder of your Dolibarr installation. They talk to Dolibarr exclusively via the official REST API.

System

  • Dolibarr 24 (developed and used), older versions on request
  • Reachable via HTTPS, otherwise the smartphone does not release the camera
  • Modules enabled: Products, Stocks, Sales Orders, Shipments, REST API
  • Barcode (EAN) maintained on the product
  • Shipping methods “DHL” and “Deutsche Post” active in the dictionary
  • iPhone with current iOS or Android with Chrome. A Bluetooth hand scanner also works.

API user

  • Separate user with API key, only for the apps
  • Products: read and modify (storage location, last inventory)
  • Stocks: read and create stock movements
  • Sales orders: read, modify and close
  • Shipments: read, create and validate
  • Third parties: read

Complementary attributes

Created in the setup of the respective objects. The codes can be changed in the apps.

Attribute codeObjectTypePurpose
lagerplatzProductTextStorage location such as 2.LW1.3.12, sorting and grid
gtinProductText, optionalSecond EAN, e.g. manufacturer code next to your own barcode
letzte_inventurProductDate and timeTime of the last count, filter for forgotten items
gepicktSales orderDate and timeRelease from the pick list, prerequisite for label or stamp
umgebuchtSales orderDate and timeProtection against double transfer in the shipping run
Check the stock setting: If your stock is already booked on import, i.e. when validating the order or invoice, “Decrease real stocks on shipping validation” must be switched off. Otherwise completing in PackScan books a second time.

To the detailed setup guide

Settings and data

The apps have no server and no database of their own. All business data is in your Dolibarr, the smartphone only holds the settings.

PackScan: settings with Dolibarr address, API token, shipping methods and pick list

What you can configure

  • Connection: Dolibarr address and API token, with connection test
  • Field names: codes of the complementary attributes for storage location, GTIN, last inventory and “picked”, if you use different names
  • Pick list: only invoiced or all validated orders, hidden products such as postage lines (with * as wildcard)
  • Display: 4, 5 or 6 highlighted EAN digits, row 1 of the wall grid at the top or bottom
  • Shipping: shipping method codes for parcel and letter, close order after packing, also close shipment
  • Inventory: which warehouses are shown and in which order
  • Language: automatic by browser language or fixed, 24 European languages
  • Device: flashlight remembers its state, delete all settings at the push of a button

Where what is stored

PlaceWhat
DolibarrStorage location, GTIN and last inventory on the product, stock corrections as stock movements, “picked” on the order, tracking number, shipping method and status of shipment and order
SmartphoneAPI address and token, all settings, pick progress and started shipments, last assigned storage location. In the browser's local storage, only on this device.
NowhereCamera images. They are only processed on the device.

If a device is lost, you block access by renewing the token of the API user in Dolibarr.

All settings with default values in the guide

Frequently asked questions

What does it cost?

The apps are open source and free. You only pay if you want help: Inventory setup €249, PackScan and Inventory ready to go €490, further work €100 per hour, all net. The shipping automation is available as a separate offer.

Where is my data?

Only in your Dolibarr. The apps are HTML files on your own server. There is no cloud and no third-party service. The smartphone only holds the settings and the API token, in the browser's local storage. You delete them with one tap in the settings.

Can I test the demo with my own Dolibarr?

Often yes: switch off demo mode in the demo and enter the address and token of your Dolibarr. The connection goes directly from your smartphone to your Dolibarr. Depending on the server configuration it may be blocked from another address though. A more reliable test is the download in the customfolder of your Dolibarr. Use a read-only user for testing.

Does it run on iPhone and Android? Do I need an app store?

Both work: on iPhone in Safari from iOS 16, on Android in Chrome. No app store is needed. The apps are web apps and can be added to the home screen like a normal app.

Does scanning work in poor light?

Yes. The built-in flashlight stays on until you switch it off. The camera works in Full HD and only evaluates the area inside the frame, which makes the scan reliable even with small barcodes.

Does it work without internet in the warehouse?

Only partly. Loading lists, searching products and saving need a connection to Dolibarr. What you have already counted or packed stays saved on the device if the connection drops. Stable Wi-Fi in the warehouse is a requirement.

Do I have to create labels and Internetmarke stamps with you?

No. The apps work with any tracking number stored in the Dolibarr shipment. The automation for DHL labels, Internetmarke and feedback to eBay and other marketplaces is available as an add-on on request.

How long does the setup take?

The apps are copied in a few minutes. The bigger part is storage locations and barcodes in the products. The inventory app helps here because it suggests location by location.

How do I get updates?

New versions are listed under Versions and on GitHub with the changes. To update, you replace the files on your server. Settings and tokens on the smartphones are kept.

Request setup

Write me briefly how many orders you ship per day, which marketplaces you use and how your warehouse is organised. I am happy to show you the apps live in my warehouse and make you an offer for the setup.

Emailinfo@groods.de
WhatsApp Business+49 351 16078332
Demo sessionLive via video call, approx. 20 minutes