How the planned cost is calculated for a job.
The planned costs for a job appear on several job costing reports and is also used for the move-to-stock in some circumstances if the item has a cost type of actual. This entry discusses how the figures are calculated.
Solution ID = KB-243
Goal : How the planned cost is calculated for a job.
Version = All Version
Module : SLMFG
Symptom 1 : Job Cost
Symptom 2 : Job Planned Cost
Database : Progress, SQL
Cause
Fix
In general, material cost is the quantity you need of each material times the quantity released on the job with material overhead being the material's overhead rates times the material's total cost. The setup is the operation setup hours times the setup rate, the run is the total labor hours required to produce the quantity released times the run rate on the operation, and labor overhead is the setup hours and the total run hours times the operation overhead rates. Machine overhead is the total machine hours times the machine overhead rates.
Below are the precise calculations for these components. The calculation listed is done for each material and operation with the accumulated results being the total planned cost on the job. After all of the calculation are described, there is a section that gives the calculations with the actual database fields used which should help if you are attempting to calculate planned cost in a custom report.
This document focuses on the calculation of total planned cost. For the move-to-stock calculation done in some cases for actual costing, a planned unit cost. The changes to the formulas done for that calculation are noted at the end of the document.
The setup, run and machine costs are all calculated using a series if behind-the-scenes "ticks" fields that store times in hundredths of an hour. That is, there are 100 ticks in an hour. Since setup is not per piece, the setup ticks represent the total setup time. For labor and machine time, the system stores the ticks to make one piece. For example, if the setup hours are 3, the stored setup ticks would be 300. If the labor hours are entered as 2 hours per piece, the run ticks would be 200. If labor is entered as 4 pieces per hour, the run ticks would be 25 (a quarter an hour per piece).
MATERIAL COST:
While the planned cost of a material may be put into different categories on different reports based on the material type and whether it represents outside cost, the planned cost calculation is the same for all materials. Reports that have categories for Material, Tool, Fixture and Other will put each material's cost into the appropriate bucket based on its material type. Also, if it is type Other and is used on an operation that uses an outside work center, the cost will be considered Outside. In all cases, the calculation is the following:
Material Cost =
if the material is per Unit:
(job qty released * material qty per assembly /
(1 - scrap factor)) * material unit cost
if the material is per
(material qty per assembly / (1 - scrap factor))
* material unit cost
MATERIAL OVERHEAD COST:
Material overhead is calculated the same regardless of the material's type. The materials cost used if the value calculated above:
Fixed Material Overhead Cost =
Material Cost * material fixed overhead rate
Variable Material Overhead Cost =
Material Cost * material variable overhead rate
SETUP COST AND OVERHEAD
For each operation, it first calculates the planned setup hours and then the planned setup cost and labor overhead associated with setup:
Setup Time = (operation setup ticks / operation efficiency)
Setup Cost = Setup Time * operation setup rate
Fixed Setup Overhead =
Setup Time * operation fixed labor overhead rate
Variable Setup Overhead =
Setup Time * operation variable overhead rate
RUN (LABOR) COST AND OVERHEAD
For each operation, it first calculates the planned run time and then the planned run cost and run labor overhead:
Labor Time = job qty released * (labor ticks per piece
/ efficiency * crew multiplier)
Run Cost = Labor Time * operation run rate
Fixed Overhead = Labor Time * operation fixed labor overhead rate
Variable Overhead =
Labor Time * operation variable labor overhead rate
Note: The "crew multiplier" is the operation crew size if the operation's work center is both machine and crew scheduled. Otherwise it is set to 1. That is done because if the work center is machine scheduled only or crew scheduled only, the system expects you to enter the total labor hours for the entire crew. If it is machine and crew, you just enter the labor for one crew member. For example, if there are 3 people working on the operation for 1 hour to make a piece, you would enter 3 labor hours if the work center is crew scheduled and 1 hour if it is machine and crew scheduled.
MACHINE OVERHEAD
For each operation, it first calculates the planned machine time and then the planned machine overhead costs:
Machine Time =
job qty released * (machine ticks per piece / efficiency)
Machine Fixed Overhead =
Machine Time * operation fixed labor overhead rate
Machine Variable Overhead =
Machine Time * operation variable labor overhead rate
THE CALCULATIONS USING THE ACTUAL DATABASE FIELDS:
For each material, accumulate:
MATERIAL COST =
if jobmatl.units = "U":
(job.qty-released * jobmatl.matl-qty /
(1 - jobmatl.scrap-factor)) * jobmatl.cost
if jobmatl.units = "L":
(jobmatl.matl-qty / (1 - jobmatl.scrap-factor))
* jobmatl.cost
MATERIAL FIXED OVERHEAD =
MATERIAL COST * jobmatl.fmatlovhd
MATERIAL VARIABLE OVERHEAD =
MATERIAL COST * jobmatl.vmatlovhd
For each operation, accumulate:
SETUP TIME = (jrt-sch.setup-ticks / jobroute.efficiency)
SETUP COST = SETUP TIME * jobroute.setup-rate
FIXED SETUP OVERHEAD =
SETUP TIME * jobroute.fixovhd-rate
VARIABLE SETUP OVERHEAD =
SETUP TIME * jobroute.varovhd-rate
LABOR TIME = job.qty-released * (jrt-sch.run-ticks-lbr /
jobroute.efficiency * crew multiplier)
LABOR COST = LABOR TIME * jobroute.run-rate-lbr
FIXED OVERHEAD = LABOR TIME * jobroute.fixovhd-rate
VARIABLE OVERHEAD = LABOR TIME * jobroute.varovhd-rate
MACHINE TIME =
job.qty-released * (jrt-sch.run-ticks-mch / jobroute.efficiency)
FIXED MACHINE OVERHEAD =
MACHINE TIME * jobroute.fovhd-rate-mch
VARIABLE MACHINE OVERHEAD =
MACHINE TIME * jobroute.vovhd-rate-mch
Notes:
Fields relating to the "crew multiplier" are the operation crew size which is jobroute.crew-size and the flags that determine if a work center is machine and/or crew scheduled which are wc.mach-flag and wc.crew-flag.
The calculations differ slightly if a per unit planned cost is being calculated (for a move-to-stock). In that case, the job quantity released is simple omitted from where is used in the above calculations. Also, the per lot type costs of setup, setup overhead, and per lot materials and their overhead are all divided by the job quantity released.
This solution refers to fields in the job, jobroute, jrt-sch and jobmatl tables. See solution 36 for a detailed explanation of the table structure used for storing jobs, routings and BOMs.