($inventory[0].inventory | INDEX(.sku)) as $stock | [.orders[] | select(.status == "paid") | .cartItems[]?] | group_by(.sku) | map( .[0].sku as $sku | (map(.qty) | add) as $demand | $stock[$sku] as $item | {sku: $sku, demand: $demand, available: (if $item == null then null else $item.onHand - $item.reserved end), shortage: (if $item == null then null else ([$demand - ($item.onHand - $item.reserved), 0] | max) end), missingInventory: ($item == null)} )