Netsuite: How to best make an inventory item virtual? - netsuite

I have an online store where ~90% of what we sell is real, but ~10% is virtual. (software, training licenses)
Currently in our system all items are coded as "Inventory Item" because operationally on the back end there are benefits. (not sure exactly what)
Because they are inventory items, they show as out of stock and they require shipping, even though they are virtual.
Do I need to just add a custom field called "IsVirtual" and note which products are virtual explicitly, or is there a built-in mechanism for handling virtual products?

Best approach is to add those items in Netsuite as non inventory.
If you really want to keep them inventory and do not show shipping and out of stock, you got to write a SSP. Based on item attributes returned from search you can modify your code on front end to show/hide shipping and out of stock notice. Additionally when the order is created in your ssp add a logic to add dummy or a free shipping item and also a logic to add inventory.

You should make them non-inventory items for sale (unless you are reselling them).
However if you can't do that you do not need to create an SSP. All you need to do is alter the out-of-stock behavior for the item on the item setup page. You may need to tweak your item display template but you shouldn't need to unless you were already displaying stock levels on the buy page.

Related

Restrict Customer Item Pricing in Netsuite

Good afternoon,
We've had a question come up which I can't find the answer to, in relation to the Item Pricing sublist on Customer Records in Netsuite.
Basically we want to know if it is possible to Restrict Access to this sublist, so anyone who has access to Customer Records can View the sublist, but only Users with certain Roles can actually Edit the sublist.
Is there any native functionality, or possibly customisation, that could do this?
I haven't been able to find anything in Role Permissions, but I could be overlooking something.
Appreciate your help, thank you!
Potentially a UserEvent with N/serverWidget or last resort will be JQuery.
I'm assuming this has been sorted out by now, but I have done something similar to this.
One of our clients did not want their sales reps to have access to the information on the pricing of an item.
To achieve this, I made a custom form that was the exact same as the standard, except I removed the pricing sublist from the form on creation.
Then on the role record under the forms subtab, the item sublist, I ticked only that customised form for inventory parts.
This meant all with that role can only see that inventory part form. ie, no pricing information.

display locationquanityavailable on Netsuite Sitebuilder Site

Trying to figure out how to set the location of a multi-location Netsuite so that on the web store it only will display the quantity of that location only. Currently it displays ALL locations (sums).
I would like js in the header possibly that will set the location to one location and then when using locationquantityavailable it will grab that locations quantity and displays it.
Anyone been able to display just a locations quantity?
You can mark your locations as making their inventory available in the web store. Then the standard sitebuilder tags quantityavailable and quantityonhand will pull from those.
If that doesn't work you could manage this by various forms of scripting.
Script your inventory affecting transactions so that inventory changes from the desired locations update custom item fields.
Create a Suitelet that takes a page's item ids as a query string and returns current inventory for those items.
create a non-stored custsom item field that populates with the results of a saved search. I doubt this option will work in the context of the web store but it's very low effort to check. Search for "Creating Custom Fields with Values Derived from Summary Search Results" in the Netsuite online help for details.
I've used the first two of these in production to achieve the result you're looking for.
each of these has advantages and disadvantages so there's a trade off between how busy your back-end is vs how busy the site is.

How can I map fields from Product to Order Product and Product to Quote Product in CRM 2011

can anybody please let me know how can I map field from Product to Order Product and Product to Quote Product in CRM 2011.
CRM doesnt allow us to direct map.
You can't map these using attribute mappings.
One way around this is to write plugins on the PreCreate so that at least when you save the record it populates the data on save.
For plugin reference, the Quote Product entity is called quotedetail and the Order Product entity is called salesorderdetail.
Another other way around this, if you only need it firing on the UI, is create some javascript that triggers during onload of the form and populates this data for you.
If you want a no code method you could fire a workflow on create of the Order/Quote product and populate the fields from the product using an update. Only downside to this is the workflow runs asynchronously so you cannot predict when this mapping data will hit the record.
Finally, if you want another no code way to achieve this, and you don't mind investing a little money in a Formula Rules Engine tool I'd recommend looking into Formula Manager by xRM Consultancy and North 52 (Link to Formula Manager). This allows you to set up formulas on both the UI and Server Side which would do all of this mapping for you.
If you want a no code method you could fire a workflow on create of the Order/Quote product and populate the fields from the product using an update. The only downside to this is the workflow runs asynchronously so you cannot predict when this mapping data will hit the record.

magento Enable 'free shipping' only when certain discount code used

we have a discount code set-up for friends. When they use it they get 10% off. In reality many friends logically live nearby and hence ask me: why cant I also pickup the items this weekend? We do however in general not support pickup.
What we would like is the following. When the "friend discount code" is used - only known to friends - the option 'free shipping/pickup' should become available. Only in this case. (ad. We dont want to offer free shipping persé. Some friends do live far away and get it per post, but we want them to have the option to choose)
Any tips or ideas on how this could be accomplished?
[UPDATE]
I am thinking 2 solutions.
Create a second discount code that enables free shipping (and you also only tell your friends to use when they want to pickup)
Little more difficult - but does what we want: Edit files in /public_html/app/design/frontend/base/default/template/checkout/onepage/shipping_method
(are these the right ones?)
a. in loop addding shipping methods add free shipping
b. but only if variable get couponcode is value XYZ
Create a customer group for special customers
Assign those special customers to this group
Create a shopping cart price rules for %10 discount
Select the customer group that we created above from "customer groups" section
Apply necessary settings for the rule ( coupon code etc.. )
also, take the following references :
What are Shopping Cart Price Rules and how do I use them?
How to Setup Simple Customer Specific Discount Pricing
The easiest way is to
create a website on your store for friends only.
Forbid guest buy there.
Forbid open registration.
(you can forbid browsing without login)
Configure settings for website, you need.

How do I modify the Magento Search to check child skus?

Currently, the site search will search all of the skus of the items marked as being visible in search. This is all well and good.
The problem arises when the customer knows a sku of the individual child item. So, let's say a product comes in both a 20 foot and 25 foot variation. We would put those into a configurable product and have a single product page where a customer could then choose which of those two lengths.
What happens is, a customer invariably knows that the sku of the 20 ft variation is RDB-20, while the other is RDB-25. A search for RDB-25 then, comes back with no results since the simple product is not visible in search - it doesn't realize there is a match.
How do I get the search to search an item with visibility "Not Visible Individually", when it's parent is visible in search?
The desired effect is that, if a child SKU is searched for, the parent should show up in the results.
There really is no good way of doing it without extending the default search, but at that point you might as well look for other options.
Here's a workaround that might be doable depending on how you manage your products and it worked for me until I moved on from the default search.
Rather than altering the search, try adding an attribute to all products and make it hidden concatenating all the skus into this field. The search should find the text attribute and show the configurable.
Its a bit of a workaround but works for me.
This is untested, but I did a bit of perusing in our attributes and I think I found something that might help.
Currently since our child products don't show up in our search, we have the parent populate with the children product's attributes.
However, things like brand, taxable amount, description, populate for every child product while our SKU does not.
The only difference I can see between the two attributes is under manage attributes -> click on attribute -> and then under properties go to frontend properties and select
Use In Search Results Layered Navigation: YES
Used in Product Listing: YES
Use In Layered Navigation: Filterable (with results)
I'm not sure which of these do what, but in the population of the fulltext search data table, somewhere it is being told to populate for the children and I believe that the admin panel is where.
I hope this helps!

Resources