Lager Apps
Kontakt

Einrichtung von PackScan und Inventur

Diese Anleitung führt dich durch alles, was in Dolibarr und auf dem Smartphone eingestellt werden muss. Rechne mit ein bis zwei Stunden für die Technik. Das Vergeben der Lagerplätze dauert je nach Sortiment länger, die Inventur-App hilft dabei.

Gilt für PackScan und Inventur 1.2.1, getestet mit Dolibarr 24.0. Menünamen sind aus der deutschen Oberfläche, sie können je nach Version leicht abweichen.

1Vorher ausprobieren

Beide Apps laufen ohne Installation als Demo mit Testdaten. Öffne sie am besten gleich auf dem Smartphone, dann kannst du auch den Scanner testen.

Mit dem eigenen Dolibarr testen

Du kannst die Demo auch mit deinem Dolibarr verbinden: Zahnrad oben rechts, Demo-Modus ausschalten, API-URL und Token eintragen, „Verbindung testen“. Dolibarr sendet die dafür nötigen Freigaben (CORS) von Haus aus. Je nach Serverkonfiguration, Proxy oder Sicherheitsmodul kann die Verbindung von einer fremden Adresse trotzdem blockiert werden. Am zuverlässigsten testest du mit den selbst gehosteten Dateien aus Schritt 8.

Zum Testen einen eigenen Benutzer verwenden. Lege für den Test einen Benutzer an, der nur lesen darf (Rechte siehe Schritt 7). Dann siehst du Pickliste, Lieferungen und Bestände, kannst aber nichts verändern. URL und Token bleiben nur im Browser deines Smartphones. Unter Einstellungen löscht „Alle Einstellungen auf diesem Gerät löschen“ sie wieder.

2Voraussetzungen

  • Dolibarr ab Version 24 (ältere Versionen auf Anfrage)
  • Dolibarr ist über HTTPS erreichbar. Ohne HTTPS gibt das Smartphone die Kamera nicht frei.
  • Produkte haben einen Barcode (EAN) oder eine GTIN im ergänzenden Attribut
  • Aufträge kommen als Kundenaufträge in Dolibarr an, z. B. per Import von eBay, WooCommerce oder anderen Marktplätzen
  • Ein Smartphone mit Kamera: iPhone mit iOS 16 oder neuer (Safari) oder Android 10 oder neuer (Chrome)
  • WLAN im Lager. Jeder Scan fragt live bei Dolibarr nach.

3Module aktivieren

Unter Einstellungen › Module/Anwendungen müssen diese Module eingeschaltet sein:

ModulWofür
ProdukteArtikel, Bilder, Lagerplatz
BarcodesFeld „Barcode“ am Produkt. Als Standard-Typ EAN13 wählen.
LagerverwaltungLager, Bestände, Lagerbewegungen
KundenaufträgeGrundlage der Pickliste
LieferungenEinpacken und Versand abschließen in PackScan
API/Webservices (REST Server)Schnittstelle, über die die Apps mit Dolibarr sprechen

4Bestandsbuchung prüfen

Der Bestand darf nur an einer Stelle abgebucht werden. Schau unter Einstellungen › Module › Lagerverwaltung (Zahnrad), wann Dolibarr bei dir abbucht:

  • Abbuchung beim Freigeben von Auftrag oder Rechnung (üblich bei Marktplatz-Importen): Dann muss „Tatsächlichen Lagerbestand beim Freigeben von Lieferungen reduzieren“ aus sein. Sonst bucht der Versandabschluss in PackScan ein zweites Mal ab.
  • Abbuchung erst beim Versand: Dann bleibt nur diese Option an, und die beiden anderen sind aus. PackScan validiert die Lieferung, und Dolibarr bucht den Bestand dabei ab.
Kurz testen: Einen Testauftrag komplett durchspielen und danach unter Lagerbewegungen prüfen, dass jeder Artikel genau einmal abgebucht wurde.

5Ergänzende Attribute anlegen

Ergänzende Attribute legst du im jeweiligen Modul an: Einstellungen › Module › Produkte bzw. Kundenaufträge, dort der Reiter „Ergänzende Attribute“. Der Attribut-Code muss klein und ohne Leerzeichen sein. Wenn du andere Codes verwendest, trägst du sie in den App-Einstellungen ein.

Am Produkt

Attribut-CodeBezeichnungTypPflicht?Wofür
lagerplatzLagerplatzZeichenkette, Länge 32jaSortierung der Pickliste, Wand-Raster, Vorschlag in der Inventur
gtinGTINZeichenkette, Länge 14neinZweiter Barcode, z. B. Herstellercode, wenn das Barcode-Feld einen eigenen Code enthält
letzte_inventurLetzte InventurDatum und UhrzeitneinZeitpunkt der letzten Zählung. In der Produktliste kannst du danach filtern.

Am Kundenauftrag

Attribut-CodeBezeichnungTypPflicht?Wofür
gepicktGepicktDatum und UhrzeitjaPackScan setzt es bei der Freigabe nach dem Picken. Freigegebene Aufträge verschwinden aus der Pickliste.
umgebuchtUmgebuchtDatum und Uhrzeitnur mit Versand-AutomatikSchutz gegen doppelte Umbuchung im Versandlauf
dhl_shipment_numberSendungsnummerZeichenkette, Länge 64nur mit Versand-AutomatikAufträge mit Sendungsnummer zählen als versendet und erscheinen nicht mehr in der Pickliste

Tipp: Bei „Sichtbarkeit“ reicht „nur in der Detailansicht“, dann bleibt die Liste übersichtlich.

6Versandarten

PackScan trägt beim Abschluss die Versandart an der Lieferung ein, wenn dort noch keine steht. Das passiert anhand der Sendungsnummer: Nummern einer Internetmarke beginnen mit A0 und bekommen die Brief-Versandart, alle anderen die Paket-Versandart.

Unter Einstellungen › Wörterbücher › Versandarten:

CodeBezeichnungTracking-URL
DHLDHL Paket (vorhanden, nur aktivieren)https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?piececode={TRACKID}
DPAGDeutsche Post (neu anlegen)https://www.deutschepost.de/de/s/sendungsverfolgung.html?piececode={TRACKID}

Andere Codes, z. B. für Hermes oder GLS, trägst du in PackScan unter Einstellungen ein.

7API-Benutzer und Rechte

Lege für die Apps einen eigenen Benutzer an, keinen Administrator. So siehst du in Dolibarr genau, welche Buchungen von den Apps kommen, und kannst den Zugang jederzeit sperren.

  1. Benutzer & Gruppen › Neuer Benutzer, z. B. Login lager-app. Kein Administrator, kein externer Benutzer.
  2. Im Reiter „Berechtigungen“ die Rechte aus der Tabelle setzen.
  3. In der Benutzerkarte auf „Bearbeiten“ und beim Feld „Token für API“ einen Token erzeugen. Je nach Version liegt das im eigenen Reiter „Tokens für die API“.
  4. Token kopieren. Er wird in den Apps unter „API-Key (DOLAPIKEY)“ eingetragen.
ModulBerechtigungNur testenPackScanInventur
ProdukteProdukte/Leistungen einsehen✓✓✓
ProdukteProdukte/Leistungen erstellen/bearbeiten✓ Lagerplatz, letzte Inventur
LagerverwaltungWarenlager und Lagerbestände einsehen✓✓✓
LagerverwaltungLagerbewegungen einsehen✓✓✓
LagerverwaltungLagerbewegungen erstellen/bearbeiten✓ Bestandskorrektur
KundenaufträgeKundenaufträge einsehen✓✓
KundenaufträgeKundenaufträge erstellen/bearbeiten✓ Feld „gepickt“
KundenaufträgeKundenaufträge abschließen✓
LieferungenLieferungen einsehen✓✓
LieferungenLieferungen erstellen/bearbeiten✓ Sendungsnummer, Versandart
LieferungenLieferungen freigeben✓
GeschäftspartnerGeschäftspartner einsehen✓✓ Kundenname

Produktbilder und Versandarten liest die App mit denselben Rechten, dafür ist nichts Zusätzliches nötig.

8Apps installieren

Die Apps sind einfache Dateien, eine Installation auf dem Server oder eine Datenbank brauchen sie nicht. Am einfachsten legst du sie in den custom-Ordner deiner Dolibarr-Installation. Dann erkennt die App die API-URL selbst.

  1. PackScan-Inventur_v1.2.1.zip herunterladen und entpacken. Alternativ das Repository von GitHub klonen.
  2. Ordner anlegen: htdocs/custom/lager/
  3. Den Inhalt des Ordners lager-apps hineinkopieren: index.html, packscan.html, inventur.html, die beiden *.manifest.json und die Icons *-192.png, *-512.png, *-maskable-512.png.
  4. Im Browser aufrufen: https://dein-dolibarr.de/custom/lager/. Die Startseite verlinkt beide Apps.

Die Apps können auch auf einem anderen Webserver liegen. Dann trägst du die API-URL von Hand ein, sie lautet immer https://dein-dolibarr.de/api/index.php.

9Smartphone einrichten

PackScan und Inventur sind Web-Apps. Sie laufen im Browser, lassen sich aber wie eine normale App auf den Home-Bildschirm legen und starten dann im Vollbild. Ein App-Store wird nicht gebraucht.

iPhone (iOS)

  1. Die App-Adresse in Safari öffnen
  2. Teilen-Symbol › „Zum Home-Bildschirm“
  3. App über das neue Icon starten
  4. Kamera-Zugriff einmal erlauben

Android

  1. Die App-Adresse in Chrome öffnen
  2. Menü ⋮ › „App installieren“ oder „Zum Startbildschirm hinzufügen“
  3. App über das neue Icon starten
  4. Kamera-Zugriff einmal erlauben

Danach in jeder App einmal das Zahnrad öffnen, API-URL und Token eintragen und „Verbindung testen“ tippen. Beide Apps teilen sich URL und Token, wenn sie unter derselben Adresse liegen.

10Einstellungen der Apps

Alle Einstellungen erreichst du über das Zahnrad oben rechts. Sie gelten für das jeweilige Gerät, jedes Smartphone wird also einmal eingerichtet.

Gemeinsam für beide Apps

EinstellungStandardBedeutung
Dolibarr-API-URLautomatisch im custom-OrdnerAdresse der REST-Schnittstelle
API-Key (DOLAPIKEY)leerToken des API-Benutzers
Extrafeld-Code LagerplatzlagerplatzAttribut-Code am Produkt
Extrafeld-Code GTIN/EANgtinZweiter Barcode, wird gesucht, wenn der Barcode nicht passt
Demo-Modusaus (in der öffentlichen Demo an)Testdaten statt Dolibarr
SpracheSprache des Browsers24 Sprachen: Deutsch, Englisch, Französisch, Spanisch, Italienisch, Portugiesisch, Niederländisch, Polnisch, Tschechisch, Slowakisch, Ungarisch, Rumänisch, Bulgarisch, Kroatisch, Slowenisch, Griechisch, Schwedisch, Dänisch, Norwegisch, Finnisch, Estnisch, Lettisch, Litauisch, Ukrainisch. Wird die Browsersprache nicht unterstützt, startet die App auf Englisch.
TaschenlampeausBleibt an, bis du sie ausschaltest, auch nach einem Neustart der App

Nur PackScan

EinstellungStandardBedeutung
Nur abgerechnete Aufträge in die PicklisteanAn: nur freigegebene Aufträge mit Status „abgerechnet“, also bezahlte Marktplatz-Bestellungen. Aus: alle freigegebenen Aufträge.
Ausgeblendete ProdukteDE_*, eBayPlus, DUMMYReferenzen, die nie gepickt werden, z. B. Porto-Positionen. * steht für beliebige Zeichen.
EAN: hervorgehobene letzte Ziffern44, 5 oder 6 Endziffern groß neben jedem Artikel
Raster: Zeile 1 istobenZählrichtung der Zeilen im Wand-Raster
Extrafeld-Code „gepickt“gepicktDatumsfeld am Kundenauftrag
Versandart-Code Paket / BriefDHL / DPAGWird eingetragen, wenn die Lieferung noch keine Versandart hat
Auftrag nach dem Einpacken abschließenanSetzt den Kundenauftrag auf „Geliefert“
Lieferung zusätzlich schließenausSchließt die Lieferung nach dem Validieren. Nur einschalten, wenn du geschlossene Lieferungen brauchst.
Gezählte Mengen auf 0 setzenSetzt den Pick-Fortschritt auf diesem Gerät zurück

Nur Inventur

EinstellungStandardBedeutung
Extrafeld-Code Letzte Inventurletzte_inventurDatums- und Uhrzeitfeld am Produkt
Lager auswählen und Reihenfolgealle LagerWelche Lager beim Zählen erscheinen und in welcher Reihenfolge
„Zuletzt gezählt“ leerenLeert die Liste der zuletzt gezählten Artikel
Inventurliste exportierenAuf der Startseite der Inventur: Zählliste (sortiert nach Lagerplatz, Soll je Lager, Feld für Ist) oder Inventurprotokoll (gebuchte Korrekturen eines Zeitraums) als PDF oder CSV. Es gelten die ausgewählten Lager.

11Wo die Daten liegen

Die Apps haben keinen eigenen Server und keine eigene Datenbank. Es gibt nur zwei Orte:

In deinem Dolibarr

  • Lagerplatz, GTIN und letzte Inventur am Produkt
  • Bestandskorrekturen als Lagerbewegung mit Inventur-Code
  • „gepickt“ am Kundenauftrag
  • Sendungsnummer, Versandart und Status der Lieferung
  • Status des Kundenauftrags

Im Browser des Smartphones

  • API-URL und Token
  • Alle Einstellungen aus Schritt 10
  • Pick-Fortschritt und begonnene Lieferungen, falls die App zwischendurch geschlossen wird
  • Letzter vergebener Lagerplatz und die Liste der zuletzt gezählten Artikel

Die Daten im Browser liegen im lokalen Speicher der Website, alle Schlüssel beginnen mit ps_. Beide Apps teilen sich diesen Speicher, wenn sie unter derselben Adresse liegen. Kamerabilder werden nur im Gerät ausgewertet und weder gespeichert noch übertragen.

Zum Löschen: in den Einstellungen „Alle Einstellungen auf diesem Gerät löschen“ tippen oder in den Browser-Einstellungen die Websitedaten löschen. In Dolibarr bleibt dabei alles erhalten.

Verliert ein Mitarbeiter sein Smartphone, löschst oder erneuerst du einfach den Token des API-Benutzers in Dolibarr. Danach ist das Gerät ohne Zugriff.

12Lagerplätze vergeben

Ein Lagerplatz ist ein Text mit Punkten und beschreibt den Weg von vorn nach hinten: Raum, Wand oder Regal, Zeile, Spalte. Die letzten beiden Stellen sind immer Zeile und Spalte.

BeispielBedeutung
2.LW1.3.12Raum 2, Lochwand 1, Zeile 3, Spalte 12
1.R4.2.5Raum 1, Regal 4, Fachboden 2, Platz 5
2.SLW.E1.2.11Raum 2, Schrank-Lochwand, Ebene 1, Zeile 2, Spalte 11
  • Zeile und Spalte müssen Zahlen sein. Die Pickliste sortiert numerisch, also 2 vor 10.
  • Alle Artikel mit demselben Anfang, z. B. 2.LW1, bilden eine Wand. PackScan zeichnet sie als Raster.
  • Am schnellsten geht es mit der Inventur-App: Wand von links nach rechts abgehen, scannen, speichern. Hat ein Artikel noch keinen Platz, schlägt die App den zuletzt gespeicherten plus eine Spalte vor. Mit + und − änderst du jede Stelle einzeln.

13Täglicher Ablauf

  1. Picken: PackScan, Reiter „Pickliste“. Artikel in Reihenfolge scannen oder Menge tippen. Am Ende „Gepickte Aufträge freigeben“.
  2. Lieferungen erzeugen: mit der Versand-Automatik per Versandlauf, sonst in Dolibarr am Auftrag „Lieferung erstellen“ und die Sendungsnummer eintragen.
  3. Einpacken: PackScan, Reiter „Lieferungen“. Label oder Internetmarke scannen, dann jeden Artikel. Nach dem letzten Artikel schließt die App Lieferung und Auftrag ab.
  4. Inventur: nebenbei, wann immer Zeit ist. Artikel scannen, Platz und Menge prüfen, speichern.

14Fehlerbehebung

MeldungUrsache und Lösung
Kamera startet nicht, NotAllowedErrorDie Seite läuft nicht über HTTPS, oder der Kamera-Zugriff wurde abgelehnt. In iOS unter Einstellungen › Safari › Kamera bzw. in Chrome über das Schloss-Symbol neben der Adresse erlauben.
HTTP 401Token falsch oder abgelaufen. In Dolibarr neu erzeugen und in der App eintragen.
HTTP 403Dem API-Benutzer fehlt ein Recht. Tabelle in Schritt 7 prüfen.
Failed to fetch / Load failedAdresse falsch, Dolibarr nicht erreichbar oder nur über HTTP. Die API-URL im Browser öffnen: …/api/index.php/status muss eine Antwort liefern.
Pickliste leerAufträge müssen freigegeben sein. Ist „Nur abgerechnete Aufträge“ an, müssen sie außerdem als abgerechnet markiert sein. Bereits gepickte Aufträge und Aufträge mit Sendungsnummer erscheinen nicht.
Keine LieferungenDer Reiter zeigt nur Lieferungen im Entwurf. Validierte Lieferungen gelten als versendet.
Produkt nicht gefundenBarcode am Produkt fehlt oder weicht ab. Die App sucht zuerst im Barcode-Feld, dann im GTIN-Attribut.
Kein Wand-RasterDer Lagerplatz endet nicht auf zwei Zahlen, oder der Attribut-Code in den Einstellungen stimmt nicht.
Bestand doppelt abgebuchtSchritt 4 prüfen: Abbuchung bei Lieferung ausschalten, wenn schon beim Auftrag oder bei der Rechnung abgebucht wird.

Hilfe bei der Einrichtung gibt es im Einrichtungspaket, oder schreib mir.