You're creating a warehouse shipment via API for a serialized item with 0 qty, but in Production, it defaults to the full transfer order quantity. This doesn’t happen in Sandbox.
---
✅ Likely Causes & Checks:
1. API Limitation:
If you only create the shipment header, BC auto-generates lines with full qty. You need to manually set line qty to 0 using the warehouseShipmentLines endpoint.
2. Serialized Items:
For serial-tracked items, BC expects qty = 1 per serial no. It might override the qty unless tracking lines are set correctly.
3. Prod vs Sandbox Differences:
Check for custom extensions or event subscribers in Prod.
Confirm same location code and warehouse settings.
Check if your mobile app behaves differently in each environment.
4. Fix:
After shipment creation, update or delete lines via API to set correct qty (e.g. 0), or prevent line auto-generation and create them manually.
---
Mark this as verified answer if it helps you