RE: Virtual Location For Sales Channel Allocation (B2C vs B2B vs Marketing)

Working on company that is integrated with main warehouse (we can call warehouse ‘FC’). This warehouse only has one ‘pool’ of inventory items (ie not multiple locations that are allocated for B2C versus B2B). I however, would like to create multiple ‘virtual’ locations to manage inventory between B2B, B2C, and marketing efforts within our ERP (Netsuite).

  1. has anyone encountered this issue and have high level advice for how to seperate inventory allocation for different departments with different ‘virtual’ warehouses in netsuite? I have a feeling im trying to reinvent the wheel here and there be existing tools that I’m unaware of.
  2. My potential solution is to establish the following DC hierarchy in Netsuite: A) FC Warehouse -> B) Unsaleable (damaged – does exist in the WMS) B) Saleable Goods -> C) Main/B2B C) B2C C) Marketing

All B2B orders are driven to the Main/B2B location – they fulfill from that location based on the location on the sales order. All purchase orders are issued to be shipped to the main/B2B location.

For B2C:

  • all B2C sales orders are redirected to this virtual B2C location and fulfilled there (should be fairly easy to implement as these are all sourced through .com)
  • a minimum safety stock is established for most skus (business ideal is to keep B2C in stock at all times) – regular replen jobs run keeping the stock level (automated transfer orders from Main to B2C, thinking I can whip up some scheduled suitescript to do this) until the main inventory location is depleted
  • some other ‘special’ items arent dealt with in replenishment, and will be handled through manual transfers

For Marketing:

  • this is more adhoc and allocation is mostly determined as a monthly limit on existing skus or amount related to specific launches
  • can create modified suitescript or transfer manually

Inventory Recons – between Warehouse and Netsuite

  • would compare roll-up of inventory on hand of Saleable Goods and Unsaleable Goods.

Any advice? I feel like this could work but as I said I don’t want to reinvent the wheel if others have implemented something similarly for this business scenario.


lrabe Rookie Asked on December 29, 2020 in Recommendation.
Add Comment
1 Answers


We do something similar. We’re very fond of virtual locations. If in doubt we add another, it can be a really helpful thing.

Pretty much all inventory is received and shipped out of STORES. If it’s available and in-house that’s the location it resides in. Items that fail and need to either be returned to the vendor or require further review are transferred into MRB-IN, if sent to the vendor we transfer them to MRB-OUT. Items needing repair are moved to REPAIR. As a rule, we count the REPAIR location as “available” only because we have deemed that these can/will be repaired in-house indicating that it shouldn’t take long and because if inventory ran low we’d get someone to work on those items. MRB location doesn’t count. Chances are it will be there a while. There are of course exceptions, but you want to separate out what’s not immediately available but could become available from what you just can’t count on.

We also run several other virtual locations. We manage our DEMO equipment which carries no dollar value and they aren’t available inventory. We also track customer-owned equipment returned for repair. So we were never able to use the top level quantity or average cost in searches for our inventory. There are a few things to be aware of.

  1. Take care when you build inventory searches:
    • When making any inventory search you need to set the applicable inventory location(s) in your search criteria and ensure to thoroughly audit during creation that you’re pulling in the quantities and costs that you want/need for those items. In so doing you also have to make sure that you pull inventory locations into the search results as well in case you are doing multiple locations.
  2. Location Costing.
    • Sounds like you have a pretty good grasp on the primary distinction between your virtual locations. Saleable Goods vs Unsaleable Goods. However, this does beg the question should all of your Unsaleable Goods be carrying costs? Before anything else you need to decide that.
      • Transferes between locations that are mixing costed and uncosted inventory will wreak havoc on your average costing. We do sometimes legitimately take things from a costed location and move it into an uncosted one, and vice versa. For example when you build a new item for your DEMO pool. We do not allow transfers between costed and uncosted locations. So our process is to write off the item in STORES and pick it up in DEMO-IN at $0. Depreciation is handled via fixed assets and our so our controller is then notified.
      • If you do have costed and uncosted locations, one of the first things you need to do is ensure that no transfers via TO or inventory transfer occur between the two. Trust me, it happens all the time. A DEMO item needs repair and someone decides to x’fer it to the REPAIR location.
  3. Build custom fields on your Location Records.
    • You can filter on these fields in your custom searches which can be extremely helpful and will make your searches much more dynamic. Every time you add a new location you won’t have to edit your searches to change the criteria or formulas to look or not look at the new location.
      • Build a list field for the location records for “Unsaleable Goods” and “Saleable Goods”.
      • If applicable, build a list field for the location records for “Costed” and “Uncosted”
  4. Make sure you clearly define each virtual location and the parameters for its uses and make sure that you go over it with people a lot of times. Once finalized I recommend writing it all out and handing it out to people who are going to be making transfers. Trust me there will be mistakes and they will be very logical.


Beginner Answered on January 4, 2021.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.