Voorraadbeheer

Balansen (fysieke telling)

Een balans (Physical Inventory Order in Business Central) legt vast dat je op een bepaalde datum de fysieke voorraad op een locatie telt. Getelde aantallen worden vergeleken met wat het systeem verwacht; het verschil wordt als voorraadcorrectie (positieve of negatieve aanpassing) geboekt.

Dezelfde flow dient twee scenario's:

  • Periodieke telling — op een locatie waar al voorraadhistorie is. Klik Initialiseer uit voorraad om de verwachte aantallen vanuit Dynamics op te halen, dan tellen, daarna boeken om verschillen door te zetten.
  • Beginvoorraad / onboarding — op een nieuwe schoollocatie waar nog geen voorraad bekend is. Initialiseer uit voorraad sla je over: de balans start leeg, elke gescande EAN wordt een nieuwe regel met verwacht = 0 zodat alles wat je telt als positieve correctie wordt geboekt.

De functionaliteit zit in school-apps (de per-locatie mobiele app), bereikbaar via het menu-item Balansen op de homepage.


Wie doet wat?

ActieRecht
Balansen inzieninventory:read
Balans aanmaken, tellen, registratie afrondeninventory:write
Balans definitief boeken (voorraadaanpassing)inventory:approve

Het inventory:approve-recht dient als vierogenprincipe: degene die telt is doorgaans niet degene die de correctie definitief in de boekhouding zet.


De flow in het kort

  1. Iemand met inventory:write start een balans via Balansen → Nieuwe balans. In de dialog vult diegene een korte omschrijving in (default: Balans <locatie> dd-mm-yyyy).
  2. Optioneel: Initialiseer uit voorraad — alleen bij periodieke tellingen. Dynamics maakt regels aan voor alle artikelen met positieve voorraad op deze locatie. Bij een beginvoorraad sla je deze stap over.
  3. Een teller maakt een registratie aan — één registratie per opslaglocatie (bin) op locaties met binMandatory, of één gedeelde registratie op locaties zonder bin-eis. Meerdere tellers kunnen parallel verschillende registraties hebben.
  4. Per scan/ingave wordt de regel direct in BC bijgewerkt (geen lokale buffer — elke invoer is een PATCH).
  5. Teller rondt de registratie af. Aantallen stromen door naar de balans.
  6. Manager met inventory:approve boekt de balans. Verschillen tussen verwacht en geteld worden als Item Ledger Entries (Positive/Negative Adjmt.) vastgelegd.

Een balans aanmaken

Klik op Nieuwe balans op de landingspagina /count. Er opent een dialog met één invulveld:

  • Omschrijving — vrij tekstveld, max. 50 tekens. Default Balans <locatie> dd-mm-yyyy. Verplicht (mag niet leeg).

Klik op Start. Wimpel:

  • Controleert dat er geen open balans op deze locatie staat (één tegelijk — anders krijg je een foutmelding met het bestaande balansnummer en moet je die eerst afronden of annuleren)
  • Maakt een Phys. Inventory Order aan op de locatie die bij je sessie hoort
  • Roept de Business Central-actie Calculate Lines aan, die per (artikel, variant, bin) één regel aanmaakt met de verwachte voorraad
  • Brengt je direct naar de detailpagina van de balans

Op een locatie zonder voorraadhistorie (onboarding) komt Calculate Lines met een leeg resultaat. Dat is geen fout — de balans is leeg tot de teller scant of plakt.

Initialiseren uit voorraad — bij binMandatory

Op een locatie met binMandatory = true is Initialize from Inventory een per-bin operatie. BC's standaard Calc. Phys. Invt. Order Lines rapport itereert over Item Ledger Entries gegroepeerd op (Item, Variant, Locatie, Bin). Resultaat:

  • Voor elke (Item, Bin)-combinatie waar voorraad staat → één regel met qtyExpected = inventory in die bin.
  • Bij een lege bin → geen regel.
  • Beginvoorraad-locatie (geen ILE's) → niks geïnitialiseerd, blijft leeg.

Initialize is dus niet "alle voorraad op de locatie, één regel per item". Bij binMandatory krijg je N regels per item als het in N bins ligt.

Digitale en non-inventory items zijn automatisch uitgesloten van Initialize: BC's rapport baseert zich op Item Ledger Entries, en die bestaan niet voor items zonder fysieke voorraadtracking.


Detailpagina

Boven de pagina staan twee balans-niveau acties:

  • Balans boeken (groen, alleen met inventory:approve) — definitief de voorraadcorrecties doorzetten. Opent een dialog met een variantie-preview (top regels die afwijken, met +/- per regel) zodat je vóór bevestigen ziet wat er geboekt gaat worden.
  • Annuleren (rood) — de balans wegmieteren met al z'n registraties. Onomkeerbaar (achter een confirm-dialog).

Onder de header zie je een metrics-blok met Status / Regels / Verwacht / Variantie:

  • RegelsX/Y geteld. X = aantal balansregels dat aan een afgeronde registratie hangt. Y = totaal aantal regels op de balans.
  • Verwacht = som van wat het systeem verwacht over alle regels (totaal aantal stuks, niet aantal regels).
  • Variantie = Geteld - Verwacht. Positief = méér gevonden dan verwacht (bv. ongeregistreerde retour, of beginvoorraad). Negatief = items missen (verlies, schade, of nog niet geteld). Nul = telling klopt met administratie. Bij het boeken wordt deze variantie als voorraadcorrectie weggeschreven.

Empty-state CTA

Als de balans nul regels en nul registraties heeft, vervangt een gecentreerde lege-staat-card de Registraties-tabel:

Nog geen registraties Een registratie is één telsessie — bij meerdere tellers maakt elke teller zijn eigen registratie. Bij een periodieke telling kun je optioneel eerst Initialiseer uit voorraad klikken; bij een beginvoorraad sla je dat over en begin je direct te tellen. [+ Nieuwe registratie] [⤓ Initialiseer uit voorraad]

Zodra er één registratie is, verdwijnt de card en zie je de gewone Registraties-tabel met inline Nieuwe registratie knop in de section header.

Registraties-tabel

KolomInhoud
#Recording number
OmschrijvingDefault Registratie <persoonsnaam>
Geteld doorpersonResponsible (auto: ingelogde gebruiker bij aanmaken)
VoortgangX/Y geteld waarbij X = lines met recorded=true, Y = totaal lines in de registratie. voor nul-line registraties.
StatusOpen of Finished
ActiesVerwijderen (alleen bij Open, achter confirm-dialog die waarschuwt over te verliezen regels)

Registraties

Een balans wordt niet rechtstreeks geteld — je maakt registraties aan. Een registratie is één telsessie:

  • Op een locatie met binMandatory = true (bv. 102X087 Tilburg) kies je bij Nieuwe registratie eerst de bin (opslaglocatie) uit een combobox. Wimpel seedt de registratie met alle balansregels van díe bin. Het aantal registraties = aantal bins.
  • Op een locatie zonder binMandatory (bv. 101X270 Veghel) wordt er direct één registratie aangemaakt met alle regels — geen dialog. Doorgaans één registratie per teller.

Meerdere registraties kunnen tegelijk open staan en zijn niet aan elkaar gekoppeld — twee mensen die parallel een andere bin tellen, werken volledig onafhankelijk.

Hetzelfde artikel in twee registraties = twee regels

Als twee tellers tegelijk dezelfde EAN scannen in twee verschillende registraties, bestaan er twee getelde regels naast elkaar. Bij het afronden tellen ze samen in de balans. Dat is meestal gewenst (verschillende bins, samen total), maar wees alert wanneer geen binMandatory: dan kunnen tellers per ongeluk dubbel registreren.


Tellen

Op de registratiepagina zie je:

  • Een scanveld bovenaan (barcodemodus voor scanners, toetsenbordmodus voor handmatige invoer)
  • Een tabel met regels — kolom Systeem toont wat het systeem verwacht, kolom Geteld is waar jij invult
  • Een plakveld onderaan om meerdere EAN's tegelijk toe te voegen
  • Een knop Registratie afronden

Scannen

Scan je een EAN die al op een regel staat, dan springt de focus naar die regel. Typ je aantal, druk op Enter, en de regel wordt direct opgeslagen (groen vinkje).

Scan je een EAN die er nog niet is maar wél in de Wimpel-catalogus zit, dan wordt er automatisch een nieuwe regel aangemaakt met verwacht = 0. Dit is hoe onbekende vondsten en beginvoorraad worden verwerkt.

Scan je een EAN die niet in de catalogus zit, dan krijg je een foutmelding (EAN ... niet gevonden in de catalogus). Voeg het product eerst toe via Product toevoegen en daarna ook in Dynamics; pas dan kan het in een balans verschijnen.

Plakken en importeren

Het plakveld accepteert één regel per artikel in de vorm EAN gevolgd door aantal, gescheiden door tab, komma, puntkomma of spatie:

9789001234567	12
9789007654321	0
9789004567890	1

Een EAN zonder aantal wordt als 0 verwerkt — handig om snel een lijst "gezien" vast te leggen en later de aantallen in te vullen. Onbekende EAN's worden onder het plakveld als foutregels getoond; de bruikbare regels worden wél direct opgeslagen.

Upsert-gedrag (vervangen, niet optellen)

Plak je dezelfde EAN twee keer (in één batch óf in een latere paste), dan vervangt Wimpel het eerdere aantal — het wordt niet opgeteld. Hetzelfde geldt bij het scannen: scan je EAN X drie keer, dan staat de regel op 1, niet op 3. Je moet zelf het juiste totaal opvoeren. Dezelfde EAN dubbel in een paste-batch wordt automatisch gededupliceerd (laatste opgave wint) met een waarschuwingstoast.

Importeren uit Excel of CSV

Rechtsboven de Toevoegen-knop staat de link "of importeer Excel/CSV". Hiermee upload je een .xlsx-, .xls- of .csv-bestand. De eerste kolom moet de EAN bevatten, de tweede het aantal. De inhoud van het bestand wordt in het plakveld geladen zodat je nog kunt controleren en aanpassen voor je op Toevoegen klikt.

Plakveld is interactief

Bestand uploaden vervangt de inhoud van het plakveld niet automatisch — het wordt erin geplakt. Je kunt dus eerst handmatig wat regels intypen, dan een Excel uploaden om aan te vullen. Op Toevoegen klikken stuurt alles in één batch naar Dynamics.

Aantal = 0

Typ expliciet 0 als je een artikel bent tegengekomen en niks op de plank vindt. Een lege "Geteld"-cel betekent nog niet geteld — bij het boeken van de balans beslis je wat er met niet-getelde regels moet gebeuren.


Artikel-types: wat kun je tellen?

Tellers krijgen ALLE artikelen in beeld die in de Wimpel-catalogus staan. Onder de omschrijving toont Wimpel een type-badge (combi, digitaal) zodat je weet wat je in de hand hebt. We blokkeren niets aan de Wimpel-kant — het uitgangspunt is "telt wat fysiek aanwezig is". Dynamics is de tweede verdedigingslinie.

TypeVoorbeeldWat gebeurt er?
Fysiek9789001079369 (Reflecteren)Reguliere flow — accepteert, variantie wordt geboekt.
Combi9789001000929 (Stepping Stones FLEX book + online)Wimpel toont badge combi. Dynamics accepteert als het in BC's Item-tabel staat als voorraadhoudend. Kanttekening voor de teller: een combi-pakket op de plank tellen kan kloppen (één doos = één stuk). Maar tel je de losse fysieke component én de combi-EAN, dan tel je dubbel.
Digitaal08721516857071BC weigert de regel met Internal_InvalidTableRelation (digitaal item bestaat niet in BC's Item-tabel). Wimpel vertaalt dit naar: "Digitale artikelen kunnen niet fysiek geteld worden in Dynamics — overslaan."
Onbekend in WimpelEAN niet in prisma.productWimpel geeft toast / plakveld-error: "EAN niet gevonden in de catalogus". Voeg eerst het product toe via Catalogus → Product toevoegen én synchroniseer naar Dynamics.
Bestaat in Wimpel maar niet in BCEdge case na onvolledige syncVergelijkbare BC-error → vertaald naar "… bestaat in Wimpel maar niet als voorraadhoudend item in Dynamics."

Geen blokkade — wel duidelijkheid

We weigeren bewust niets op type-niveau. Een school met licentiekaarten op papier of combi-pakketten op de plank moet die in een beginvoorraad kunnen meenemen. Het type-badge en de geüsmaakte foutmelding zorgen dat de teller weet wat 'ie aan het tellen is — zonder valide flows te blokkeren.


Registratie afronden

Knop Registratie afronden onderaan. De registratie krijgt status Finished en de getelde aantallen stromen door naar de balans. Vanaf dat moment kun je de registratie niet meer bewerken — maak een nieuwe registratie aan als je nog moet bijtellen.

Bij binMandatory betekent dit: één registratie afgerond ⇒ die bin is klaar. Andere bins blijven beschikbaar voor parallel afronden.


Balans boeken

Op de balansdetailpagina staat de knop Balans boeken (alleen zichtbaar met inventory:approve). Klik je hem aan, dan verschijnt een bevestigingsdialoog met:

  • Variantie-preview (als er verschillen zijn): top 8 regels gesorteerd op |variantie|, met EAN, omschrijving en +/- getal. Header toont totaal aantal regels en cumulatief positief/negatief. Klikken op Boeken zonder eerst dit overzicht te zien is dus niet meer mogelijk.
  • Niet-getelde regels (als er regels zijn zonder ingevulde waarde en niet afgerond): radio-keuze:
    • Markeer als systeemaantal — regels krijgen hun verwachte aantal toegewezen (geen variantie geboekt). Kies dit als je alleen bedoelde te corrigeren wat je hebt aangeroerd.
    • Markeer als 0 — regels worden als volledig afgeschreven geboekt. Kies dit wanneer je alles hebt geteld en alleen wat je hebt gezien telt als aanwezig.

Bevestig je? Dan roept Wimpel de Business Central-actie Post aan. Per regel met een verschil ontstaat een Item Ledger Entry (Positive of Negative Adjmt.). De balans gaat naar status Finished en verhuist op de landingspagina naar Recent geboekt.

Boeken is onomkeerbaar

Zodra een balans geboekt is, zijn de voorraadaanpassingen definitief in de boekhouding. Een fout rechtzetten vraagt om een nieuwe balans met een tegenovergestelde correctie.


Balans annuleren

Een balans in status Open kan je annuleren via de Annuleren-knop. Alle getelde regels en registraties gaan verloren. Een geboekte balans kan niet geannuleerd worden.

Vorige
Voorraadoverzicht
Volgende
Leveranciers