Skip to content

2015 Goals Retrospective

I’ve been making intentional yearly goals using Michael Hyatt’s Best Year Ever program for the last couple years. The simple workbook that Michael provides is effective in reviewing the past year, and defining goals for the upcoming year. A "retrospective" is a process common in Agile Software Development, but I’ve started applying it my personal life planning lately. I made a lot of progress on key goals this past year, but still made a lot of mistakes; below is a retrospective on my 2015 goals. Here’s what worked: Getting clear on my goals, and the reasons (or motivation) behind those goals. Adjusting my actions and strategies to align against my goals…

Continue Reading

What a Freezing Cold Pond Taught Me

A couple weeks ago, I was on a hike in a state park with some old friends. Part of the hike included a small pond with a great dock. All of us walked out on the dock, and continued talking while enjoying the view. It was mid-November and was a really cold day. One of the guys stripped down and jumped into the pond. A couple minutes later a couple of the guys followed. After getting out of the pond and shivering for the next couple minutes, they all felt great; invigorated by the experience. It’s easy to get comfortable, and resist making a hard decision or a large change. This experience reminded me that it’s possible to do something incredibly uncomfortable or challenging and come out of it just fine, and in most cases much better…

Continue Reading

Determine Deposited Status of CustomerRefunds in NetSuite

Most payment and refund records in NetSuite have a straightforward way to determine if they’ve been deposited or not. The CustomerRefund is one exception: there is no way to determine from the GUI, or from the SuiteTalk API response for a CustomerRefund, if a given CustomRefund has been linked to a deposit record. However, you can search for CustomerRefunds which are deposited or undeposited using a couple poorly documented search filters:

Continue Reading

Are You Being Deliberate About Long-term Goals?

Recently, I met with a mentor about some of my past and future goals. After listening and understanding my goals, he started to dive into the motivation behind my goals. Why did I want to build that product? Why was I interested in that type of business? What did I want my life outside of work to look like? What type of people do I enjoy working with? Am I working with those people? What type of work did I enjoy? What type of work am I excellent at? What type of lifestyle do I want to live? I had good answers to the first round of questions, but as he kept digging I realized my answers were becoming more and more thin, and I had a lot of thinking to do. I’m a planner by nature…

Continue Reading

Get a Dedicated, Free, High Quality Conference Line

Premium services often end up being cheaper. This doesn’t meant that all premium services are expensive. Systems are being disrupted at such a rapid pace you can often find incredible services – like a free virtual fax machine – completely free. One of these services is UberConference. Even if you run a one man shop (like I do!) you should signup for UberConference and use it exclusively for calls. Here’s why: Hangouts is not reliable for phone calls. They have a great dial out feature, but I’ve been on a couple calls where the call connection kept dropping out. It was embarrassing and made me lool sloppy. Calling someone’s cell, or having them call you, often creates a coordination problem…

Continue Reading

Why the Right Premium Services are Always Cheaper

By nature, I’m frugal. I love getting a great deal, and getting the most of out of my purchases. When I was fifteen I got a new MacBook Pro for free by working those “get a free MacBook pro” ponzi schemes online: my obsession with a great deal started early. I’ve learned that it’s often worth paying for premium services when your time is at stake. Not only your current time, but time that a premium service could possibly save in the future. Opportunity cost is a real thing: it’s important to consider what you can’t do or time that could be possibly spent on fixing a future problem with the service or product. Here are a couple of failures from recent memory: Low Cost HSAs…

Continue Reading

Three Financial Automation Techniques

I’m a huge fan of outsourcing and automating everything, even rarely used tools like faxing. Time is my most valuable resource: and although I’m far from perfect at this, I try to eliminate, automate, or delegate everything that isn’t essential for me to do. Here is a snapshot of the toolkit I use to automate personal finance. Automate All Bill Payments Do you spend any time manually paying bills each month? YES! You can automate this and, if you are near a beach, you can write “relax” in the sand just like the above photo with all of your extra time. All credit card payments can be automated. Login to your credit cards online portal and setup auto-pay; pay the full balance off every month…

Continue Reading

How to Find the NetSuite Web Services Account Number

Finding the account number for NetSuite’s SuiteTalk WebService API isn’t very straightforward. This number is required for any applications with connect to NetSuite via their SuiteTalk API. Navigate to the SuiteTalk preferences via "Setup > Integration > Web Services Preferences", by searching for "page: Web Services Preferences" in the global search bar, or by visiting this URL (may not work depending on your NetSuite data center). You’ll see the following screen containing the Account Number (also called the Account ID): Some things to keep in mind: The account number is not always a number. It can be a string of letters…

Continue Reading

Resolving the NetSuite LIST_ID_REQD Deposit Record Error

Creating deposit records in NetSuite using the SuiteTalk API can sometimes result in the following error: This error is not well documented at all and does not point to a single issue. In order to properly handle and prevent this error from occurring you need to implementation validation before upserting (or adding, updating, etc) the record. Here are the various causes of the error: The included refund’s (CashRefund, CustomerRefund) account field is not set to the NetSuite instance’s “Undeposited Funds” account. The easiest way to determine what the “Undeposited Funds” account internalId is to search for the account by name and grab the first search result. The name of the “Undeposited funds account can be customized…

Continue Reading

How to Close a NetSuite SalesOrder Using SuiteTalk

Many things in NetSuite’s SuiteTalk XML API are not intuitive or obvious: closing a SalesOrder is one of them. When you create a SalesOrder using upsert or add you can set the order_status to _pendingFulfillment or _pendingApproval directly through the order_status field. However, you can’t simply update the order_status field on a SalesOrder to close the record, you need to set is_closed field on each line item in the SalesOrder. Other SalesOrder states work in a similar way: _partiallyFulfilled, _fulfilled, etc are only achieved by modified the item_list sublist or by creating a separate record (ItemFulfillment, Invoice, etc).

Continue Reading