Pages

2010/03/29

Credit Card Processing Bug Discovered

An important issue has recently come to our attention that we think everyone should be aware of. It is in regards to cash sales with a credit card.

First a little background information: When you create a Sales Order (SO) using a credit card, the SO will verify the funds on the card, which means it freezes that amount of money – the card isn’t actually charged. The money on the card is in effect set aside for you and the customer no longer has access to that amount. So if the customer has a $100 limit on their card and you freeze $80 they can only spend a further $20 or the card will be declined.

In NetSuite, you always create a cash sale when processing a credit card. If the charge is $50, you freeze the money and then that frozen money becomes a charge. The problem is the Charge Credit Card checkbox. If for whatever reason this box is not checked when you save the order, and then you return to the SO to edit the transaction and click the checkbox, the Cash Sale will immediately charge the card. This charge will not be linked to frozen funds from your original entry. So if the original SO verified $50, and then edited SO charged $50, you have effectively tied up $100 instead of $50.

The freeze is always released in about 3 days or so, but during this period the customer’s card is carrying an inaccurate balance which could result in them being declined for other purchases.

NetSuite is aware of this issue, but I am told this is not a Defect but an Enhancement Request.
The number I have is 119430 if you want to go vote on it.

This error seems to only be happening for users using Payflow Pro as their credit card gateway, which is being dropped by NetSuite anyhow. Payflow Pro users will still be able to continue using their services, which is why it is important to be aware of this issue.

2010/03/23

Viewing Items Sold in Kits vs Items Sold Directly

It may be of interest for you to know how many items you have been selling directly versus how many items you've sold as part of a kit. The following search is a good starting point to get this information:

Item Search

CRITERIA:
Transaction: Posting = True
Transaction: Account Type = Income

COLUMNS
Formula (Text) decode({memberitem},'',{name},{memberitem}) - GROUP
Formula (Text) decode({memberitem},'','Direct','Part of Kit') - GROUP
Formula (Numeric) decode({memberitem},'',{transaction.quantity},{transaction.quantity}*{memberquantity}) - SUM

This search will output three columns:
  1. The item name
  2. If the item represents the total quantity sold directly or as part of a kit
  3. The quantity sold
So if you have a certain item that you sell directly as well as part of a kit, the item will be displayed on two separate rows - one row for the total quantity sold directly and one row showing the quantity sold as part of kits.
If you want to see the total sales amount, well, you'll have a bit of a decision to make. For direct sales it's no problem, just grab the Amount field. But items sold as part of Kits do not generate their own sales amount; the Amount is the amount of the entire kit. So you'll need to determine what the value of an item sold within a kit is. You could just grab the standard Base Price off the item record, which probably makes the most sense. If you would like to do this, add the following line to your columns:
Formula (currency) decode({memberitem},'',{transaction.amount},{transaction.quantity}*{memberquantity}*{memberitem.price}) - SUM
There are a couple of restrictions to note here:
  • This will not work if you have kits within kits
  • This search does not show the parent kits - only their members
  • This search grabs all transactions hitting Income accounts, so this includes things like credits, which would appear as negatives here
To explain the formulas a bit, you'll notice I use decode() a lot. Decode works in the following way: decode(value1, value2, value3, value4) -> IF value1 is equal to value2, THEN output value3 ELSE output value4. So what we do here is check if there is a value in a member item, and then output one value or another depending on if we're dealing with a kit or not. Following this logic, you should be able to add other fields as you want.

Hope this helps!

2010/03/08

Using the SurveyGizmo Integration Add-On

With our latest NetSuite add-on recently added to NetSuite’s SuiteApp listings we thought a quick tutorial would be apropos. Luckily one of our amazing consultants created an online video tutorial that demonstrates this nifty add-on. Thanks Mathieu!



If you are not familiar with SurveyGizmo, you can get a free trial here. SurveyGizmo is one of the best online survey tools available. I use it all the time both professionally and personally. The options available with this tool are amazing. I highly recommend it if your company ever needs to send out surveys.

The benefit of purchasing our integration add-on is that you don’t have to switch between NetSuite and SurveyGizmo anymore. You can send, organize and compile all your results right from NetSuite!

Request a demo or purchase this add-on directly from our website, or visit NetSuite's SuiteApp store for more information!

2010/03/02

Personalizing NetSuite

One of the best things about NetSuite is its flexibility. While many users have set up a personal color scheme, added shortcuts and KPIs there are a few other options that are often neglected but could definitely enhance your NetSuite experience.

On the center tabs click HOME then SET PREFERENCES. On that screen you’ll find a couple of neat preferences you can set for yourself (I repeat, for yourself. These settings will only affect YOU, no other NetSuite user).
Look under the first tab, GENERAL, and check out the Defaults header on the right side. You’ll find a handful of options, but today we will concern ourselves with "Show Internal IDs", "Only Show Last Subaccount", "Only Show Last Subentity" and "Only Show Last Subitem".

The "Show Internal IDs" is useful if you plan on doing CSV updates, or if you want to start dabbling in SuiteScripts. Internal IDs are the unique record keys in NetSuite, which allow you to uniquely identify a record. It really only comes in useful when you're doing more advanced technical stuff like I mentioned, but if you are going down that road, this option is indispensable.

The next three – "Only Show Last Subaccount/Subentity/Subitem" options are useful if you have really long parent-child hierarchies on your records, and you only care about seeing the last level. For instance, if you have Customer A - SubCustomer B - Contact Bob, and all you want displayed on your transactions are "Contact Bob", tick the "Only Show Last Subentity" field. Again, this is really just a personal preference and keep in mind this may cause you to see records in a slightly differently than your colleagues.

One other really useful option that I personally always have on is under the REPORTING/SEARCH sub tab. On the right side, there is "Show List When Only One Result". If you don’t have this ticked, when you run a search that only brings up a single result, NetSuite will bring you to the record, rather than displaying the regular search result screen. By ticking this box, you'll ensure you always stay in the search results screen rather than being brought to the record found.

There are many other options, of course, under SET PREFERNCES, so don't be shy about scrolling over the field names to see the pop-up help screen. You might find a few easy tweaks you really like!