Kennisbank

Digitale werkbonnen offline: wat moet later worden gesynchroniseerd?

Test welke werkbongegevens offline worden bewaard, hoe conflicten worden afgehandeld en wanneer synchronisatie echt klaar is.

Een formulier dat zonder bereik open blijft, is nog geen offline werkbon. Uren, materialen, foto's, handtekening en status moeten lokaal herkenbaar bewaard blijven en later precies één keer naar de juiste bon gaan. Test verlies van verbinding, herstel en conflicten als één keten.

Download het invulbare werkblad in CSV. Open het lokaal als UTF-8 met een komma als scheidingsteken en vervang de voorbeeldwaarden door je eigen gegevens.

1. Bepaal welke handelingen offline mogen

Maak per veld een keuze: lezen, wijzigen, nieuw toevoegen of blokkeren. Een monteur kan misschien uren en notities vastleggen, terwijl planning of facturatie online moet blijven. Dit artikel bewijst niet dat een bestaande OmniTechs- of leveranciersapp offline werkt.

1. Bepaal welke handelingen offline mogen
OnderdeelOffline handelingNa herstel vereist
UrenToevoegen met lokaal tijdstipPrecies één regel met dezelfde waarde
MateriaalArtikel en aantal toevoegenBevestigd tegen dezelfde bon
NotitieTekst als concept bewarenTekst en revisietijd zichtbaar
FotoBestand met wachtrijstatusUpload bevestigd bij de juiste bon

2. Maak lokale opslag zichtbaar

Toon welke bon wacht op verzending, wanneer hij lokaal is gewijzigd en of bijlagen nog uploaden. Een algemene melding offline zegt te weinig. Sluit de app of browser tijdens de test en open hem opnieuw; controleer of concept en bijlagen nog bestaan.

Herhaal dat na een toestelherstart als dit bij het beoogde gebruik hoort. Noteer per veld de laatst zichtbare lokale revisie. Een lege thumbnail, verdwenen concept of opnieuw begonnen teller is een afkeuring, ook wanneer tekstvelden wel terugkomen.

3. Test de overgang zonder bereik

Start online, open één fictieve bon en verbreek daarna de verbinding. Voeg uren, materiaal en een foto-placeholder toe. Noteer vóór herstel het lokale recordnummer en de wachtrijstatus. Gebruik geen echte klantgegevens of handtekeningen.

Voer de proef ook uit terwijl de verbinding tijdens opslaan wegvalt. De verwachte uitkomst is één herkenbaar lokaal concept of een duidelijke fout zonder wijziging. Twee kopieën met onbekende status zijn geen veilige uitkomst.

4. Definieer synchronisatie per onderdeel

Een tekstregel kan zijn verstuurd terwijl een foto nog wacht. Leg daarom per onderdeel vast: lokaal, bezig, geslaagd of afgekeurd. Achtergrondsynchronisatie is afhankelijk van browser en platform; ontwerp ook een zichtbare handmatige hervatting en claim geen universele ondersteuning.

Laat een retry dezelfde bewerking herkennen met een stabiele lokale id. Na een time-out mag de gebruiker opnieuw proberen, maar de serveruitkomst moet aantonen of er nul of één definitieve regel bestaat. Alleen een draaiende spinner bewijst niets.

5. Behandel dubbele wijzigingen als conflict

Wijzigt kantoor dezelfde bon terwijl de monteur offline is, kies dan vooraf een regel. Stil overschrijven verbergt verlies. Praktische opties zijn blokkeren en laten beoordelen, velden afzonderlijk samenvoegen, of een nieuwe revisie maken met beide waarden zichtbaar.

Voorbeeld: lokaal verandert materiaal van 2 naar 3, terwijl kantoor het van 2 naar 4 zet. De verwachte uitkomst is een zichtbaar conflict met beide waarden en een eigenaar. Automatisch 3 of 4 kiezen is afgekeurd. Na het besluit ontstaat één nieuwe revisie, terwijl beide oorspronkelijke waarden in het bewijs blijven.

6. Werkvoorbeeld met aantallen

Een fictieve bon bevat vier onderdelen: uren, materiaal, notitie en foto. Na netwerkherstel zijn uren, materiaal en notitie bevestigd; de foto staat nog in de wachtrij. Drie geslaagd plus één open is vier. De bon blijft daarom deels gesynchroniseerd en mag nog niet naar facturatie.

De eerste foto-upload valt uit. De retry gebruikt dezelfde lokale id en levert één bevestigde bijlage op; twee bijlagen zou een duplicaat zijn. Tegelijk ontstaat het materiaalconflict 3 versus 4. De foto kan dus slagen terwijl de hele bon nog niet compleet is.

7. Maak een besluit en herstelpad

Keur de proef alleen goed wanneer elk verplicht onderdeel bevestigd is, dubbele verzending uitblijft en een conflict zichtbaar wordt. Stop wanneer lokale data verdwijnt, dezelfde regel tweemaal ontstaat of niemand de wachtrij beheert.

Gebruik het werkblad vóór de proef om per onderdeel de verwachte status en conflictregel in te vullen. Noteer daarna de lokale en serverstatus, sluit en heropen de toepassing, en vul pas dan akkoord in. Een open rij houdt de hele bon tegen wanneer dat onderdeel verplicht is.

De bestaande route digitale werkbon beschrijft de procesopdracht; werkbon-app helpt eisen aan een app te beoordelen. De matrix blijft een testblad, geen productbelofte.