=== Report 1: Scale of adjustment-kind stock movements by month, 2025 (written by Ines) === Engineer's note: Unit cost per variant = preferred supplier_products row if present, else cheapest unit_cost among suppliers; converted to EUR using exchange_rates (base_code=EUR, quote_code=supplier currency) as of the movement's occurred_at date. Movements for variants with no supplier_products cost are counted in unit/event totals but contribute 0 to estimated_value_eur (no cost basis available). REPORT: Scale of adjustment-kind stock movements by month, 2025 QUESTION: Unlike cycle_count (always exactly 1 unit), kind='adjustment' movements vary widely (avg ~10 units, max 192) — what is the monthly scale, direction (shrinkage vs gain) and estimated value of this stream, and how does it trend across 2025? month | adjustment_events | units_short | units_over | net_units_variance | abs_units_variance | estimated_value_eur | avg_abs_units_per_event --------+-------------------+-------------+------------+--------------------+--------------------+---------------------+------------------------ 2025-05 | 1 | 1 | 0 | -1 | 1 | 117.50 | 1.0 2025-12 | 406 | 0 | 4066 | 4066 | 4066 | 138023.65 | 10.0 (2 rows) === Report 2: Largest individual stock adjustments in 2025 (written by Grace) === Engineer's note: Unit cost is taken from each variant's preferred supplier (supplier_products.unit_cost, is_preferred=true; if several preferred rows exist for a variant the lowest id is used), converted to EUR via exchange_rates on the movement's date; rows with no preferred supplier cost show a null estimated_value_eur. The query returns the top 30 of 407 total 2025 adjustment-kind movements, as requested — please note the 407 total in the printed report since the query itself only returns the top 30 rows. REPORT: Largest individual stock adjustments in 2025 QUESTION: With only 407 adjustment-kind events in the year but some as large as 192 units, which specific events are driving the value — do they cluster by warehouse, merchant, location kind, category or product, or are they scattered? occurred_at | tenant_name | warehouse_name | location_kind | category_name | sku | quantity_signed | estimated_value_eur | reference_type ---------------------------+-------------------------------+---------------------------------------+---------------+---------------+------------------+-----------------+---------------------+--------------- 2025-12-31 22:59:59.999999 | Deskline Supplies | Newcastle upon Tyne Fulfilment Centre | pick | Desks | DS-10080 | 29 | 16314.07 | correction 2025-12-31 22:59:59.999999 | Deskline Supplies | Newcastle upon Tyne Fulfilment Centre | pick | Copy Paper | DS-10107-PALL | 28 | 9851.64 | correction 2025-12-31 22:59:59.999999 | OfficeHub Nordic | Oslo Fulfilment Centre | pick | Desks | ON-10170 | 39 | 8823.2 | correction 2025-12-31 22:59:59.999999 | Kontor24 Bürobedarf | Berlin Fulfilment Centre | pick | Desks | KB-10191 | 21 | 6179.25 | correction 2025-12-31 22:59:59.999999 | OfficeHub Nordic | Oslo Fulfilment Centre | pick | Desks | ON-10092 | 21 | 4760.89 | correction 2025-12-31 22:59:59.999999 | Kontor24 Bürobedarf | Berlin Fulfilment Centre | pick | Desks | KB-10216 | 14 | 4520.88 | correction 2025-12-31 22:59:59.999999 | Kontor24 Bürobedarf | Berlin Fulfilment Centre | pick | Desks | KB-10233 | 11 | 4480.52 | correction 2025-12-31 22:59:59.999999 | OfficeHub Nordic | Oslo Fulfilment Centre | pick | Toner | ON-10233 | 63 | 4183.91 | correction 2025-12-31 22:59:59.999999 | Kontor24 Bürobedarf | Berlin Fulfilment Centre | pick | Seating | KB-10204 | 19 | 4064.1 | correction 2025-12-31 22:59:59.999999 | Hanse Industriebedarf | Hannover Fulfilment Centre | pick | Storage | HI-10105 | 17 | 3833.22 | correction 2025-12-31 22:59:59.999999 | Deskline Supplies | Newcastle upon Tyne Fulfilment Centre | pick | Seating | DS-10090 | 12 | 3393.6 | correction 2025-12-31 22:59:59.999999 | Castell Fasteners | San Antonio Fulfilment Centre | pick | Storage | CF-10018 | 21 | 3145.15 | correction 2025-12-31 22:59:59.999999 | Castell Fasteners | San Antonio Fulfilment Centre | pick | Storage | CF-10093 | 40 | 2938.24 | correction 2025-12-31 22:59:59.999999 | Kontor24 Bürobedarf | Berlin Fulfilment Centre | pick | Desks | KB-10188 | 9 | 2891.34 | correction 2025-12-31 22:59:59.999999 | Hanse Industriebedarf | Hannover Fulfilment Centre | pick | Storage | HI-10089 | 22 | 2882.8 | correction 2025-12-31 22:59:59.999999 | Ballycorran Industrial Supply | Galway Fulfilment Centre | pick | Drills | BIS-10083 | 26 | 2789.02 | correction 2025-12-31 22:59:59.999999 | Midland Safety Wear | Rotterdam Fulfilment Centre | pick | Storage | MSW-10158 | 14 | 2585.3 | correction 2025-12-31 22:59:59.999999 | Hanse Industriebedarf | Hannover Fulfilment Centre | pick | Storage | HI-10079 | 33 | 1687.69 | correction 2025-12-31 22:59:59.999999 | Midland Safety Wear | Rotterdam Fulfilment Centre | pick | Storage | MSW-10168 | 8 | 1686.63 | correction 2025-12-31 22:59:59.999999 | OfficeHub Nordic | Oslo Fulfilment Centre | pick | Desks | ON-10209 | 3 | 1509.2 | correction 2025-12-31 22:59:59.999999 | Castell Fasteners | San Antonio Fulfilment Centre | pick | Storage | CF-10144 | 7 | 1453.33 | correction 2025-12-31 22:59:59.999999 | Hanse Industriebedarf | Hannover Fulfilment Centre | pick | Storage | HI-10163 | 6 | 1254.0 | correction 2025-12-31 22:59:59.999999 | Midland Safety Wear | Rotterdam Fulfilment Centre | pick | Gloves | MSW-10176-10XL | 192 | 1195.66 | correction 2025-12-31 22:59:59.999999 | Midland Safety Wear | Rotterdam Fulfilment Centre | pick | Grinders | MSW-10123 | 24 | 1151.04 | correction 2025-12-31 22:59:59.999999 | Deskline Supplies | Newcastle upon Tyne Fulfilment Centre | pick | Toner | DS-10094 | 43 | 976.9 | correction 2025-12-31 22:59:59.999999 | Deskline Supplies | Newcastle upon Tyne Fulfilment Centre | pick | Copy Paper | DS-10077-BOX5 | 23 | 948.26 | correction 2025-12-31 22:59:59.999999 | Kontor24 Bürobedarf | Berlin Fulfilment Centre | pick | Desks | KB-10043 | 2 | 947.28 | correction 2025-12-31 22:59:59.999999 | Deskline Supplies | Newcastle upon Tyne Fulfilment Centre | pick | Copy Paper | DS-10054-PALL | 12 | 922.02 | correction 2025-12-31 22:59:59.999999 | Ballycorran Industrial Supply | Galway Fulfilment Centre | pick | Drills | BIS-10125 | 7 | 886.34 | correction 2025-12-31 22:59:59.999999 | Castell Fasteners | San Antonio Fulfilment Centre | pick | Bolts | CF-10068-BOXOF50 | 33 | 880.41 | correction (30 rows) === Report 3: Cross-check: stock_adjustments table vs stock_movements adjustment-kind ledger, 2025 (written by Viktor) === Engineer's note: stock_adjustments has no occurred_at column, only created_at, so that is used as "when recorded" for that source; stock_movements uses occurred_at as requested. This is an all-tenant, all-currency unit/row-count comparison (no money involved), so no currency conversion was needed. REPORT: Cross-check: stock_adjustments table vs stock_movements adjustment-kind ledger, 2025 QUESTION: Does the stock_adjustments table (the human-entered correction record with a required reason) cover the same volume as the stock_movements kind='adjustment' ledger, or is one capturing materially more/less than the other — i.e., which is the authoritative source for 'a physical count or review found a quantity discrepancy'? source | row_count | total_abs_quantity | distinct_variants_affected | earliest_date | latest_date ---------------------------------------+-----------+--------------------+----------------------------+---------------------+--------------------------- stock_adjustments table | 10194 | 10194 | 9373 | 2025-01-01 09:00:00 | 2025-12-31 16:00:00 stock_movements kind=adjustment ledger | 407 | 4067 | 407 | 2025-05-19 09:00:00 | 2025-12-31 22:59:59.999999 (2 rows)