This article is relevant if you are considering your options to track cost of goods sold in the NetSuite platform. I am making the assumption that you have basic understanding of accounting principles related to costing methods.
Background
On a recent prospective NetSuite implementation engagement for a successful soft-goods manufacturer, a discussion about different approaches for cost of goods tracking came forth. The business owner is currently using Standard Cost practices for inventory management using the Fishbowl inventory ledger system. He speculates that Job Cost will help him run his business better.
Accordingly, I saw an opportunity to discuss the options NetSuite offers and some of the challenges that an organization may face in producing “Job Cost” accounting in the platform. This article can’t possibly go in depth as that would turn this article into a whitepaper. But it can highlight considerations as you contemplate your cost tracking options.
Costing Methods offered by NetSuite
The following item / product costing methods are offered by NetSuite in the default package:
- FIFO: First-in, First Out
- LIFO: Last-in, Last Out
- Average (default)
- Standard (most recent addition to platform)
The costing methods can be defined by at the item level. Most customers, in practice, use only one costing method for their organization. In general, it is best not to change an item’s costing method once started without planning. NetSuite’s Sandbox account can help you consider the implications of a change to a costing method against current item valuation and the inventory ledger.
General Costing Considerations
NetSuite’s costing method offerings are generally available in most ERP systems. Standard costing is often a distinguishing capacity and is typically required in organizations that are manufacturing products to stock. Standard cost allows you to define the inventory cost you want to capitalize on your balance sheet and then capture variances between the capitalized costs and the actual costs incurred. The philosophy under Standard cost is that management can use variances as an indication of performance and control. A quantity variance means more or less inventory was used in production than planned; whereas a price variance means that more or less was paid for materials, labor (or other) than planned. The goal is to keep your variances within a tolerable range which, when done, illustrates that your organization is under control relative to your management’s expectations. However, unless you are really going to work on keeping variances under control, this costing method will produce additional administrative overhead and little pragmatic value.
With that said, there are more cost method concerns to consider. NetSuite offers both Lot and Serial Number tracking which effectively produce buckets to distinguish like kind inventory items. With Lots, inventory of the same type is grouped and costs can be associated. Serial numbers are effectively Lots but with a single item in the group. Granularity provides better information but it comes with associated administrative costs. Most managers want better information — but the cost of getting that information should be contemplated.
NetSuite offers a landed cost feature to effectively push expenses independent of the direct factory purchase costs into the value of the inventory items. Typically, you may see freight, insurance, duties, and royalties in these landed categories. With NetSuite, you can define the categories but it requires (note, this is a simplified explanation) connecting your item receipt records to related non-factory vendor bills and apply those costs via allocation formulas to each item. Landed costs practices capitalize these add-on costs to inventory values on the balance sheet. Without landed costs practices, these types of non-factory costs are expensed as separate general ledger accounts on the income statement.
Labor and overhead costs become more complex topics to deal with. Ideally, all direct costs related to the production of inventory and / or the cost to fulfill orders would be recorded in cost of goods sold. Yet, the administration effort makes it difficult to do. The primary reason is that as we mix labor and overhead into the production of goods, we need to create our own logical constructs for tracking how much of a divisible unit (say, an hour of effort, or one hour of electricity) is to be capitalized into the inventory valuation. All kinds of questions emerge around these constructs, including a discussion of what tools are available to measure and allocate. NetSuite has elements to work with these concepts but the capabilities are simple.
Sales Order / Job / Project Costing
Finally, the concept of Job Costing is that we want to track all the inputs related to a customer sale and then specifically see profitability. While not an absolute rule, this costing method is quite valuable to organizations that have fewer larger orders that take effort to fulfill over a period of time. Construction projects, software development projects, and contract manufacturing are a few industries that often want this type of cost tracking.
Many people assume that Job Costing and Standard Costing present a choice of one or the other. I don’t see it that way. I see Job Costing as a method that sits on top of the typical costing methods previously discussed. The challenge, in my mind is how to actually produce good Job Costing and I believe the answer is not obvious.
The basic premise in Job Costing is to track all the inputs on the job we are working on. In NetSuite, we can produce work orders that can be used as the document structure to track the production of raw materials ultimately into finished goods. NetSuite is very materials oriented, as many basic systems are. How do we get the labor and overhead cost into the job? One approach is to create a transactional tracking mechanism that records the amount of labor time applied to the job. Overhead is always more difficult because many times, cost such as rent and depreciation is considered in time horizons that span days, weeks or months and can be applied to multiple jobs. In general, management usually makes assumptions about capacity and labor utilization to come up with an estimate of overhead per labor hour. Once these questions are determined, transactional concepts can be used to track the applied overhead and record it against the job.
Now, once you have the transactional elements in place, you can run a report on a job that summarizes all the associated material, labor and overhead costs to a job to assess profit earned. In NetSuite, to get to this level of reporting, some invention is going to be required. Given NetSuite is a platform, we can get there.
How does the Standard Cost method support Job Costing? If you have strong Standard Cost practices in place, you are effectively capitalizing the materials, labor and overhead costs into the inventory item. Even if the inventory item is made to order and will not be stocked, this practice consolidates all direct costs into the “thing being fulfilled”. NetSuite’s then only needs to consider the “item cost” which now contains all the direct costs to derive the Sales Order / Job / Project cost in question. The Job Costing system effectively allows us to carve out our effort without respect for month-end closes and other accruals that traditionally work in aggregates at the Balance Sheet and Income Statement level.
Summary
The challenge in powerful costing methods is to balance the effort needed to get precision and the difference that will make in decision making and profitability. For smaller organizations with good margins, most seem willing to live with cost imprecision. I don’t fault them as being weak; instead, it may simply be immaterial to the Executive. For organizations in mature industries, where margins have been squeezed, it is natural for larger organizations to thrive. Why? They develop economies of scale to apply management practices over a larger infrastructure footprint and hence, develop good costing (standard or otherwise) practices — because being under control and improving margin, even in tiny fractions, makes a material difference.
I invite more thinking and your comments. If you want to setup a discussion about your NetSuite platform, contact us.
Thanks for an informative article which confirmed my conclusions regarding project tracking, in particular “While not an absolute rule, this costing method is quite valuable to organizations that have fewer larger orders that take effort to fulfill over a period of time.” This sentences describes our company, which has a mix of customer support contracts and large installation projects.
Recognizing the cost/benefit associated with doing job costing, I’m up against a decision point: Do I invest in software with better job costing features, or muddle along with my QuickBooks workarounds?
Am I correct that we need to code our materials and labor into a balance sheet account (WIP), then when the sale is made, relieve our WIP and debit our COGS, in order to match costs with revenues in the same period?
If I’m correct about this treatment, why don’t most software companies offer features to facilitate this process? Those I’ve looked at associate costs to jobs, but not through the balance sheet (smoothly). I envision at the time of sale, the software pulls all of the job-specific costs out of WIP and creating the transaction to debit COGS and credit WIP.
Does NetSuite do this?
Thanks for any insights you might share –
P.S. A discussion about inventory is moot, as we order virtually every product we sell; we take those costs directly to WIP, then to COGS at the time of sale. Or correct me if I’m overlooking something here, . . . .
Hello Marty,
Yes, you are looking the fundamentals correctly. In my mind, NetSuite is fundamentally a distribution oriented system. Thus, the concept of WIP is not how it was built. We have definitely solved for WIP at clients but it comes with effort. With NetSuite’s new Advance Revenue Recognition module, you can route revenue to deferred revenue. You can also route COGSs to an WIP inventory account. The trick then is to consume WIP with related revenue recognition possibly using the a Job/Project as a key.
Marty
Does NetSuite’s Job Costing module track actual Direct Labor against Work Orders and impact the GL? Can I track the actual Work Order Direct Labor in other ways without Job Costing and impact the GL? Thanks!
Hello Ivy,
The simple Light Manufacturing does not really have WIP nor does it have a concept of Labor. Did you see this article for a workaround?
https://blog.prolecto.com/2015/03/21/netsuite-best-practice-capitalizing-assembly-unit-costs/
Marty