/*
Create journal entry for WO related costs.
*/
-function add_wo_costs_journal($wo_id, $amount, $cost_type, $cr_acc, $db_acc, $date, $dim1=0, $dim2=0, $memo = null, $ref= null)
+function add_wo_costs_journal($wo_id, $amount, $cost_type, $cr_acc, $date, $dim1=0, $dim2=0, $memo = null, $ref= null)
{
//-------- this should be done by single call to write_journal_entries() using items_cart()
//
$journal_id = get_next_trans_no(ST_JOURNAL);
+ $wo = get_work_order($wo_id);
+
if (!$ref) $ref = $Refs->get_next(ST_JOURNAL, null, $date);
add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $cr_acc,
0, 0, $wo_cost_types[$cost_type], -$amount);
+
$is_bank_to = is_bank_account($cr_acc);
if ($is_bank_to)
{
add_bank_trans(ST_JOURNAL, $journal_id, $is_bank_to, "",
$date, -$amount, PT_WORKORDER, $wo_id, get_company_currency(),
"Cannot insert a destination bank transaction");
- }
+ }
add_journal(ST_JOURNAL, $journal_id, $amount, $date, get_company_currency(), $ref);
- add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $db_acc,
+ add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $wo['assembly_account'],
$dim1, $dim2, $wo_cost_types[$cost_type], $amount);
$wo = get_work_order($wo_id);
$wip = $wo['assembly_account'];
- if ($db_acc != $wip)
- {
- add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $db_acc,
- 0, 0, $wo_cost_types[$cost_type], -$amount);
-
- add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $wip,
- 0, 0, $wo_cost_types[$cost_type], $amount);
- }
-
$Refs->save(ST_JOURNAL, $journal_id, $ref);
add_wo_costing($wo_id, $cost_type, ST_JOURNAL, $journal_id);
center.name AS WorkCentreDescription,
item.material_cost as ComponentCost,
item.inventory_account,
- item.assembly_account
+ item.cogs_account
FROM (".TB_PREF."wo_requirements req,"
.TB_PREF."locations loc,"
.TB_PREF."workcentres center)
$stockitem = get_item($stock_id);
release_work_order($woid, $date_, '');
if ($costs != 0)
- add_wo_costs_journal($woid, $costs, WO_OVERHEAD, $cr_acc, $stockitem["assembly_account"],
- $date_, $stockitem["dimension_id"], $stockitem["dimension2_id"]);
+ add_wo_costs_journal($woid, $costs, WO_OVERHEAD, $cr_acc, $date_, $stockitem["dimension_id"], $stockitem["dimension2_id"]);
+
if ($labour != 0)
- add_wo_costs_journal($woid, $labour, WO_LABOUR, $cr_lab_acc, $stockitem["assembly_account"],
- $date_, $stockitem["dimension_id"], $stockitem["dimension2_id"]);
+ add_wo_costs_journal($woid, $labour, WO_LABOUR, $cr_lab_acc, $date_, $stockitem["dimension_id"], $stockitem["dimension2_id"]);
if ($type == WO_UNASSEMBLY)
$units_reqd = -$units_reqd;
$item = get_item($item_check);
if ($item['labour_cost'] != 0)
{
+ $total_cost += $item['labour_cost'];
alt_table_row_color($k);
label_cells(_("Standard Labour Cost"), number_format2($item['labour_cost'],user_price_dec()),
"colspan=6 align=left", "class=odd_row nowrap align=right");
}
if ($item['overhead_cost'] != 0)
{
+ $total_cost += $item['overhead_cost'];
alt_table_row_color($k);
label_cells(_("Standard Overhead Cost"), number_format2($item['overhead_cost'],user_price_dec()),
"colspan=6 align=left", "nowrap align=right");
label_cell($wo_cost_types[$myrow['cost_type']]);
$date = sql2date($myrow["tran_date"]);
label_cell($date);
- amount_cell(-($myrow['amount']));
+ amount_cell($myrow['amount']);
end_row();
}
$ref = $_POST['ref'];
add_wo_costs_journal($_POST['selected_id'], input_num('costs'), $_POST['PaymentType'],
- $_POST['cr_acc'], $_POST['db_acc'], $date, $_POST['dim1'], $_POST['dim2'], $memo, $ref);
+ $_POST['cr_acc'], $date, $_POST['dim1'], $_POST['dim2'], $memo, $ref);
meta_forward($_SERVER['PHP_SELF'], "AddedID=".$_POST['selected_id']);
}
$Ajax->activate('costs');
$item = get_item($wo_details['stock_id']);
-$_POST['db_acc'] = $item['assembly_account'];
$r = get_default_bank_account(get_company_pref('curr_default'));
$_POST['cr_acc'] = $r[0];
$_POST['costs'] = price_format(get_post('PaymentType')==WO_OVERHEAD ? $item['overhead_cost'] : $item['labour_cost']);
amount_row(_("Additional Costs:"), 'costs');
-gl_all_accounts_list_row(_("Debit Account"), 'db_acc', null);
gl_all_accounts_list_row(_("Credit Account"), 'cr_acc', null);
textarea_row(_("Memo:"), 'memo', null, 40, 5);
end_table(1);