to select ↑↓ to navigate
Navgold

Navgold

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

FBA Transfer Tracker

Tracks every pending FBA stock-transfer Material Request against its linked Purchase Order so buyers can see what has been ordered and received versus what still needs to move to Amazon.

Purpose

  • Purchasing/stock teams use it to follow FBA replenishment from Material Request → Purchase Order → receipt.
  • Shows, per transfer line, how much is ordered and received against the quantity that needs transferring.
  • Derives a per-line Status (Pending PO / Ordered / Partially Received / Received) so gaps are obvious.
  • Handles UOM mismatches between the MR and the PO by comparing in base units.

How to Access

Desk > Reports > FBA Transfer Tracker, or /app/query-report/FBA%20Transfer%20Tracker. Report type: Script Report. Reference DocType: Purchase Order.

Filters

This report has no filters.

Columns

Column Type Description
Material Request Link (Material Request) The submitted Material Transfer MR driving the transfer.
Date Date MR transaction_date.
Item Link (Item) MR line item_code.
Item Name Data Item's item_name.
Target Warehouse Link (Warehouse) MR line warehouse (where stock is being moved to).
Qty to Transfer Float MR line qty in MR UOM.
MR UOM Link (UOM) Unit of the MR line.
Purchase Order Link (Purchase Order) The linked PO from MR line custom_purchase_order (blank if none yet).
Ordered Qty Float PO item qty (0 when no PO).
PO UOM Link (UOM) Unit of the PO line.
Received Qty Float PO item received_qty.
Status Data Derived state — see logic below.

How It Works

The report joins Material Request → Material Request Item → Item, keeping only submitted (docstatus=1) MRs of type Material Transfer with status = "Pending", newest first. For lines carrying a custom_purchase_order, it batches one lookup against Purchase Order → Purchase Order Item (excluding cancelled POs, docstatus != 2) to pull ordered qty, received qty and the PO UOM, keyed by (po_name, item_code).

Because the MR and PO can use different UOMs, it loads UOM Conversion Detail for every needed (item_code, uom) pair and converts both quantities to base units before comparing. Status is then:

received_qty_base >= qty_to_transfer_base and qty_to_transfer_base > 0  → "Received"
received_qty_base > 0                                                   → "Partially Received"
ordered_qty > 0                                                         → "Ordered"
otherwise                                                               → "Pending PO"

All lookups are batched (PO items, conversion factors) to avoid N+1 queries.

flowchart LR
  MR["Material Request<br/>type=Material Transfer<br/>docstatus=1, status=Pending"] --> MRI[Material Request Item]
  MRI --> IT[Item: item_name]
  MRI -->|custom_purchase_order| PO["Purchase Order Item<br/>ordered/received qty, PO UOM"]
  MRI --> UCD["UOM Conversion Detail<br/>→ base-unit compare"]
  PO --> UCD
  UCD --> ST{"Status<br/>Pending PO / Ordered /<br/>Partially Received / Received"}
  ST --> OUT[Report rows]

Notes

  • Only Pending Material Transfer MRs appear; once an MR moves out of Pending it drops off the tracker.
  • A line with no custom_purchase_order shows blank PO and status Pending PO.
  • Conversion factors default to 1.0 when no UOM Conversion Detail row matches, so a missing conversion can skew the base-unit comparison.
  • Cancelled POs (docstatus = 2) are ignored.
  • Related: Navgold Stock Summary for warehouse-level quantities, Amazon FBA Stock Sync Health for the fulfillable side at Amazon.
Last updated 1 month ago
Was this helpful?
Thanks!