P4 Software P4 Software / logisticaHQ-en

Add these docs to Claude

Ask Claude questions about these docs. Claude reads the published pages and links you back to them. Copy this address:

https://docs.p4software.cloud/mcp

In claude.ai or Claude Desktop: open Settings, then Connectors, choose Add custom connector and paste the address.

In Claude Code, run:

claude mcp add --transport http docs https://docs.p4software.cloud/mcp

Reason codes

Every time stock is added, removed, returned, unpicked, un-received, repackaged or blocked outside the normal flow, LogisticaHQ asks why. The answer, the reason code, is saved on the audit record with the user, the time, the product and the quantity. Well-chosen reason codes turn adjustments from unexplained losses into numbers you can act on: how much was damaged, how much was found, how much was written off for expiry, and by whom.

You set the reason codes offered for each kind of operation in Setup > System > Configuration, section Business > Reason codes.

Configuration, Business, Reason Codes: for each operation a Manual Reason checkbox and a box holding its list of codes

The operations

Each operation has two settings: the list of codes (for example Adjust Out), and a Manual Reason checkbox (for example Adjust Out Manual Reason).

SettingAsked whenExample codes
Adjust InAdjusting stock in on the handheldFound,CountCorrection,ReturnedToStock
Adjust OutAdjusting stock out, including clearing a whole binDamaged,Expired,Lost,Sample,CountCorrection
Un Receive PoReversing a purchase order receiptWrongProduct,WrongQuantity,Mistake
Non Po ReceiveReceiving stock without a purchase orderNotOnPo,Extras,Replacement
Non Rma ReceiveReceiving a return without an RMANotOnRma,Extras
Un Receive RmaReversing a return receiptMistake,Damaged
UnpickPutting picked stock backOrderCancelled,WrongItem,Short
Customer ReturnAdjusting stock in from a customerDefective,NotNeeded,WrongItemSent
Vendor ReturnAdjusting stock out to a vendorDefective,Recall,Overstock
RepackageRepackaging or merging totesDamagedCarton,Consolidation
Block InventoryBlocking stock on the Bin locations or LPN locations screenQuarantine,Damaged,Recall,Inspection

Set the codes for an operation

  1. Open Setup > System > Configuration, expand Business and click Reason Codes.
  2. In the operation's box, for example Adjust Out, type the codes separated by commas: Damaged, Expired, Lost, Sample. Spaces around the commas are ignored, and so are empty entries, so a trailing comma does no harm. You can also put each code on its own line.
  3. Leave Manual Reason unticked so the operator picks from your list.
  4. Scroll to the bottom and click Save. The handhelds use the new list the next time someone starts that operation.

A code can be written in any language and with accents, as the example above shows. The operator sees it exactly as you type it, and it is saved on the audit record the same way.

How the operator is asked

How the setting is filled inWhat the handheld does
Several codesShows the list; the operator picks one.
Exactly one codeUses it without asking, and shows it on screen. Use this when an operation always has the same reason.
Manual Reason tickedAsks the operator to type the reason. The list is ignored.
Empty, with Manual Reason untickedRefuses the operation with No reason codes setup for [AdjustOut]. Fill in the list or tick Manual Reason.

Every new company starts with one code, Misc, for each operation, so operators are never asked until you set your own codes.

Prefer a list over manual reasons. A picked code is always spelled the same way, so reports can add up by reason. Typed reasons ("damaged", "Damage", "dmg") cannot be.

Choosing good codes

  • Say what happened, not who is to blame. Damaged, Expired, Found, not ErrorBob.
  • Keep the list short. Five to eight codes per operation; a long list gets the first code picked out of habit.
  • Keep a catch-all, but watch it. A Misc or Other code is useful. When it becomes the most used, the list is missing a real reason.
  • Use the same code for the same thing across operations, so Damaged means the same in AdjustOut, VendorReturn and BlockInventory.

Reporting on reasons

The code chosen is saved in the Reason field of the audit record. To see what each reason costs you:

  • In Audit, query SubType = AdjustOut for the period, group by Reason and Sum Quantity.
  • In the Query builder, the Adjustments by reason (30 days) example gives the count and units per reason for all adjustments.

Was this page helpful?