WIP Financial

This commit is contained in:
Patrick Fic
2020-04-09 09:13:19 -07:00
parent 26abbdcc62
commit ad5d371547
4 changed files with 75 additions and 38 deletions

View File

@@ -18,31 +18,47 @@ function CalculateTaxesTotals(job, otherTotals) {
job.towing_payable +
job.storage_payable; //Levies should be included??
console.log("job.parts_tax_rates", job.parts_tax_rates);
const statePartsTax = job.joblines.reduce((acc, val) => {
if (!!!val.part_type) return acc;
console.log("val", val);
if (!!!val.tax_part) return acc;
if (!!job.parts_tax_rates[val.part_type]) {
return (
acc +
(val.act_price * job.parts_tax_rates[val.part_type].prt_tax_rt || 0)
val.act_price *
val.part_qty *
(job.parts_tax_rates[val.part_type].prt_tax_rt || 0)
);
} else {
return acc;
}
}, 0);
console.log("otherTotals", otherTotals);
console.log("job", job);
console.log("parts pst", statePartsTax);
console.log(
"pst on labor",
otherTotals.rates.rates_subtotal * (job.tax_lbr_rt || 0)
);
console.log(
"pst on mat",
(otherTotals.rates.paint_mat.total + otherTotals.rates.shop_mat.total) *
(job.tax_paint_mat_rt || 0)
);
let ret = {
subtotal: subtotal,
federal_tax: subtotal * job.federal_tax_rate || 0,
federal_tax: subtotal * (job.federal_tax_rate || 0),
statePartsTax,
state_tax:
statePartsTax +
(otherTotals.rates.rates_subtotal * job.tax_lbr_rate || 0) +
(job.towing_payable || 0 * job.tax_tow_rt || 0) +
(job.storage_payable || 0 * job.tax_str_rt || 0) +
(otherTotals.rates.paint_mat.subtotal * job.tax_paint_mat_rt || 0),
local_tax: subtotal * job.local_tax_rate || 0,
otherTotals.rates.rates_subtotal * (job.tax_lbr_rt || 0) +
((job.towing_payable || 0) * job.tax_tow_rt || 0) +
((job.storage_payable || 0) * job.tax_str_rt || 0) +
(otherTotals.rates.paint_mat.total + otherTotals.rates.shop_mat.total) *
(job.tax_paint_mat_rt || 0),
local_tax: subtotal * (job.local_tax_rate || 0),
};
ret.total_repairs =
@@ -175,7 +191,11 @@ function CalculateRatesTotals(ratesList, shoprates) {
for (const property in ret) {
ret[property].total = ret[property].hours * ret[property].rate;
subtotal = subtotal + ret[property].hours * ret[property].rate;
if (property !== "paint_mat" && property !== "shop_mat")
if (
property !== "paint_mat" &&
property !== "shop_mat" &&
property !== "rate_atp"
)
rates_subtotal =
rates_subtotal + ret[property].hours * ret[property].rate;
}
@@ -201,7 +221,7 @@ function CalculatePartsTotals(jobLines) {
...acc,
parts: {
...acc.parts,
subtotal: acc.parts.subtotal + value.act_price,
subtotal: acc.parts.subtotal + value.act_price * value.part_qty,
//TODO Add Adjustments in
},
};
@@ -237,7 +257,7 @@ function CalculatePartsTotals(jobLines) {
function CalculateCustPayable(job) {
return {
deductible: job.ded_amt || 0,
federal_tax: job.federal_tax_payable || 0,
federal_tax: job.federal_tax_payable || 0, //TODO Should this be renamed to make it more clear this is customer GST?
other_customer_amount: job.other_amount_payable || 0,
dep_taxes: job.depreciation_taxes || 0,
total: