Inventory Movement Ledger

Inventory Movement Ledger

Track item quantities through receipts, issues, physical counts and linked corrections.

All rows are append-only and balances follow row order. A correction can revise only the latest normal row for that item. 1–80 items, 0–400 rows, quantities 0–1,000,000 and JSON at most 512 KiB. Save JSON before leaving.

2 items · 6 movement rows

Project

On-hand by item

Every item starts at zero. Receipts add, issues subtract, and a physical count sets the observed balance.

SKUItem nameOn handActivity
TEA-01Tea bags84 pcs1 receipts · 1 issues · 1 counts · 1 corrections
LABEL-01Labels45 sheets1 receipts · 1 issues · 0 counts · 0 corrections

Append-only movement history

Rows remain in append order. For a stocktake, Difference is observed minus Before; a later correction keeps the original difference visible.

#Transaction IDDateItemMovementQuantityBeforeDifferenceAfterReference and note
1tx12026-10-01Tea bagsReceipt1000+100100PO-101
2tx22026-10-02Tea bagsIssue15100-1585ISS-01
3tx32026-10-03Tea bagsStocktake8285-382COUNT-01Count: 3 below the book balance
4tx42026-10-03Tea bagsCorrectionCorrects tx38482+284COUNT-FIX-01Recounted as 84
5tx52026-10-03LabelsReceipt500+5050PO-102
6tx62026-10-04LabelsIssue550-545ISS-02

Register an item

SKU, name and unit identify the item in every movement. An item cannot be deleted or renamed in this append-only draft.

Append movement

Use a unique transaction ID. Receipt and issue quantities are positive; a stocktake quantity is the observed on-hand amount, including zero.

Append a linked correction

Only the newest normal transaction per item is eligible. Enter its revised receipt/issue quantity or corrected observed count. Older rows and discrepancies remain in the history.

Original 5 · current stock 45 · revised stock 45

Import JSON project

Choose version 1 JSON or paste its text. Only a valid import replaces the current draft; an error preserves it.

Comments & questions

Inventory Movement Ledger

Register stable item SKUs, then append a receipt, issue or observed physical count. Each row stores the balance before, signed change and balance after it. A correction appends another linked row that revises the latest transaction for that item; the original count and its discrepancy remain visible. Duplicate transaction IDs, impossible negative stock and modified historical totals are rejected. This is a browser-local quantity ledger, not a barcode scanner, accounting system or multi-user warehouse service.

Key features

  • Stable SKU, item name and unit with an on-hand quantity for each item
  • Append-only receipt, issue and observed-count rows with before/change/after values
  • Linked correction of the latest item transaction without erasing its original discrepancy
  • Case-insensitive duplicate transaction-ID and SKU rejection, plus negative-stock prevention
  • Strict versioned JSON round trip and formula-safe rectangular CSV report

How to use

  1. Load the office-supplies example or start with one blank item; save a project title.
  2. Register more SKUs with a name and unit. Item identities remain stable while the ledger is open.
  3. Append a receipt or issue with a unique transaction ID, date and quantity. Check the on-hand table.
  4. Append a physical count as the observed quantity; inspect the signed difference from the previous balance.
  5. If the most recent transaction for an item was entered incorrectly, append a linked correction with the revised quantity. Download JSON to resume work and CSV for review.

Use cases

  • Track office supplies received and issued by SKU
  • Keep the original book-versus-physical count difference after a recount
  • Correct an accidental issue quantity while retaining an audit trail
  • Review on-hand balances and movement rows in one CSV

Frequently asked questions

How does a physical count affect stock?

A count quantity is the observed on-hand quantity, not a quantity to add. Its signed difference is observed minus the previous book balance. The row stores both numbers and the difference. A later linked correction does not edit that historical row.

What can be corrected?

Only the most recent normal receipt, issue or count for the same item can be corrected. A correction appends a new row with the revised quantity and a link to its target. This prevents rewriting later item movements. To revise an older mistake, enter an appropriate new movement or use a more capable audited system.

How are duplicate transactions prevented?

Transaction IDs are unique across the project, ignoring letter case. SKUs are also unique ignoring case. Source references such as an invoice number are descriptive and may repeat across line items; they are not the transaction identity.

Can an issue or correction create negative stock?

No. Every appended row is replayed against the preceding item balance. An issue or revised issue exceeding available stock is rejected, as is a correction that would bring the balance below zero. The accepted project remains unchanged.

Does a date reorder the ledger?

No. Balances follow append order, displayed by row number. The date is a user-provided label and can differ from the order rows were recorded. This tool does not recalculate a historical as-of-date balance or reconcile concurrent warehouse users.

What is saved and where?

The project stays in this browser tab with no automatic save or server upload. Version 1 JSON is the editable format; invalid imports leave the current project unchanged. CSV is a report with item snapshot and movement rows, not an import format. Download JSON before leaving.

Privacy

Item names, quantities, references and notes stay in this browser tab and are not submitted to a server API. There is no automatic save or shared account. Downloaded JSON and CSV can contain sensitive operational details.

Related Tools

Barcode GeneratorBarcode scannerBasket Pattern AnalyzerKakuro StudioFunction Graph WorkbenchAudio ABX Blind TestCard Sort StudyEvent Run of ShowChecklist RunnerKanban Project BoardMind Map WorkbenchArgument Map EditorTeam Skill MatrixCorpus ConcordancerTerminology Glossary ManagerCloze Worksheet MakerSliding Tile PuzzleReversi BoardNonogram StudioMinesweeper LabTangram StudioCrossword BuilderWord Ladder GameWord Search StudioAnagram Word GameConnect Four BoardAttribute Trio PuzzleMaze WorkbenchNumber Merge GameLogic Grid Puzzle MakerLights Out PuzzlePeg Solitaire BoardArithmetic Cage PuzzleSudoku StudioChess Tactics BoardProjectile Motion LabGeometry Construction LabEtymology Map ExplorerPronunciation Comparison StudioReading PacerPhonetic Transcription LabProbability Experiment LabPeriodic Trend LabAlgebra Balance LabPhonics Word BuilderSpaced Repetition CardsService Blueprint DesignerOrganization Chart EditorProject Risk RegisterHabit Progress TrackerProcess Swimlane DesignerResource Capacity SchedulerRanked Ballot CounterUsability Task RunnerRequirements TraceabilitySentence Structure LabTranslation Memory WorkbenchDictation PracticeFraction ManipulativesMolecule Structure ViewerGantt Dependency PlannerWeighted Decision MatrixRound Robin SchedulerMental age test · everyday attitude themesPast-life story test27-question Enneagram explorerKorean initials quizFocus Games · Numbers and Ink ColorsColor vision reference platesPitch Recognition PracticeNumber Memory PracticeMoving Target RecognitionScoreboardBingo Card GeneratorTruth or DareQuote of the DayPreference Tournament MakerRock Paper ScissorsRandom Seating PlanRandom Nickname GeneratorRandom Conversation QuestionsMouse TestTouchscreen TestMonitor TestRefresh Rate EstimateScreen and Display InformationKorean Business Number CheckLotto GeneratorLadder GameCompatibility CheckerRandom GeneratorPassword GeneratorMy IP AddressLunch PickerSpin the WheelMetronomeReaction Time TestBalance Game (Would You Rather)Personality Type TestDream DictionaryKeyboard Test
Explore all Life/Fun tools →Image/Media →Text/Convert →Dev Tools →