This fictional board follows notebooks N01 in containers C1, C2, and C3, each holding ten pieces. The initial source quantity is thirty. Apply withdrawal M1 and it becomes twenty, with ten replacements requested. Record receipt R1 for five and five remain open. The HTML demonstration also blocks duplicate processing of M1 and R1, preserving the distinction between a signal, a request, and material received.

Put quantity and route on the card
Each card identifies the container, N01 notebooks, pieces as the unit, a full quantity of ten, source Shelf A, and destination Workshop Table. The supplied local rule returns a card when the whole container is withdrawn and requests ten replacements.
That is this model's rule, not a universal instruction to use every kanban signal at the same moment. Lean Enterprise Institute's kanban explanation describes signals carrying item, quantity, storage, and consuming-location information. Confirm your own signal policy and maintained stock records before applying an operational version.
The example supplies no lead time, reorder point, demand history, or recommended number of cards. Its purpose is to trace a single replenishment cycle without creating material through bookkeeping.
Follow the withdrawal before the request
Initially, C1 + C2 + C3 gives 10 + 10 + 10 = 30 pieces at Shelf A. M1 moves C1's ten pieces to Workshop Table. That leaves C2 and C3 unchanged, so twenty pieces remain at the source.
The returned C1 card creates request C1/M1 for ten replacements. No receipt has yet been supplied, so received quantity is zero and open quantity is ten. A request does not restore C1 to the shelf.
Keep the destination visible. Withdrawal from Shelf A is not evidence that those notebooks have been consumed throughout the system. This board counts material at the named source and records the related replenishment need.
Process one signal once
Presenting C1/M1 again must not create a second ten-piece request. The demonstration retains a duplicate note explaining that this exact container/movement reference was already processed. The requested quantity stays ten.
This identity check concerns one cycle. A future withdrawal involving C1 would need its own movement reference and supporting records. It should not be blocked merely because C1 appeared in an earlier cycle, nor should a new arbitrary ID be used to disguise a repeated signal.
Use the event ledger to inspect the original M1 record whenever the duplicate message appears. A clear reason is more useful than a button that simply stops responding.
Leave a partial refill open
R1 supplies five replacement pieces against the ten-piece request. The calculation is 10 − 5 = 5 still open. Five received does not establish a full ten-piece refill. Keep that receipt visible, including when the full-refill check reports that closure is unsupported.
The received five are separate from C2 and C3's twenty source pieces. Actual receipt location, acceptance, and release-to-available rules are not supplied, so the demonstration does not assert a new available-stock total of twenty-five or restore a full C1 container.
Processing R1 again leaves the received quantity at five. A later receipt would need a new reference and evidence; the example does not invent one to finish the cycle.
Copy this prompt
Create a self-contained US-English HTML kanban replenishment teaching board with original container lanes, a quantity reconciliation, and an event ledger. Use an industrial stationery aesthetic, readable 16px-or-larger text, strong state labels, and stacked lanes at 360px. No external libraries, requests, or persistent storage.
Label all data fictional. Item N01 is office notebooks, unit pieces. C1, C2, C3 each contain ten pieces at Shelf A; destination Workshop Table. Local model policy: whole-container withdrawal returns one card requesting ten replacements. This is not a universal empty-bin rule or stock recommendation.
Initial source quantity is thirty. A type=button Apply M1 control withdraws C1: C2/C3 source quantity twenty, requested ten, received zero, open ten. Retain C1/M1 identity and show the movement. Repeating M1 must retain a duplicate audit message without increasing requested quantity or withdrawing again.
Apply R1 records five pieces against C1/M1, leaving five open. Do not add these automatically to source availability because receipt location/acceptance/release rules are unknown. Repeating R1 must not add five again. Applying R1 before M1 must give an explanatory prerequisite message.
Provide a Check full refill button that explains why five received cannot close ten requested; no unsupported full container restoration. Include Reset to the thirty-piece initial teaching state. Keep source material, requested, received, and open quantities separately labeled and linked to evidence IDs.
No purchasing, material movement, synchronization, notifications, demand forecast, or operational authorization. Actual inventory records remain authoritative. Use accessible buttons, explicit selectors, visible keyboard focus, and concise textual feedback. Return complete offline HTML.
Walk through M1, the duplicate attempt, R1, and the closure check before discussing a real board with its owner. A sanitized HTML review in NOS can preview the signal and remaining quantity together. Keep actual material events and authorization in the maintained inventory workflow, then obtain evidence for the five pieces still outstanding.