← All courses

A pack-rounded replenishment CSV with recount and reservation exceptions

Inventory & Replenishment Exceptions

Turn stock snapshots and inbound orders into a checked replenishment queue.

intermediate · About 115 minutes · 4 lessons · 8 exercises + 1 project

Start lesson →

Your finished work

A pack-rounded replenishment CSV with recount and reservation exceptions

Completion requires every output check to pass. Exact columns, types, values, missing values and duplicate counts all matter. A diagnostic score helps you revise your work.

All examples use original, fictional business data. Your final project starts with 88 source records.

The course

  1. 1. Separate unknown stock from zero

    Identify counts that need investigation before ordering.

    Start lesson →
  2. 2. Validate inbound purchase orders

    Create one defensible inbound record per PO key.

    Start lesson →
  3. 3. Project stock without losing exceptions

    Join trusted arrivals while keeping the stock master complete.

    Start lesson →
  4. 4. Order complete packs with exception priority

    Choose an action and a supplier-valid quantity.

    Start lesson →

Put it together

Handoff a replenishment and exception queue

88 source records. Apply the business rules, check your output and download a handoff report with your source, answer and results.

Preview your first input

CREATE TABLE stock (sku TEXT, on_hand INTEGER, reserved INTEGER, reorder_point INTEGER, target INTEGER, pack_size INTEGER);
INSERT INTO stock VALUES
('SKU-100',NULL,0,10,30,4),
('SKU-101',11,1,10,35,6),
('SKU-102',0,0,10,40,10),
('SKU-103',1,4,10,30,4),
('SKU-104',4,4,10,35,6),
('SKU-105',5,5,10,40,10),
('SKU-106',6,6,10,30,4),
('SKU-107',7,7,10,35,6);
CREATE TABLE inbound (po_id TEXT, sku TEXT, units INTEGER, eta TEXT, status TEXT);
INSERT INTO inbound VALUES
('PO-100','SKU-100',4,'2026-10-01','cancelled'),
('PO-101','SKU-101',5,'2026-10-02','confirmed'),
('PO-102','SKU-102',6,'2026-10-03','confirmed'),
('PO-103','SKU-103',7,'2026-10-04','confirmed'),
('PO-104','SKU-104',8,'2026-10-05','confirmed'),
('PO-105','SKU-105',9,'2026-10-06','confirmed'),
('PO-106','SKU-106',10,'2026-10-07','confirmed'),
('PO-101','SKU-101',5,'2026-10-02','confirmed'),
('PO-102','SKU-102',999,'2026-10-03','confirmed'),
('EDGE-100','SKU-104',7,'2026-10-07','confirmed'),
('ORPH-100','UNKNOWN',40,'2026-10-07','confirmed');