SCRAP ERP v1.12.7 - PHYSICAL STOCK ADJUSTMENT SHEET

Inventory > Adjustment > Add Adjustment now opens a physical-count worksheet:
Sr | Code | Items | Type | Units | Recorded Stock | Physical Counting | Adjustment Stock

Enter the quantity physically counted. The displayed difference is:
Physical Counting minus Recorded Stock.
Recorded 10, counted 8 -> adjustment -2; saving leaves stock at 8.
Recorded 20, counted 25 -> adjustment +5; saving leaves stock at 25.
Blank cells are not counted and are unchanged. An explicit zero clears stock.
You can save multiple counts together. Each saved adjustment retains the original
quantity, physical count, difference, and stock value change for review.
Items with no difference can be saved as evidence of a completed count.

Stock changes use existing weighted-average cost. When recorded stock is zero,
a positive count requires a cost per unit; use zero only for no-cost stock.
Full depletion removes the exact remaining value. Quantity gains/losses affect
stock and the existing stock-adjustment account, not Cash/Bank Transactions.
Physical counts of processing items do not trigger automatic conversion.
Counts of pieces must be whole numbers. Kg counts support two decimals.

The date cannot be in the future or before existing stock movements of a counted
item. If stock or item details changed while the form was open, reload the sheet
and verify your count before posting. A failed row rolls back the whole save.
Up to 100 items are displayed per page; save before searching or changing pages.
Old opening/adjustment records remain in the Adjustment history.

UPDATE
Back up your database and scrap-erp folder. Upload this ZIP's scrap-erp contents
into your existing scrap-erp folder, replacing matching files. Keep
storage/config.php and storage/installed.lock. No database updater is needed.
Refresh; the header should show v1.12.7.
This full folder includes all earlier updates. For a fresh installation use
an empty database and open scrap-erp/install.php.

VERIFICATION
PHP 8.2 syntax and local PHP/SQLite checks passed for shortage/gain costs,
blank and zero counts, multi-item rollback, stale-stock detection, no automatic
processing, whole pieces, company isolation, saved history and form rendering.
Live hosting was not accessed.
