2010/01/06

Kit/Assembly Costing

A lot of people often ask how to display costing information derived from Members for their Kits or Assembly items.

Since a few versions ago, Netsuite exposed a join in Saved Searches that now allows you to build searches to get this information. In this post, I'm going to go through the steps to show you how to get this to work for simple cases.

First, you need to create an Item Saved Search as follows:
CRITERIA
Type any of Assembly/Bill of Materials, Kit/Package

RESULTS
Name
Member Item
Member Quantity
Member Item : Average Cost
Formula (Currency) with formla being {memberquantity}*{memberitem.averagecost}

At this point, you're going to have a search that outputs, for every one of your Kits/Assemblies, all of the member items and what those member items are worth for the parent, this worth basically being Member's Average Cost times the Quantity used in the Kit/Assembly.

Continuing on, you probably just want to see a single value for each Kit/Assembly. So in order to do this, you are going to add Summary Type values for the columns, as follows:

RESULTS
Name -> GROUP
Member Item
Member Quantity
Member Item : Average Cost
Formula (Currency) with formla being {memberquantity}*{memberitem.averagecost} -> SUM




If you run your search, you should now be seeing every Kit/Assembly as 1 line with a cost figure next to it. That's your costing derived from member items!

Continuing on to make this cuter, here's what you can do. In your search, go on the Available Filters tab and add "Internal ID" as a filter. Save the search and make sure to make it Public and also tick in the box "Available as Sublist View" in the search headers.

Next, go under Setup->Customization->Sublists. On the Item tab, select your Search, give it a Label, select a Tab, and tick in Kit/Package and Assembly/Bill of Material.



This will add a subtab on your Assembly and Kit items that will display the Cost. Very handy!



Now, if you use Units of Measure or if your Member items are kit or assemblies themselves, or you want the cost info to be in a field, the above will NOT work. For these more complex cases, you don't have a choice other than using Suitescript to calculate in a much more in-depth manner your costing. As luck would have it (-wink-) IT-Ration has a Add-On module that does just this! You can find this module on our Website here.

2009/11/26

How to quickly mass Clear transactions

Here's a little time saving tip for Clearing transactions, a little on the odd side - but it does work.

Now, this is probably not for companies comfortably up and running that are periodically reconcilling. This is more for people who haven't been reconciling and would like to Clear a whole bunch of lines all at once. I'm sure someone somewhere has a need to do this...

To mass Clear transactions, create a Reconciliation for all those transactions (Bank->Reconcile Bank Statement or Reconcile Credit Card Statement). Just reconcile everything you want to clear and hit save. Now, go back on that date, and delete the reconciliation you just made.

This will cause the transactions to unreconcile, but they will stay Cleared.

Reconcile every line to clear


Delete the reconciliation. Lines remain Cleared, but not Reconciled.




2009/10/30

How to text-wrap transaction column fields on printouts

A recurring problem people have is, when printing a transaction, Netsuite will truncate long fields rather than text-wrap them on multiple lines.

Surprisingly, there's no way to tell Netsuite you want a certain field to text-wrap.

However, if you follow these little steps, you'll be able to create yourself a text-wrapping field to display any column you want.

Create a Custom Transaction Column field.
a. Type = Text Area
b. Store Value = uncheck
c. (optional) Display Type = Disabled
d. Default Value = to_char({fieldid}) where fieldid is the internal id of the field you want to text-wrap


Once you've created this field, you have a bit more work to do -

Customize any transaction form that you want to print
a. Add the field you just created to Printing Fields
b. For this to work, the original field MUST still be checked in Printing Fields... but you don't want it to appear, since you replaced it with your super-duper text wrapping field. So in the Width of the original field, type "0.0001"



Ta-da! Text wrapping. The only ugly part remaining is that on the user interface, users will see both fields. Unfortunately, there's no way to hide the field in the GUI in a way that won't stop it from correctly showing on printouts.

2009/10/20

Searching on Transactions affecting Inventory

It can often occur that you want to run a Saved Search to find all transactions affecting inventory, like when maybe you want to see the consumption history of a certain item, or whatever.

In most accounts, this can be trickier than it sounds. Your first reaction may be to simply add a criteria on Transaction Type and select the transactions that normally affect inventory - Inventory Adjustments, Transfers, Item Fulfillments, etc.

But (and if you didn't know this, this is important to know) there can often be times where you booked an Invoice, or a Bill, or a Credit Memo without first creating the SO/PO/RA and then the corresponding Item Fulfillment or Item Receipt (i.e., a "standalone" Invoice/Bill/Credit Memo).

This means that your Invoice/Bill/Credit Memo is affecting inventory. So ok, you may think, you need to add these Transaction Types to your search. Nope, wrong. Cause then you'll be double-counting your inventory impact in cases where you have a Fulfillment AND an Invoice. Ok, so then filter on just Invoices? Wrong again, then you'll be missing out on all the Transactions that have been fulfilled but not invoiced. What's a boy (or girl) to do?

Well, you can follow this neat tip. Add the following criteria:
Is Posting = True
Account = Inventory Asset (make sure here to actually select the Inventory Asset account you're using, as per your Chart of Account. There may be more than 1, which is alright).

This way, you are 100% certain to grab only transactions affecting your inventory, because you're looking at the inventory asset account. That doesn't lie. If something goes in or out of your inventory, it will definitely have an impact on your inventory asset. And by saying Is Posting, you are basically weeding out Sales Orders and Purchase Orders and other non-impacting stuff.

So a quick example of a complete search using these criteria might be:

Transaction Search
CRITERIA
Is Posting = True
Account = Inventory Asset

COLUMNS
Date
Type
Number
Item
Quantity
Item Rate
Amount

Enjoy!

2009/10/05

Bins and Your Inventory

Bins in NetSuite can be seen as sub-locations within a location. In other words, each bin is specific to a location and can independently contain inventory. However, one confusing point about the Bin feature is that you can still receive inventory straight to your location instead of into a bin. I call this the "floor inventory", i.e. instead of being in a bin, your inventory is just on the floor. Let me explain:

Imagine your company keeps track of stock at both your store and your warehouse:


Now, imagine you have 3 distinct areas in each of your locations where you stock your items. These are called bins in NetSuite. Let's call our Store bins "A", "B" and "C" and our Warehouse bins "D", "E" and "F".


The bins specified on the Item Receipt will determine where your inventory quantity will increase, and similarly, the bins specified on the Item Fulfillment will decrease the inventory quantity from that bin.

Now here's the critical point: as I mentioned earlier you can also receive inventory into the location without specifying a bin. If you leave the Bin Numbers field empty on the Item Receipt or Fulfillment, the inventory will be increased or reduced from the "floor" of the location. The following item, for example, has a quantity on hand of 5 on the floor of the Store location and none in its bins:


And here's the same item, but with an extra 3 items received in bin A of the Store location:
Notice how the location quantity is now 8? That's because the Location amounts specified on the Item Record are based off the sum of the Location's Bin quantities and the Location's "floor" quantity.

If you keep that in mind, you can easily calculate your "floor" quantity for a location by subtracting the bin quantities from the displayed On Hand quantity. In this case, 8-3=5 which means the "floor" quantity for the Store is 5.

Generally, if you're using bins it's better to try and avoid using the "floor" quantity feature and put everything in bins, just to minimize any confusion like the one mentioned above.

2009/09/30

Outputting all decimals of an Exchange Rate

Here's a little trick for you, when outputting the Exchange Rate field in a Saved Search. Normally, if you just select the "Exchange Rate" field in a Transaction Saved Search, Netsuite will round the rate to 2 decimals.

To get ALL the decimals, just add a Formual (Numeric) field, and type "{exchangerate}" (without quotation marks) in the Formula column. Voilà, all your decimals are shown!


2009/09/29

CSV Import Permissions

When importing records through CSV, regardless of whether you're adding new records or updating existing ones, NetSuite will use the preferred form of the currently logged in user by default. This is done for security reasons, so that users can't bypass their permissions.

The effects of this behavior might not be apparent at first, but the main consequence is that your permissions to edit certain fields will be based on that form. For example, if a field is displayed as Inline Text on your form and you try to update it through a CSV Import, the import will fail or the field simply won't be available in the Field Mapping page.

Thankfully, starting in version 2009.1, NetSuite has added functionality to allow you to choose which form will be used for the CSV Import. Note that when this blog entry was written, only Sales Orders supported choosing your form. Version 2009.2 supports all record types (at least those that support custom forms in the first place).

The feature mentioned above can be found during a CSV Import in the Advanced Options of Step 2 (Import Options):

If you have the Administrator role and you want a fully accessible form for CSV Imports without changing your Preferred form, this one's for you. Just create a new Custom form, make all fields available for editing and go nuts!

2009/09/28

IT-Ration Consulting's Free Whitepaper: GST and PST Processing with Netsuite.

This whitepaper provides information on the processing Taxes in NetSuite. It describes how we are using NetSuite to collect and pay sales taxes. The focus is on taxes for the province of Quebec, with notes for the other provinces.

Here is what you will find:
  • An overview of how taxes work in NetSuite Canada;
  • Tips for the configuration and usage of the tax features;
  • Tips to process taxes in NetSuite: Tax set up, Tax reports, Paying sales taxes and collecting reimbursement.

    Download it now!

2009/09/23

Track your time in NetSuite - Where has my time gone!

Most of our customers use the capability to track time to bill customers or track time spent on projects.

Another great usage is to track the time spent on non-billable or project activities. This is a must for metrics-driven (read: obsessed) executives!

I personally use it religiously to track how I spend my time during the day. I started by using simple Service Items like Administration, Sales, Marketing and Vacation.

I was then able to see where I spend my time for a given period using a customized Time by Item report. NetSuite's standard graph feature gave me the big picture:

I realized I was spending way too much time on Administration, so I set a goal for myself to spend 10% more time on sales, and delegate some tasks.

Now I needed more data within the Sales Service Item. On which prospect did I spend my time? When I sign a contract, what is my profitability, including my loaded cost?

So I started to enter the prospect's name on my time entries.

I make a phone call? 0:05 minutes on the prospect. Sent an email with a PDF? 0:15 minutes on another prospect.

Now I have a great image of how I spend my time!

It's all in the categorization

After 5 years of running this consulting shop, we came up with a good list. We are still improving on it and cleaning it up, but we are way ahead from where we started.

Here is the non-billable items we use as of today:

  • Administration
  • Business Development
  • Estimates, POC and Sales activities
  • Family obligations (bereavement, kids)
  • Marketing
  • Marketing - AdWords & Analytics
  • Marketing - Customer Surveys
  • Marketing - Events
  • Marketing - Newsletters
  • Marketing - Press Relations
  • Marketing - Technological Watch
  • Marketing - Web Site - Content & Structure
  • Paid Holidays
  • People - Evaluations
  • PMO
  • R&D
  • Sickness
  • Strategy
  • Training
  • Vacation
Entering time for service items that are non-billable has no financial impact in NetSuite and is a great way to push yourself to do things better. Remember, you can only know what you measure!

2009/09/18

Seeing Bulk Merge activity on Customer record

Here's a quick one -

When performing Bulk Merge, you may want to actually see the merge result on the Customer record (same as how you can see emails sent to the Customer on his Message tab). But you may have noticed you don't see Bulk Merge activity on the Message tab.

Well, the answer is that you must customize the Customer's form, and, on the List tab, tick in Bulk Merge. You'll see all Bulk Merge activity on this tab.