Best method for partial inbounding of a large container (500+ SKUs) and selling before full PI?

Hi everyone,

I receive import containers with 400–500 SKUs, and it takes 10–15 days to fully unpack and rack the items. Each day we complete only 20–30 SKUs, but customers want to buy those items immediately.

I want to confirm the correct ERPNext workflow.

My current understanding

  • PO does not update stock.

  • PR (submitted) updates stock and allows sales.

  • PI only updates accounting.

  • Draft PR = no stock.

  • Negative stock is risky for valuation.

Questions

  1. Is the correct method to create one PO, then create daily partial Purchase Receipts (20–30 items) as we unpack?

  2. Is it normal to have 10–15 PRs for a single container PO?

  3. Is editing a submitted PO (using “Update Items”) the right way to fix quantity mismatches after unpacking?

  4. Can sales start before any PR is submitted, or is PR mandatory?

  5. Is a large “Material Receipt” Stock Entry a better option than multiple PRs?

  6. When should Landed Cost Voucher be applied if receiving is spread over 2 weeks?

Looking for the cleanest, recommended approach from people handling large imports.

Thanks!

Hi there,

Most of what you’re describing sounds like a valid approach. The Landed Cost Voucher is where you’re probably going to run into trouble. If you’ve got sales between receipt and the registration of our landed costs, it’s going to be messy. There are some quirks to ERPNext’s LCV implementation too, I believe, unless things have changed.

Only other thing is I probably would just close the PO rather than update quantities, but since there’s no stock or accounting involved it’s really just a question of what you want your records to show.

Hi there,

Here is how we handle this exact scenario. This method works well for us regarding stock management and keeping the valuation correct:

  1. PO & Initial Receipt: We create the Purchase Order (PO) and then immediately create a single Purchase Receipt (PR) for the entire container into a dedicated temporary warehouse (e.g., “Inbound Area” or “Receiving”).

    • This immediately updates the stock levels and valuation.

    • Sales can start immediately because the system sees the stock in the “Inbound Area”.

    • We also create the Purchase Invoice (PI) based on this single PR.

  2. Unpacking & Moving: We unpack the container over several days. As we scan/process the items, we create a Stock Entry (Material Transfer) to move the items from the “Inbound Area” to their final rack location (e.g., “Target Warehouse 1”).

  3. Verification: Once the physical container is fully unpacked, the virtual “Inbound Area” should be empty (Quantity = 0).

  4. Handling Discrepancies: If there is still stock showing in the “Inbound Area” but the container is physically empty, it means the supplier short-shipped those items.

    • In this case, we use Stock Reconciliation to remove the missing items from the “Inbound Area”. This corrects the stock count and valuation.

To answer your other question: Yes, it is technically no problem to create multiple PRs for a single PO, but we find the “Material Transfer” method described above cleaner for our accounting.

Hope this helps!

Regarding Landed Costs

Since we create a single Purchase Receipt (PR) for the entire container, applying landed costs is very easy in our workflow:

  1. Handling Third-Party Costs: If we receive separate invoices for freight or customs later (e.g., from a forwarder), we simply create a Landed Cost Voucher (LCV) and link it to that single Purchase Receipt. This distributes the costs across all SKUs at once.

  2. Sales vs. Valuation: No need to wait for the LCV to start selling. Can start selling immediately after the PR is created

1 Like

But one issue is lets say

SKU1 -300 PIECES

SKU2 - 200 PIECES

If this is the order given, sometimes the actual arrived inventory might be different like,

SKU1 -200 PIECES

SKU2 - 300 PIECES

Container arrives from China so that there is no chance for correction(or replacement). We have to adjust our purchase with respect to this. How can we handle such situations?

Purchase Order Qty and Purchase Receipt Qty can be different. Purchase Invoice Qty should match Qty received. If you do a Purchase Receipt (stock received) without Purchase Invoice - Erpnext will show goods under Stock Received but Not Billed. You can use this workflow - to check if your supplier is indeed invoicing correctly as PI for container should match qty received. You can also have setting in PO for allowing difference in qty (do not recall if you can set the threshold - for example 10% of order qty). After multiple receipts, you can close the PO - so not further receipt permitted….