Non-Mandatory Location Field on Cash Sales in NetSuite - netsuite

I am trying to disable the Location field so that it is not mandatory in NetSuite for Cash Sales. I customed the form and unchecked the Mandatory box and it still shows up. When I did this for Sales Orders I also had to update the Accounting Preferences to not require a Location.
Is it possible to perform what I am asking? Do I simply need to disable locations site wide (as opposed to making them non-mandatory on the cash sales form)?

Actually Locations are required on some transactions if Multi-location Inventory feature is enabled.
Though, you can make location non-mandatory using beforeLoad User event Script and using the code in there form.getField('location').setMandatory(false)
But, if you do that, you will get an error as location is required in this case:
Multi-location Inventory Error (MLI_LOCATION_REQUIRED): this
transaction or its items must have locations

Related

Netsuite Sales orders suddenly have an additional step (complete) when done through CSV import

I am updating my company's system so that it supports dropshipping items. Ever since I switched to this type of item it asks me to complete the order after I approved it. what is it that I am missing so that I can skip this step altogether, is it even possible to skip the step, or to complete multiple orders at the same time (like how you can approve multiple orders)?
It bears mentioning the Company operates in Mexico.
the steps I take are as follow:
I create and save a sales order, that is, I put in the client, the document and reference number, and the item, as well as a couple of custom fields
the next screen asks me to approve the order, I do it and it creates the matching purchase order
then instead of being able to invoice, I first have to "complete" which takes me to an order fulfillment form
I save that and the order can be invoiced.
Ideally, after approval, I would just be able to invoice
Generally a sales order is not invoicable until it's been fulfilled.
You can override that at a whole account level by going to
Setup -> Accounting -> Accounting Preferences
Order Management tab
scroll to Invoicing
check 'Invoice in Advance of Fulfillment'
Be aware this is a system level setting and if you used to be able to invoice before fulfillment someone else in your company may have unchecked this setting in the recent past.
Alternatively at the individual item level you can use the 'Can be fulfilled/received' checkbox to allow invoicing without fulfilling. Note that 'Can be fulfilled/received' may not be changed after an item has been ordered.
Normally (US/Canada) an order should not be invoiced until it is shipped. Customer Deposits on Sales Orders are the preferred way to handle pre-payment for GAAP etc reasons.

Is it possible to have a custom field in Inventory Detail subrecord on Item Receipt? NETSUITE

Just like expiration date on inventory number subrecord on Item Receipt, can we have a custom field for manufacturing date in inventory number subrecord. Is there any feature need to be enabled? Does NetSuite have any functionality of Production/Manufacturing date? or any way to create a custom field in inventory number subrecord that is visible in IR subrecord?
As far as I am aware, it is not possible to add a custom field to the inventory detail subrecord. Checking the CUSTOMISATION > LIST, RECORDS & FIELDS NS menu (using the administrator role), this sub-record is not available. I have, however, in the past re-created the subrecord using a Suitelet and a saved search which auto-populates the item lines with additional columns. Perhaps this route is a potential solution for you too.
I have recently encountered this in an implementation. We were requested to add the Gross Weight and Net Weight fields in the Inventory Details window.
We used a SuiteApp called Lot Auto Number (Answer ID: 100706).

Netsuite trigger a script on inventory qty or bin info change

Bin info or Inventory Qty change for an inventory item, I need to fire a suitscript. it needs to cover any way that inventory will be adjusted, PO received, Sales Orders, manual adjustments, etc.
I tried attaching a userevent script but it didnt get called on PO being created and receving items on it.
You need to attach a UserEvent script to every transaction type that affects user inventory. Your post doesn't say what "it" is that you attached your user event script to. Was it on Item Receipt?
Also as far as I know there is no User Event script for Inventory Worksheets so whatever you do you'll need some sort of manual reconciliation to pull current quantities.
Transactions that affect inventory include:
Assembly Build
Assembly Unbuild
Bin Putaway Worksheet
Bin Transfer
Inventory Adjustment
Inventory Distribution
Inventory Transfer
Inventory Worksheet
Invoice*
Cash Sale*
Item Fulfillment
Item Receipt
Purchase Order**
Return Authorization
Sales Order^
Transfer
Transfer Order^
Work Order^
* can cause changes to inventory when not sourced from a Sales Order
** May cause changes to inventory depending on your features/version and system configuration.
^ can cause changes to commited/available amounts depending on status.

On which context inventory gets changed in Netsuite

I have created a custom checkbox and I have to mark it to true whenever any thing is changed on the record. My problem is I do not have to use lastmodified date because lastmodified is not working as all the items are coming in search. Whenever an item is shipped, it's inventory is changed but i would like to know on which context it changes. It is possible to do with workflow. How?
Inventory change is via different record types in NetSuite, and will not be via item.
I think you will need to write User Event Script or workflow on following record types to detect all Inventory changes:
1) Item Fulfillment
2) Item Receipt
3) Item Transfer
4) Inventory Adjustment
Apart from these there are other mechanism to make an impact on inventory, I am not sure if NetSuite allows user event script or workflows on these:
1) Inventory worksheet
2) Physical Count
For the case of Item being shipped from a Sales Order an Item Fulfillment is created, so, you can deploye your workdlow or user event on Item Fulfillment in that case.
Edit: Transfer Order isn't applicable as #bknights suggested. Inventory alterations would be actually made by Item Fulfillment/Receipt records in case of Transfer Orders.

Creating promotions with specific prices in Netsuite

Is there a way to create promotions in Netsuite 2016.1 so that items can have individually lowered prices? I know how to reduce items by percentages and how to set a flat price for all items, but I'm trying to allow individual items to have different temporary prices. Does Netsuite have this capability, or should I begin creating it via SuiteScript and custom records/fields?
Thanks!
Try the pricing groups feature of NetSuite. This lets you set a custom price for a set of items, which can then be assigned to various customers. This is primarily meant for negotiating prices with a large customer.
You might be able to use this feature to set temporary prices by switching the pricing group on and off for different customers with a script.
I am not aware of any way to temporarily set specific prices.
A thing I've done in the past was to create a set of custom fields and scripts that did the following for a Daily Specials program.
Take a group of products and copy their current on-line price to another field;
Update their online prices to a pre-determined value
assign them to a "Daily Specials" category.
set a custom checkbox field so that the item thumbnails could be easily bannered in a category list
A daily batch inspected a configuration table for that day's specials. It cleared all the current specials(prices back; remove from category; clear checkbox) and then assigned that day's specials.
this was driven by a table that allowed the product manager to schedule products based on seasonality and availability.

Resources