Fix NetSuite Inbound Shipment Stuck
An Inbound Shipment sticks at partiallyReceived when its line expects more units than the closed PO can send, and landed cost locks the quantity.

On this page
Your Inbound Shipment sits at partiallyReceived with a clean inventory count, a closed PO, and a correct landed cost allocation. The goods are complete. The GL is right. But the status won't advance, and it shows up on every open shipment search and report.
This is a known deadlock: the shipment line expects more units than the PO can ever deliver, and the only editable field is locked by landed cost.
Why the Status Gets Stuck
The Inbound Shipment record tracks expected quantities against actual receipts. When you keyed the shipment from the supplier's packing list before the PO was finalized, the shipment line took on a life of its own.
Here's the scenario:
- Shipment line expects 290 units
- PO ordered 234 units
- All 234 units received and billed
- PO closed
The shipment still thinks 56 units are outstanding. NetSuite calculates quantityreceived as a rollup from the Item Receipts tied to that shipment. You can't write to it. And the quantityexpected field is locked because the landed cost allocation references it.
The status field is read-only. There is no Close action on the record, and the valid status values (closed, inTransit, partiallyReceived, received, toBeShipped) don't help you force a transition.
What You Can Try Before Opening a Support Case
1. Check Where the Landed Cost Lock Lives
The lock on quantityexpected comes from the landed cost allocation. Before you do anything else, check whether the landed cost sits on the Inbound Shipment header or on the individual Item Receipts underneath it.
The Inbound Shipment record doesn't post directly. It creates separate Item Receipts on each linked PO. If your landed cost allocation sits on those Item Receipts, you may be able to release the lock without touching the shipment.
Go to the shipment record and look at the Landed Cost subtab. Note whether the allocation references the shipment itself or the underlying Item Receipts. This determines what you can safely reverse.
2. Review the Landed Cost Allocation
If the landed cost is on the shipment, you can reverse the allocation without deleting it. Open the shipment, go to the Landed Cost subtab, and remove the allocation lines. Save the record.
This releases the lock on quantityexpected. You can now edit the line to match what the PO actually ordered.
Once you correct the expected quantity to 234 units, the shipment should show all quantities received. The status should advance to received automatically.
Then reapply the landed cost allocation. Your cost basis stays intact, and the audit trail shows the correction.
3. Correct the Expected Quantity
With the landed cost lock released, edit the shipment line directly:
- Go to Transactions > Purchases > Create Inbound Shipment > List
- Click Edit next to the stuck shipment
- On the line, change the Quantity Expected field to match the PO quantity (234)
- Click Save
The Receiving Location, Quantity Expected, and Expected Rate fields can be updated at the line level provided the items haven't been fully received or ownership hasn't been transferred. In your case, the items were received, so this only works after the landed cost lock is released.
4. The PO Adjustment Path (Only If Nothing Else Works)
One community-proposed approach: raise the PO back to the original quantity, receive the extra units through the Inbound Shipment, then write them off with a negative inventory adjustment.
This has a practical problem. If the PO line is fully received and billed, NetSuite won't let you edit the existing line quantity upward. You can only add a new line, and the shipment doesn't reference new lines. The sequence stops before it starts.
Skip this unless you have a partially received PO line available.
What a Support Case Can Actually Do
If the landed cost lock won't release, or if you've already closed the posting period and don't want to reopen it, a support case is the reliable path.
NetSuite support can clear the status server-side. They can also adjust the quantityexpected field directly in the database when the normal edit path is blocked. This is a known issue pattern, and support teams handle it routinely.
Before you raise the case, gather:
- The Inbound Shipment internal ID
- The PO number and line quantities
- The Item Receipt numbers tied to the shipment
- Confirmation that inventory and GL are correct
This shortens the resolution time. Support doesn't need to investigate whether your books are wrong; they just need to fix the status.
What If You Leave It As-Is?
The status is cosmetic. Inventory is correct. The GL is correct. The PO is closed and billed. Nothing about your financial statements is wrong.
But "cosmetic" is doing a lot of work here. The shipment still appears on open shipment searches. It shows up in reports. Your team will keep asking why it's stuck, and every month-end review will flag it.
From an audit perspective, a partiallyReceived shipment with no outstanding receipts invites questions. Your auditors will want to know where the missing 56 units went. The answer is "they never existed," but you'll have to explain it every time.
Closing the Loop
The cleanest fix is to release the landed cost lock, correct the expected quantity, and reapply the allocation. If that fails, raise the support case and have them clear it server-side. Either way, you get a clean, reconciled, and audit-ready shipment record.
And if you're managing multiple shipments with similar quantity mismatches, review your receiving workflow. The root cause is keying expected quantities from the packing list before the PO is final. Standardize that step so the shipment always mirrors the PO, and this deadlock won't recur.
Check what's sitting in your partially received queue today.


