In managerial accounting standard costs are predetermined unit costs that are used as measures of performance. To establish the standard cost of producing a product, it is essential to create standards for each manufacturing cost element (direct materials, direct labor, manufacturing overhead). Each element is determined from the standard orice to be paid and the standard quantity to be used.
A company example, Company X makes concentrated caffeinated syrups to be sold and used by beverage serving retail shops.
direct materials price standard is the cost per unit of direct materials that should be incurred. This standard is based on purchasing department’s best estimate of the cost of raw materials {current purchase price} + {receiving costs, storing costs, handling costs}.
direct materials quantity standard is the quantity of direct materials that should be used per unit of finished goods, expressed in units of kg, barrels or liters. The standard should allow for extra amounts of waste or spoilage.
standard direct materials cost per unit is standard direct materials price times the standard direct materials quantity
direct labor price standard is the rate per hour that should be incurred for direct labor (based on current wages, payroll taxes, benefits). In Canada there is cost of living adjustment COLA.
direct labor quantity standard is the time that should be required to make one item unit of the product. Allowances should be made for rest periods, cleanup, machine setup and machine downtime.
standard direct labor cost per unit is the direct labor rate times the direct labor hours
Company X direct material data is in a dictionary. Direct materials price and quantity dictionaries are separate here but can easily be placed inside one data dictionary.
Show the code
# --- price standardmaterials_price = {'purchase_price': 2.70,'freight': 0.20,'receiving_handling': 0.10}standard_price =sum(materials_price.values())print("Standard direct materials price per liter : ${:.2f}".format(standard_price))# --- quantity standardmaterials_quantity = {'required_materials': 3.5,'waste_allowance': 0.4, # allowance for waste'spoilage_waste': 0.1}standard_quantity =sum(materials_quantity.values())print("Standard direct materials quantity per unit : ${:.2f}".format(standard_quantity))# standard dm cost per unitsdm_cpu = standard_price * standard_quantityprint("Standard direct materials cost per unit : ${:.2f} (liter)".format(sdm_cpu))# --- standard laborlabor = {'hourly_wage_rate': 12.5,'COLA': 0.25, # cost of living adjustments'payroll_taxes': 0.75,'benefits': 1.50}standard_labor =sum(labor.values())print("Standard direct labor rate per hour : ${:.2f}".format(standard_labor))# --- labor quantitylabor_quant = {'actual_production_time_hrs': 1.5,'rest_periods_cleanup_hrs': 0.2,'setup_downtime_hrs': 0.3}standard_labor_quantity =sum(labor_quant.values())print("Standard direct labor hours per unit : {:.2f} (hours)".format(standard_labor_quantity))# -- labor cost per unitlabor_cpu = standard_labor * standard_labor_quantityprint("Standard direct labor cost per unit : ${:.2f}".format(labor_cpu))
Standard direct materials price per liter : $3.00
Standard direct materials quantity per unit : $4.00
Standard direct materials cost per unit : $12.00 (liter)
Standard direct labor rate per hour : $15.00
Standard direct labor hours per unit : 2.00 (hours)
Standard direct labor cost per unit : $30.00
Manufacturing overhead standard predetermined overhead rate is used in setting the standard. The rate is determined by dividing the budgeted overhead cost by the expected standard activity index {labor hours and standard machine hours}. Activity Based Costing (ABC) can be used to allocate the overhead costs.
normal capacity is the average activity output that a company should experience over the long run.
standard manufacturing overhead rate per unit is predeteremined overhead rate times the activity index quantity standard
total standard cost per unit is the sum of the standard costs of direct materials , labor, manufacturing overhead
Company X uses standard direct labor for it’s activity index, and expects to produce 13,200 liters through the year at normal capacity.
Show the code
# expected number for productionexpected_prod =13200standard_direct_labour_hrs = standard_labor_quantity * expected_prodbudgeted_overhead = {'variable_costs': 79200, 'fixed_costs': 52800}overhead =list(budgeted_overhead.values())total_bugeted_overhead =sum(overhead)# overhead rate per direct labor hourvar_rphr = overhead[0] / standard_direct_labour_hrsfixed_rphr = overhead[1] / standard_direct_labour_hrstotal_rphr = var_rphr + fixed_rphrstandard_manuf_rpu = total_rphr * standard_labor_quantityprint("Standard direct labor hours ...... {:,}".format(standard_direct_labour_hrs))print("Total budgeted overhead costs .... ${:,}".format(total_bugeted_overhead))print("Variable: overhead rate per labor hour .... ${:,}".format(var_rphr))print("Fixed: overhead rate per labor hour .... ${:,}".format(fixed_rphr))print("Total overhead rate per labor hour .... ${:,}".format(total_rphr))print("Standard manufacturing overhead rate per unit .... ${:,}".format(standard_manuf_rpu))
Standard direct labor hours ...... 26,400.0
Total budgeted overhead costs .... $132,000
Variable: overhead rate per labor hour .... $3.0
Fixed: overhead rate per labor hour .... $2.0
Total overhead rate per labor hour .... $5.0
Standard manufacturing overhead rate per unit .... $10.0
Total standard cost per unit
Show the code
total_standard = (standard_price * standard_quantity) +\ (standard_labor * standard_labor_quantity) +\ (total_rphr * standard_labor_quantity)print("Total standard cost per unit ...... ${:,}".format(total_standard))
def standard_costs( dict ): direct_materials =list(dict['materials_per_unit'].values()) dm_std_costs = direct_materials[0] * direct_materials[1] direct_labor =list(dict['labor_per_unit'].values()) lab_std_costs = direct_labor[0] * direct_labor[1] manuf_overh = (list(dict['manufacturing_overhead'].values())[0]) * lab_std_costs total = dm_std_costs + lab_std_costs + manuf_overhprint("- Standard Costs -")print("Direct Materials Standard Cost ................ ${:,}".format(dm_std_costs))print("Direct Labor Standard Cost .................... ${:,}".format(lab_std_costs))print("Manufacturing overhead Standard Cost .......... ${:,}".format(manuf_overh))print("Total standard cost .................................. ${:,}".format(total))standard_costs( company_costs )
- Standard Costs -
Direct Materials Standard Cost ................ $6.0
Direct Labor Standard Cost .................... $3.25
Manufacturing overhead Standard Cost .......... $3.9
Total standard cost .................................. $13.15
12.1 Direct Materials Variance
The total direct materials budget variance (TDMBV) is the calculation between the amount paid (actual quantity times the actual price) and the amount that should have been paid based on standards (standard quantity times standard price of materials).
total variance = material variance + labor variance + overhead variance
actual_quantity_price = total actual quantities (TAQ) x actual price (AP)
standard_quantity_price = total standard quantities allowed (TQSA) x standard price (SP)
The total labor variance is the difference between the amount actually paid for labor versus the amount that should have been paid. The total direct labor budget variance (TDLBV) is the difference between the amount actually paid for labor (actual hours times actual rate) and the amount that should have been paid (standard hours times standard rate for labor).
TAH total actual hours
AH actual hours
TSHA total standard hours allowed
SR standard rate
TDLBV = (TAH * AH) - (TSHA * SR)
Total labor variance is caused by differences in the labor rate or differences in labor hours.
Labor Price Variance (LPV) = (TAH * AR) - (TAH * SR) or use: LPV = AH x (AR - SR)
Labor Quantity Variance (LQV)
LQV = (TAH * SR) - (TSHA * SR) or use: LQV = SR x (AH - SH)
12.3 Total Overhead Variance
Total overhead variance is the difference between the actual overhead costs and overhead costs applied based on standard hours allowed for the amount of goods produced. To find the total overhead variance in a standard costing system, determine the overhead costs applied based on standard hours allowed. Total standard hours allowed are the hours that should have been worked for the units produced.
VOHEV = (TAH * SR) - (TSHA * SR) or use: VOHEV = SR * (AH - SH)
12.4 Total Fixed Overhead Variance
The total fixed overhead variance is the difference between the actual fixed overhead and the total standard hours allowed multiplied by the fixed overhead rate. The fixed overhead spending budget variance shows whether spending on fixed costs was under or over the budgeted fixed costs for the year.
total fixed overhead variance (TFOHV)
TFOHV = (actual fixed overhead) - (TSHA * SR)
fixed overhead spending variance (FOHSV)
normal capacity hours at standard fixed overhead rate (NCH)
function for reporting variances, in this example labor price of $700 is labelled as unfavorable and is omitted from the usual list and summation.
Show the code
def report_variance( dict ): std_gross_profit =dict['sales_revenue'] -dict['cost_of_goods_sold'] tot_vars =sum(list(dict.values())[:-2])# -- 700 is element 2 in the list array and for this example subtracted a =list(dict.values())[:-2] b = a[0:2] c = a[3:5] fav_var =sum(b+c) - a[2] gross_profit_actual = std_gross_profit + fav_varprint("- Report on Variance -")print("Standard gross profit ................. ${:,}".format(std_gross_profit))print("total variance ....................... ${:,}".format(tot_vars))print("total variance favorable ............. ${:,}".format(fav_var))print("Gross profit (actual) ................ ${:,}".format(gross_profit_actual))report_variance( variances )
- Report on Variance -
Standard gross profit ................. $40,800
total variance ....................... $3,150
total variance favorable ............. $1,750
Gross profit (actual) ................ $42,550