Sometimes the available quantity for an item shown on a handheld is lower than what Dynamics GP reports — or the two inquiry screens on the handheld (for example Item Inquiry and Item Bin Move) show different amounts. This is almost always caused by a PanatrackerGP transaction that has been started but not yet submitted to GP. This article explains why that happens and how to clear it.
The handheld's available quantity starts from the available quantity in GP, then subtracts any quantity already committed to another PanatrackerGP transaction that has not yet been submitted to GP. This prevents two people from committing the same stock to two different transactions at once.
PanatrackerGP treats these unfinished transactions as a soft allocation — it knows the transaction exists and expects it to be submitted, so it holds that quantity out of “available” until the transaction is either submitted to GP or discarded. GP remains the system of record; nothing is actually missing from inventory.
A common example: a picker starts fulfilling a sales order on a handheld, which soft-allocates the stock, but then leaves the transaction without submitting or discarding it. That quantity stays held until the unfinished transaction is dealt with.
The unfinished transaction is visible and manageable in the PanatrackerGP Portal:
Every PanatrackerGP transaction carries a status. These are the statuses that hold a soft allocation (and therefore reduce available quantity), and the ones that release it:
| Status | Effect on available quantity |
|---|---|
| In Progress | Being entered on a device — holds the quantity |
| Queued | Saved to send, not yet transmitted — holds the quantity |
| Failed | GP rejected the submit — holds the quantity until resolved or discarded |
| Pending | Awaiting approval in the Portal — holds the quantity |
| Succeeded | Submitted to GP — releases the hold |
| Discarded | Voided / ignored — releases the hold |
So the goal is simple: get each transaction holding the item into either Succeeded (submit it) or Discarded (void it).
If you have SQL Server Management Studio (SSMS) access to the PanatrackerGP company database, this read-only query lists the unfinished Order Fulfillment transactions that are holding stock, and the exact item, bin, and quantity each one holds. It changes nothing.
SELECT h.SalesOrderCode,
h.TransactionStatus, -- In Progress / Queued / Failed / Pending all hold stock
h.CreateUserName,
h.CreateDeviceName,
u.ItemCode,
u.SiteCode,
u.BinCode,
u.FulfilledQuantity,
u.UnitOfMeasure
FROM PanatrackerGP7_TrxFulfillOrder h
JOIN PanatrackerGP7_TrxFulfillOrderUnit u ON u.TrxFulfillOrderOid = h.Oid
WHERE h.TransactionStatus IN (0, 1, 5, 8) -- 0 In Progress, 1 Queued, 5 Failed, 8 Pending
ORDER BY u.ItemCode, h.CreateUserName;
PanatrackerGP7_ (as above). Older installs use the bare table name (TrxFulfillOrder). If the query reports an “invalid object name,” remove the prefix. To check other transaction types, the same pattern applies to their tables (for example TrxSiteTransfer, TrxAdjustment, TrxReceiving) joined to their …Unit table.
If there are no unfinished PanatrackerGP transactions holding the item, the difference you are seeing may simply reflect Dynamics GP's own allocation on an already-submitted order (GP reduces available for allocated orders as well). In that case there is nothing to clear on the handheld side — contact Panatrack Support and we will help you reconcile the two systems.
Questions? Contact Panatrack Support.
Related articles