Skip to content

How-To Guides

Practical step-by-step guides for common warehouse operations and scenarios.

How to Onboard a New Client

Use this checklist when setting up a new 3PL client from scratch.

Checklist

  • [ ] Customer record — Create Customer with is_3pl_client checked and client_code set
  • [ ] Client Items — Map client SKUs to internal items (import from client's item catalog)
  • [ ] Inventory Policy — Create at least one policy for this client (or verify system default applies)
  • [ ] Rate Card — Create a Rate Card with rates for all activity types; submit it
  • [ ] Link Rate Card — Set the Rate Card as the client's default_rate_card
  • [ ] Warehouse Locations — Confirm dedicated bins are assigned or zones are available
  • [ ] User Access — Create a portal user for the client if client self-service is needed
  • [ ] Test Receiving — Create a test ASN and Receiving with 1 item to verify the full flow
  • [ ] Test Order — Create a test Client Order, wave it, pick it, pack it, verify Delivery Note and billing

Estimated Setup Time

TaskTime
Customer + Rate Card15 minutes
Item / Client Item setup30–60 minutes (depends on SKU count)
Policy configuration15 minutes
Test transactions30 minutes
Total~2 hours

TIP

For large catalogs (1000+ SKUs), use the CSV import tool in ERPNext: Data → Import Data → Item and Warehouse 3PL → Client Item importers.


How to Handle a Short Shipment

A short shipment occurs when the supplier ships fewer units than stated on the PO/ASN.

Steps

  1. Receive what arrived — Create a Receiving with the actual quantities received (not the ASN quantities)
  2. Note the discrepancy — In the Receiving's Notes field, document the shortage details
  3. Check ASN status — The ASN will show as "Partially Received" with open quantity
  4. Notify the client — Export the receiving vs. ASN comparison from the Discrepancy Report
  5. Client decides — The client will instruct one of:
Client InstructionAction
Wait for balanceLeave ASN open; create new Receiving when balance arrives
Accept short shipClose the ASN manually; file claims separately
Cancel balanceCancel remaining ASN lines; update client's PO
  1. Update ASN — Close or partially cancel the ASN per client instructions
  2. Document — Attach any carrier/supplier correspondence to the ASN

WARNING

Do not create a Receiving for more than physically arrived. Always record the actual received quantity, even if it means the ASN stays partially open indefinitely.


How to Handle Damaged Goods

Damaged goods must be isolated from sellable inventory immediately.

On Receipt

  1. During Receiving, set Condition = Damaged on the affected line items
  2. Record the extent of damage in the item's notes
  3. Take photos and attach them to the Receiving document
  4. On submit, damaged lines automatically go to the Quarantine warehouse (not Staging)
  5. No Putaway Task is created for damaged goods

After Receipt

Once goods are in Quarantine:

  1. Create an Inspection Record (manual) documenting the damage
  2. Notify the client with the damage report and photos
  3. Await client instruction:
DispositionAction
Return to supplierCreate Stock Entry (Transfer out of Quarantine to Return zone)
Scrap / disposeCreate Stock Entry (Scrap) — removes from ledger
Salvage / reworkTransfer to Rework zone; process as special handling
Accept as-isTransfer to normal storage with a damage note
  1. Create a Billing Transaction for any handling charges (rework, return labeling, etc.)
  2. Close the Inspection Record

INFO

All Stock Entries for damaged goods are at $0 value (same as normal stock). Clients handle the insurance/claim process separately — your role is to document and preserve evidence.


How to Process a Rush Order

Rush orders bypass the normal wave batching process and are picked and shipped immediately.

Steps

  1. Create a Client Order with Priority = Rush
  2. Submit the Order — inventory is allocated immediately
  3. Skip Wave creation — for rush orders, you can release directly:
    • Open the Client Order
    • Click Direct Release (bypasses Wave)
    • This creates Pick Tasks directly without a Wave
  4. Notify the team — Rush Pick Tasks appear at the top of the pick queue (sorted by priority)
  5. Operator picks immediately — complete Pick Tasks as fast as possible
  6. Pack and ship — complete Pack Task and arrange priority carrier pickup

Rush Billing

Rush orders typically carry a surcharge. Add a manual Billing Transaction after shipping:

  • Activity Type: Special Handling
  • Description: "Rush order handling surcharge"
  • Qty: 1
  • Rate: per your Rate Card (or negotiate with client)

TIP

Create a dedicated "Rush Handling" activity type and rate in the Rate Card if rush orders are frequent. This allows the surcharge to be applied automatically via a webhook or manual trigger.


How to Check Client Inventory

The Stock Balance report shows current on-hand inventory per client, item, and location.

Steps

  1. Go to Warehouse 3PL → Stock Balance
  2. Filter by Client to see one client's inventory
  3. Filter by Item or Item Group to narrow to specific products
  4. Filter by Warehouse or Zone to see specific locations

Stock Balance

What You Can See

ColumnDescription
ItemInternal item code and description
Client SKUClient's own part number (from Client Item)
WarehouseZone / warehouse holding the stock
LocationSpecific bin address
BatchLot/batch number
ExpiryExpiry date (if lot-tracked)
Qty on HandCurrent physical quantity
Qty AllocatedQuantity reserved for open Client Orders
Qty AvailableOn Hand minus Allocated

TIP

Share the Stock Balance report with clients via the ERPNext portal or by exporting to Excel. The report respects client-level permissions — a client portal user only sees their own inventory.

Emailing a Stock Report to a Client

  1. Open Stock Balance report
  2. Filter to the client
  3. Click Export → Excel or use Email to send directly
  4. The email goes to the client's primary contact

How to View Stock Movements

The Stock Ledger shows every stock transaction — receipts, transfers, picks, and shipments — with full audit trail.

Steps

  1. Go to Stock → Stock Ledger (standard ERPNext report)
  2. Apply filters:
    • Item: specific item code
    • Warehouse: filter by zone
    • From Date / To Date: date range
  3. For 3PL-specific context, also filter by 3PL Reference (links back to Receiving, Pick Task, etc.)

Stock Ledger

Reading the Stock Ledger

ColumnMeaning
DateTransaction date/time
ItemItem code
WarehouseWarehouse affected
QtyChange in quantity (+ve = in, -ve = out)
Balance QtyRunning total in this warehouse
Valuation Rate$0 for 3PL stock (zero-value accounting)
Voucher TypeType of ERPNext document (Stock Entry, Delivery Note)
Voucher NoDocument ID — click to open

INFO

The Voucher No column links back to the ERPNext document that caused the stock movement. For 3PL operations, Stock Entries will also show the 3pl_reference_name (Receiving ID, Pick Task ID, etc.) for traceability back to the 3PL document.

Common Voucher Types

Voucher Type3PL Context
Stock Entry (Material Receipt)Inbound Receiving
Stock Entry (Material Transfer)Putaway or Pick
Delivery NoteOutbound shipment
Stock Entry (Material Issue)Scrap / disposal

How to Correct a Stock Error

If a stock count or entry contains an error:

For Counting Errors

  1. Perform a Physical Inventory Count at the affected bin
  2. Create an ERPNext Stock Reconciliation to adjust the quantity
  3. Add a note explaining the correction
  4. Notify the client of the adjustment with the Stock Reconciliation number

For Entry Errors (wrong item, wrong warehouse)

  1. Do not delete submitted documents — create a reversal instead
  2. For Receiving errors: create a Stock Entry (Material Transfer Out) to move stock back
  3. Create the correct Stock Entry or document
  4. Document both the error and the correction in the Notes field

WARNING

Never delete submitted Stock Entries or Delivery Notes in a live system. ERPNext's audit trail depends on the complete history. Always reverse and re-enter.

Built on Frappe/ERPNext