|

![]() xTuple ERP 3.0 won the LinuxWorld product excellence award for best Business Application! Read more here!
![]() xTuple has also been recognized as a "Market Leader" by CRM Magazine, for "helping companies streamline business processes, maximize profitability, and provide more value to customers" with the integrated CRM functionality in xTuple ERP.
|
Assigning Costs to Items is an essential step in the process of Inventory Accounting. In this section, we will cover the basics of Item costing—looking first at how Costs are assigned to simple purchased Items. And then we will examine more complex manufactured Items and the layers of Costs associated with them. But first, let's get a couple of key definitions out of the way. There are two kinds of Costs in xTuple ERP: Actual Costs and Standard Costs. You should familiarize yourself with the following definitions for these two terms:
TipTo see General Ledger (G/L) traffic for Inventory transactions, Standard Costs must be assigned to the affected Items. If no Standard Costs are assigned, the costing aspects of the transactions will not be recorded. To begin, let's assign Costs to the purchased Item B1. This Item currently has no Costs assigned to it, as we can see from the Maintain Item Costs screen shown below: ![]() Initial Maintain Item Costs Screen for Purchased Item
B1
When you assign Costs to an Item, you begin by entering Actual Costs for the Item. Once the Actual Costs have been entered, you can then assign Standard Costs. You assign Standard Costs by posting the Actual Costs to Standard. We"ll talk more about Standard Cost posting later. By definition, purchased Items have material Cost. And so, the first Actual Cost we will assign to Item B1 is its material Cost. To do so, we select the NEW COST button, as shown below: ![]() Create Item Cost for Material
As you can see, the "Material" Costing Element is showing in the drop-down menu. This is a system-defined Costing Element available to all purchased Items. For the purposes of this exercise, we"ll assign a material Cost of $6.00 to Item B1. After we select the SAVE button, we are returned to the Maintain Item Costs screen, where the newly-added Actual Cost is recorded, as shown in the following screenshot: ![]() Actual Cost Entered for Item B1
Because we want to track the costing aspects of Inventory transactions involving Item B1 in the General Ledger, we need to post the Actual Cost to the Standard Cost. There are several ways to accomplish this posting, but for now we will use the right-click menu's "Post Actual Cost to Standard" option. As you can see in the next screen, the Standard Cost column now shows the same amount as the Actual Cost column: ![]() Actual Cost Posted to Standard Cost for Item B1
NoteThe timetable for posting Actual Cost updates to Standard Cost should be guided by Accounting practices at your site. Variances between Actual Cost and Standard Cost may provide you with useful supply chain or production-related information. So, we've discussed how to enter Actual Costs and how to post them to Standard. The next question is: How do you update Costs when the Costs for an Item change? And also: How do you ensure that any changes are recognized wherever the Item is used? To answer these questions, let's continue looking at our purchased Item B1. This Item, a book, has an Actual Cost of $6.00--and this Actual Cost has been posted to Standard. As you can see in the following screenshot, Item B1 is a component in the Bill of Materials for Item SET, which is a set of books: ![]() Costed View of Component Items
Let's say our Vendor increases the price for Item B1 from $6.00 to $7.00. Using the Maintain Item Costs screen, we would record this increased Actual Cost, as shown in the following screenshot: ![]() Update Actual Cost for Item B1
NoteThe system will automatically update Actual Costs for purchased Items when Vouchers are posted—that is, if the vouchered Cost per Item differs from the current Actual Cost on file. The Actual Cost on record may increase or decrease, depending on the cost per Item entered when Purchase Orders are vouchered. The Actual Cost for Item B1 has now been updated, reflecting the change in the Vendor pricing. If we return now to the Costed Bill of Materials for Item SET, we can see how the change affected one of the manufactured Items where Item B1 is used: ![]() Actual Cost of Component Item Updated
You have to look closely at the example to fully appreciate the subtle changes that have occurred. For one thing, you can see that the unit Cost for Item B1 has been updated to $7.00. This change affected the "Total Cost" for the parent Item SET. However, the Actual and Standard Costs for Item SET have not been affected:
Why does the above-mentioned difference exist? The reason is that the Cost update for Item B1 has not yet been "rolled up." Once a Cost update has been rolled up, the change will be recognized wherever the Item is used. In our current example, the Costed Bill of Materials for Item SET reflects the update, but the Actual and Standard Costs for Item SET have not yet absorbed the change. TipTo determine whether Costs have been rolled up, look closely at the dates when Costs were last updated on the Maintain Item Costs screen. You can also look for differences between the Total Cost and the Actual and Standard Costs for an Item on the Costed Bill of Materials display. Another point to consider is that the screen in our example is displaying data using the "Use Actual Cost" parameter. Note the difference when the "Use Standard Cost" option is selected instead, as shown in the following screen: ![]() No Affect on Standard Cost from Actual Cost
Update
As you can see, no change is showing in the Standard Cost for Item B1. The Standard Cost is still $6.00. The reason for this is that the Actual Cost update has not yet been posted to Standard. To roll up the Item B1 Cost update so that Item SET recognizes the change, we open the Update Actual Costs by Item screen, as shown below: ![]() Roll Up Actual Cost Update
As you can see in the example, we have selected the "Roll Up Actual Costs" option. Here we are performing a Cost roll up—which is to say that we are seeking to impact Actual Costs for all Items that use Item B1. After we select the UPDATE button, all Items that use Item B1 will recognize the Actual Cost update. To verify the change has been recognized, we return to the Costed Bill of Materials for Item SET, as shown below: ![]() Actual Cost Rolled Up and Recognized by Parent
Item
Sure enough, the Total Cost for Item SET is now equal to its Actual Cost. We have successfully rolled up the Cost update for the component Item B1. The update has been recognized by the parent Item. And the update has been recognized not only by Item SET—but also by any other parent Items where Item B1 is used. TipOur example has focused on Cost roll ups for individual Items. But you may also perform multiple simultaneous roll ups by Class Code. Keep in mind, though, that multiple updates may put a strain on server resources. Consider performing Cost updates by Class Code during off-peak hours. Incidentally, we could have achieved the same result by updating lower level material Costs for the parent Item SET, as shown below: ![]() Manufactured Item Perspective on Cost Roll Up
With the option "Update Lower Level Material Costs" selected, any component Item material changes will be recognized by the parent Item. In this case, the changes made to Item B1 will be reflected in the Actual Cost for Item SET. The process for updating and rolling up Standard Costs mirrors the Actual Costs process described above. Let's assume we have already posted the Actual Cost update to Standard for Item B1--using the Maintain Item Costs screen, for example. That means, the Standard Cost for Item B1 is now also $7.00, as we see reflected in the Costed Bill of Materials for Item SET: ![]() Standard Cost Updated for Item B1
When the "Use Standard Costs" option is selected as in the example, you can see that the Total Cost for Item SET differs from the Standard Cost. This means that the Standard Cost update for Item B1 has not been recognized. To ensure that parent Items recognize the Standard Cost change, we must roll up the Standard Cost, as shown below: ![]() Rolling Up Standard Cost
With the "Roll Up Standard Costs" option selected, we post the update and return once again to the Costed Bill of Materials display for Item SET. As the following screen shows, the Standard Cost update has successfully been recognized by the parent Item: ![]() Standard Cost Update Recognized by Parent Item
In addition to the system-defined "Material" Costing Element, you may also create user-defined Costing Elements. These accessory elements enable you to specify additional Item costs. To add a user-defined Costing Element, we again select the NEW COST button. The available elements are shown in the following screenshot. As you can see, the "Material" element is no longer available in the drop-down list. That is because the "Material" Costing Element is already in use. ![]() Add User-Defined Costing Element
We will select the "Freight Surcharge" element and specify a Cost of $0.25. The following screen shows this new Cost has been added to the Actual Cost for Item B1. NoteThere is no requirement that all Actual Costs must be posted to Standard. You may post certain Costs and not others—depending on the needs of your site. ![]() User-Defined Cost Added to Actual Cost
The master list of user-defined Costing Elements can be found in the Master Information section of the P/D Module. The following screen shows the list of Costing Elements created for this scenario: ![]() Master List of User-Defined Costing Elements
When creating a user-defined Costing Element, you may specify the "Accept P/O Distributions" option. Select this option if you want the Costing Element to be used for distributing Costs related to Purchase Order Vouchers. If selected, the Costing Element will be included as one of the available Costing Elements when Voucher Item Costs are distributed. TipIn addition to using Costing Elements, you may also create Costing Items—that is, Items assigned the Item Type "Costing." A Costing Item is a kind of pseudo Item used solely to provide a costed value for a Costing Element. Simply insert a Costing Item into a Bill of Materials, add Costs to the Item, and then link the Item to a Costing Element. You may then track the Costs of the pseudo Item as a user-defined Cost. Okay, we've covered how to assign Costs to a purchased Item. Now let's look at costing for a manufactured Item. The manufactured Item we will be using in this next scenario is Item TDMR100, a yellow toy truck having four component Items. The fourth component—Item TDPKIT—is also manufactured. Item TDPKIT is the packaging used to package the yellow toy truck. The next screen shows an indented Bill of Materials for Item TDMR100: ![]() Indented Bill of Materials
Because manufactured Items consist of component Items—sometimes extending to several layers—the costing issues are more complex than they are for purchased Items. New Costs are assigned in the same way as they are for purchased Items. But the layers of Costs and the relationships between them make costing for manufactured Items unique. NoteNew Costs are assigned to manufactured Items in the same way that new Costs are assigned to purchased Items. You simply select the NEW COST button on the Maintain Item Costs screen and specify a Costing Element and Cost amount. All Costs have already been assigned to Item TDMR100--and to all its component Items. So we will jump right into understanding how these Costs fit together. Let's start by looking at Costs associated with the manufactured component Item TDPKIT, the packaging for our yellow truck. As we saw in the example, Item TDPKIT is the fourth component listed on the Bill of Materials for the parent Item. The Costs for Item TDPKIT are shown in the following screenshot: ![]() Item Costing for Manufactured Component Item
TDPKIT
A few key points about manufactured Item costing can be made by looking closely at the information displayed in the example:
NoteThis level Costs are associated with the parent Item they refer to. Lower level Costs are associated with component Items. As you can see, Item TDPKIT has material, direct labor, and overhead Costs associated with it. The labor and overhead Costs are displaying as this level (that is, not lower level). And the material Costs, as expected, are shown as lower level Costs. Let's look first at how the lower level material Costs totalling $0.55 were arrived at. If you recall, Item TDPKIT has two component Items: TDK1 and TDK2. The following screenshot shows Item costing for these two Items: ![]() Costs for Component Items
Items TDK1 and TDK2 are basic purchased Items having material Costs only. Doing some simple math, we see how the lower level material Costs for Item TDPKIT were calculated:
So, that explains the material Costs for Item TDPKIT. Now let's look at the Item's direct labor Costs. We"ll explore the overhead Costs a little later. Referring back to the example, you recall that direct labor Costs for Item TDPKIT total $1.00. How was this amount determined? The answer to that question is the subject of our next scenario. Direct labor Costs are tied to the manufacturing process, to the Operations required to make an Item. So, to calculate labor Costs, we need to know how long it takes to make the Item and what the labor rates are. To gather this information, we will need to look at a series of different screens. We"ll begin by examining the Bill of Operations for Item TDPKIT: ![]() Bill of Operations for Item TDPKIT
As you can see, there is only one Operation listed on the Bill of Operations. It is Standard Operation "TD-A," which is performed in Work Center "Assembly." We can learn more about this Operation by double-clicking on it to open it, as shown in the following screen: ![]() Operation Detail from TDPKIT Bill of Operations
The Bill of Operations Item screen shown in the example contains extensive controls used to define the Operation. Looking closely at the screenshot, we see Standard Operation "TD-A" is in use. Standard Operations are not required, but in this case one is being used. NoteSetup time and run time values will carry over from the Standard Operation master if a Standard Operation is in use. The Work Center "Assembly" has been specified from the drop-down menu. And the following setup time and run time values have been entered:
It's important to highlight the differences in how setup times and run times are charged. As you might expect, run time is the amount of time required to execute an Operation. In our scenario, the Operation involves assembling packaging for the yellow toy truck. With a run time of 1 minute and a per value of 1 EACH, that means it takes 1 minute to assemble the packaging for one unit of Item TDPKIT. So, if a Work Order calls for 100 units of packaging, then run time will be charged 100 times—for a total of 100 minutes. Setup time is charged differently. Setup time refers to the amount of time needed to prepare the Work Center to perform the Operation. Setup time is charged only once per Operation—regardless of the number of units required by a Work Order. In other words, to use our previous example, if a Work Order calls for 100 units of packaging, the setup time charge would be 5 minutes. NoteSetup time is charged only once per Operation, regardless of the quantity ordered. You should pay attention also to how reporting of setup and run time is specified. We see in the example that both times are to be reported as Direct Labor. This means that all labor required to set up the Work Center and also to run the Operation will appear as Direct Labor Cost for the Item. We referred earlier to Standard Operation "TD-A." The following screen shows the master for this Standard Operation: ![]() Standard Operation Master
The setup and run time values entered on the Standard Operation master transfer to the Bill of Operations if and when the Standard Operation is specified. As you can see, the same values appear here as we saw in the example. These values may be changed at the Operation level, but any permanent changes must be made to the Standard Operation master itself. So we now know the amount of time required for the Operation. Next we need to determine the rate charged for labor. For that information, we must turn to the Work Center master for Work Center "Assembly," as shown in the next screenshot: ![]() Work Center Master
Just as Standard Operations may be used for Bill of Operations Items, so may Standard Labor Rates be used for Work Centers. As you can see in the example, the Standard Labor Rate "MA10" is specified for both run and setup labor. To determine what the dollar amount is for this standard rate, we open the Standard Labor Rates master list found in the Master Information section of the P/D Module. The specific details for rate "MA10" are shown in the following screen: ![]() Standard Labor Rate
As you can see, the Standard Labor Rate = $10.00. This means that for our Assembly Operation, $10 is the hourly rate charged for setup; it is also the hourly rate charged for run time. Let's review, then, the information we have gathered so far in our effort to reconstruct how direct labor Costs for manufactured component Item TDPKIT were arrived at:
We now have enough information to calculate the direct labor Cost. The following formula is the one we will use:
This formula works because, as you recall, the "Assembly" Operation specifies that setup time and run time are both reported as direct labor. All we have to do now is insert the correct values, and the equation looks like this:
To verify that $1.00 is indeed the direct labor Cost for Item TDPKIT, let's look at the Maintain Item Costs screen for Item TDPKIT again: ![]() Item Costing for Item TDPKIT
Sure enough, the reported direct labor Cost for Item TDPKIT = $1.00. As you can see, this amount has been posted to the Standard Cost for the Item. Finally, we need to determine how overhead Cost for Item TDPKIT is arrived at. Referring back to the Work Center master shown in the example, we recall that the overhead rate per hour = $10.00 To calculate overhead Cost then, we would use the following formula:
If we now insert the correct values, the equation looks like this:
Again, referring to the Item Costing detail shown in the example, we can verify that reported overhead Costs for Item TDPKIT = $1.00. We've now covered the fundamentals of manufactured Item costing. But remember: Item TDPKIT is a fairly simple manufactured Item. We will look next at costing for the more complex parent Item TDMR100. The same processes will be used to determine its Costs, but the factors we have to consider are more complicated. To begin, let's look at the Costs for Item TDMR100, as shown in the following screen: ![]() Item Costing for Parent Item TDMR100
For starters, note the distinctions between the lower level and this level Costs. As we discussed earlier, this level Costs are associated with the parent Item they refer to. Lower level Costs are associated with component Items. For Item TDMR100, the levels may be broken down as follows:
To better understand how these levels fit together, let's open the Costed Indented Bill of Materials display, found in the Costing section of the P/D Module. This is a useful display because it shows not only Bill of Materials Items, but also the Costs associated with each: ![]() Costed Indented Bill of Materials Display for Item
TDMR100
As you can see, Item TDMR100 consists of four component Items—one of which, Item TDPKIT, has two component Items of its own. We've already determined that material Costs for manufactured Items are always lower level. So, to determine material Costs for Item TDMR100, we must look to the non-manufactured component Items: TDMRY, TDMRB, TDMRW, TDK1, and TDK2. Conveniently, the only Costs assigned to these Items are material Costs. As a result, we simply have to add up the extended Costs for these Items to determine the overall material Cost for Item TDMR100. TipWhen using the Costed Indented Bill of Materials display, be sure to distinguish between unit Cost and extended Cost. The extended Cost represents the unit Cost multiplied by the quantity required by the Bill of Materials. When we add all these material Costs together—TDMRY ($0.0025), TDMRB ($2.5000), TDMRW ($1.2500), TDK1 ($0.3000), and TDK2 ($0.2500)--we get an overall material Cost for Item TDMR100 of $8.0525. Referring back to the example, we can verify on the Maintain Item Costs screen that this amount is in fact the reported material Cost for Item TDMR100. Next, we need to examine how direct labor Costs for Item TDMR100 are determined. As before, we begin with the Bill of Operations, as shown in the following screenshot: ![]() Bill of Operations for Item TDMR100
As you can see, the Bill of Operations for Item TDMR100 contains three Operations—as compared to the one Operation we saw for component Item TDPKIT. We've already discussed how to locate costing information on both the Operation and Work Center screens. So, rather than repeat that process here, we've extracted the pertinent information into the following table:
As you can see, all the rates (setup, run, and overhead) are the same: $10.00. This fact enables us to combine the setup and run times into one. If the rates were not identical, the setup and run times would have to be multiplied individually by the appropriate rate. To determine the direct labor Cost for Item TDMR100, then, we follow the same equation we introduced earlier:
To simplify things this time around, we've combined the setup and run times for each Operation into a single value. With those values inserted, the equation now looks like this:
Looking back at the Maintain Item Costs screen shown in the example, we can verify that the direct labor Costs for Item TDMR100 are indeed $2.500. To calculate overhead Cost, we would again use a formula we introduced earlier:
And with values for each of the Operations for Item TDMR100 inserted, the overhead Cost equation would appear as follows:
As expected, this result corresponds to the overhead Costs reported for Item TDMR100 in the example. We have now accounted for all the Costs associated with our manufactured Item TDMR100. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||