Pages

2012/05/15

Importing Gift Certificates

It is possible in NetSuite to import gift certificates into the system (NOTE: the certificates must already have an authorization code). To do so, ensure the following steps have been taken:

  • Enable the Gift Certificates feature under Setup > Company > Enable Features > Items & Inventory > Items > Gift Certificate Setup. 
  • Under Setup > Accounting > Accounting Preferences > Items/Transactions > Other Item Preferences > Gift Certificate Auth Code Generation
    • NOTE: there are three options: System Generated, Enter on Order, and Add-On Item. For this purpose it should be set to Enter on Order

This can be applied to both physical gift certificates/cards and virtual gift codes, however in order to do so a generic Customer against which to create the Cash Sales (and import the gift certificates onto), and a Generic Gift Item must be created. Using this generic customer, it is possible to import legacy gift certificates

NOTE: An email will be sent to the gift certificate recipient. You can enter the same e-mail for all certificates (ie, the generic customers e-mail), it will not impact who can use the certificate.

Create a CSV import mapping for Transactions > Cash Sale. (You could also use Invoice, but you will need to create payments/journals to close the transactions).

In the mapping, under NetSuite Fields > Cash Sale Items you will find the fields you need to correctly map, with the Gift Certificate specific fields corresponding to item options: 


Undep. Funds = No
Account = An account to post the transaction against
Customer

Amount (the amount remaining on each card - use the Note field to keep track of the original amount if needed)
Items : Item (the gift certificate item)
Items : Gift Message
Items : Code (those need to be unique!)
Items : Recipient Email (informational only)
Items : Recipient Name (informational only)
Items: From
Items: Tax Code

Viewing and Managing the Data

Once you have the Gift Certificate functionality set up, you can view and manage the data via Lists > Accounting > Gift Certificates. Through this it is possible to view the original and current value, although the current value can not be edited, the expiration date (this is illegal in some states - ie, PA). A gift certificate can be used in payment through the Order Form > Billing > Payments > Gift Certificate section.

2012/05/07

SSP Pages and the Power of Awesome

I am rarely excited by NetSuite announcements, and I tend to wait a while before taking position on the quality of a new feature...but this time, I am very excited about the new SSP pages. I could barely stay on my chair during the NetSuite presentation on the functionality, and could not wait to start coding one for the pleasure of it.

The feature is still in Beta phase according to the description in the 'Enable Features' page (SuiteScript Server Pages (Beta)), but according to NetSuite it should work properly at this point in time.

So, let's dive into this pool of infinite potential (I told you I was excited), and cover some of the things that can be done with SSP pages in the NetSuite Webstore.

Once the feature is enabled (Enable Features), it is possible to access the SSP Application in the Website Setup section. This is where we can create all  of our more-awesome-than-the-other-applications SSP Application. For a quick reference, view the screenshot below of the page we will need to work with in order to create our innovative checkout pages.



To start, set a name for the application which will be used in the generated url to access the application. This can always be changed  later manually to match your needs. The other important section is the Application Folder which will contain a grouping of related applications, and its URL Root  is created by the application folder name (because it is sitting in the live hosting file) and the name of the application.



For those of you who have a keen sense of observation, you may have noticed the Scripts section in the service function. With these we are getting closer to where the magic happens. For those with scripting knowledge, note that service uses the same parameter as a Suitelet (a nlobjRequest and a nlobjResponse).

The Touch Point sub-list  is where you will identify which page you want to change and with which you will create the SSP Page. It is possible to change the checkout pages using your own logic, and if you've been trying to alter those pages through different technique, you know how hard it was. The SSP pages create a plethora of possibilities, and the projects you can now achieve.

---NOTE: This next section contains code samples
Once the page you want to change has been identified, it is time to create the actual SSP pages. Please note that currently this is the only way to get the SSP pages to work.

In the pages, it is possible use all the <% ... %>  tags we have used in the past. This greatly accelerates the creation of the pages because we can reuse the header, footer or navigation we created in the web store theme. For example, if we want to add the header to the page, we would only have to use the following in the SSP page :
...
<table>
<%=getPageTop()%>
</table>
...
And voilĂ . We have our theme header generated in our SSP page.

Finally, the thing I'm the most happy to see is a supported access to the shopping session object. If you have ever had to work to get information from the cart and the session, you know how difficult it can be to fetch the right information. Through nlapiGetWebContainer(). getShoppingSession() we finally have access to the sales information. For example, I need the summary of an order (total, subtotal, shipping cost, etc), I can simply do the following :

<%var summary = nlapiGetWebContainer().getShoppingSession().getOrder().getOrderSummary()%>
<%for(var field in orderSummary){%>
      <tr>
         <td><%=field%></td>
         <td><%=orderSummary[field]%></td>
      </tr>
<%}%>

Simple! In essence, we now have the possibility to use JSP-like pages. With only these two possibilities I would have been satisfied but there is more, so much more we can do with this functionality.





2012/05/02

May: Tips & Tricks

1 - Paying a Vendor Bill with Credit Card



  1. Create a Credit Card type account in your Chart of Account
  2. Create a Vendor representing your Credit Card bank (for example: "RBC Visa"). On the Financial Tab, under Default Expense Account, make sure to select the account created in step 1.
  3. Pay Bills normally on any outstanding vendor bills, making sure to pay them using the Credit Card account created in step 1. This will decrease the account
  4. To "pay" the Credit Card, use the Write Check transaction. Here, you will select the Vendor representing the credit card created in step 2. The Expense subtab should now list the default expense account, which is the Credit Card account. Now, on the body, select the Bank account you're using to pay the credit card.
  5. Once you've done this, the Write Check will increment the value of the Credit Card account back up, while decrementing your Bank account.

2- Commission Schedule (Tip)

When viewing the list of commission schedules in NetSuite, there is a column called "In Use". 

Tip: It should be noted that even if your schedule is used in a commission plan, the In Use column might not be set to Yes. It is only set to Yes when a commission is calculated using that particular schedule.

3 - Form Languages

In order to have a form in a specific language (ie, French France), a user has to log into NetSuite, change their default language to the language they wants to create the form in (Home > Set Preferences). 

Once the language is set, the user should navigate to the form, click on 'Customize', and save the form. This operation will save the form in the current language. 

The user can now set their language back to the original one, and when they navigate back to print a form, they will now have the option to Print in (Other Language) on the print button. 

2012/04/20

Transfer Orders

A Transfer Order is the transfer of items from one location to another. This feature is available in NetSuite when (and only if) the Multi-Location Inventory feature is enabled (Set-up > Enable Features> Item & Inventory > Multi-Location Inventory).

In NetSuite, a Transfer Order can have four different statuses: Pending Approval, Pending Fulfillment, Pending Receipt, and Received. Let's go through what each of these means in the Standard Workflow:

1. Pending Approval
The Transfer Order will maintain this status until either it is manually set to Pending Fulfillment, or is approved via the Approve Transfer Orders window, which can be accessed through Transactions > Inventory > Approve Transfer Orders.

2. Pending Fulfillment
In this stage, the item is committed from the source location, which is viewable in the Quantity Committed column of Location under Item > Inventory, and the Quantity on Order is incremented on the Transfer Location. At this point you can now Fulfill the Transfer Order, which will create a standard item fulfillment which is ready to be packed and shipped.

3. Pending Receipt
Now, once the Transfer Order is in the Pending Receipt status, the Quantity on Hand at the From Location will be decremented, but the Quantity on Order remains on the Transfer Location. At this point you can now receive the Transfer Order.

4. Received
Once the Transfer Order has been received, the Quantity on Order will be decremented proportionate to the Quantity on Hand that has now been incremented.

EXAMPLE: 

A company has custom built items which they only use certain quantities of items to build. Taking this into account, the company would like the extra quantities to be moved to a Scrap Location. The Solution?
  • Create a Custom Column Field - Quantity to Scrap
  • Create a Transfer Order to commit from inventory for each item with a quantity to scrap (when the Sales Order is created)
  • When the Sales Order is Billed:
    • Transform Transfer Order into Item Fulfillment
    • Transform Transfer Order into Item Receipt
Quantities to scrap should thus be moved from Location to Scrap Location with the correct inventory impact.

2012/04/03

April: Tips and Tricks

1- Remitting taxes (EU or CAN)


In many European countries, just like in Canada, you remit to the government only the difference in taxes that you collected from sales minus what you were charged when buying (Liability minus Asset). 


To pay a tax liability in NetSuite: 



  1. Enter the appropriate tax codes whenever you create sales and purchase transaction records.
  2. Close the tax period before you do your tax reporting and tax payments. (Go to Setup > Accounting > Taxes > Manage Tax Periods)
  3. Run and review the VAT on Sales and the VAT on Purchases summary and detailed reports. If necessary for adjustments, reopen the tax period and run the reports again. 
  4. If VAT on Sales is greater than VAT on Purchases, prepare and post an appropriate journal entry that: Debits the VAT on Sales account for the amount shown on the VAT on Sales, report Credits the VAT on Purchases account for the amount shown on the VAT on Purchases, report Credits the VAT Liability account for the net amount.
When it is time to pay your tax liability, you can write a cheque to the tax agency. You can write a tax liability cheque for any non-US edition or nexus at Transactions > Bank > Pay Tax Liability (Administrator).

2. List of browsers officially supported by NetSuite

Platform
Supported Browsers
Windows XP
Internet Explorer 7.x, 8.x

Firefox 3.6, 11.x

Safari 5.x

Google Chrome 17.x
Windows Vista
Internet Explorer 7.x, 8.x, 9.0

Firefox 3.6, 11.x

Safari 5.x

Google Chrome 17.x
Windows 7
Internet Explorer 7.x, 8.x, 9.0

Firefox 3.6, 11.x

Safari 5.x

Google Chrome 17.x
Mac 10.4
Firefox 3.6
Mac 10.5
Firefox 3.6

Safari 5.x
Mac OS X 10.6.4
Firefox 3.6
Mac OS X 10.7.2
Firefox 11.x

Google Chrome 17.x


3 - Setting up a custom favicon in your NetSuite e-commerce store

In a NetSuite hosted eCommerce site, the favicon, or shortcut icon, automatically defaults to a NetSuite `N` graphic. It is possible to customize this so your company's own 16x16 pixel graphic named favicon.co. 

Upload the favicon to the root of the file cabinet under web site hosting files > live , or web site hosting files > live > site. 

After uploading, insert the meta tag to ensure that your icon shows up. This can be inserted under the "Additions to Head" field under Web Site > Site Templates. 

Add the following line (with the correct information) and voila!

<link rel="Favicon" href="https://checkout.netsuite.com/c.411534/favicon.ico" type="image/x-icon">