diff --git a/client/src/components/job-totals-table/job-totals-table.component.jsx b/client/src/components/job-totals-table/job-totals-table.component.jsx
index 5a5b3c65f..da092fc06 100644
--- a/client/src/components/job-totals-table/job-totals-table.component.jsx
+++ b/client/src/components/job-totals-table/job-totals-table.component.jsx
@@ -215,6 +215,13 @@ export function JobsTotalsTableComponent({ bodyshop, job }) {
job.job_totals.parts.sublets.adjustments
).toFormat()})`}
+
+ | {t("jobs.labels.additionaltotal")} |
+
+ {Dinero(job.job_totals.parts.additional).toFormat()}
+ |
+ |
+
| {t("jobs.labels.mapa")} |
diff --git a/server/job/job-totals.js b/server/job/job-totals.js
index 7800b7172..e8d790f2a 100644
--- a/server/job/job-totals.js
+++ b/server/job/job-totals.js
@@ -63,13 +63,15 @@ function CalculateTaxesTotals(job, otherTotals) {
if (!!!val.tax_part) return acc;
// if (!!job.parts_tax_rates[val.part_type]) {
// console.log("val.line_desc", val.line_desc);
+
return acc.add(
Dinero({ amount: Math.round(val.act_price * 100) })
.multiply(val.part_qty)
.percentage(
- ((job.parts_tax_rates[val.part_type] &&
- job.parts_tax_rates[val.part_type].prt_tax_rt) ||
- 0.07) * 100
+ (!val.part_type && val.lbr_op === "OP13"
+ ? job.parts_tax_rates["PAN"].prt_tax_rt
+ : job.parts_tax_rates[val.part_type] &&
+ job.parts_tax_rates[val.part_type].prt_tax_rt) * 100
)
);
// } else {
@@ -94,22 +96,18 @@ function CalculateTaxesTotals(job, otherTotals) {
Dinero({
amount: Math.round((job.storage_payable || 0) * 100),
}).percentage((job.tax_str_rt || 0) * 100)
- )
- // .add(
- // otherTotals.rates.mapa.total.percentage(
- // (job.tax_paint_mat_rt || 0) * 100
- // )
- // )
- // .add(
- // otherTotals.rates.mapa.total.percentage(
- // (job.tax_paint_mat_rt || 0) * 100
- // )
- // )
- .add(
- otherTotals.rates.mash.total.percentage(
- (job.tax_shop_mat_rt || 0) * 100
- )
),
+ //Currently commented out for mitchell as these come over as line items usually instead.
+ // .add(
+ // otherTotals.rates.mapa.total.percentage(
+ // (job.tax_paint_mat_rt || 0) * 100
+ // )
+ // )
+ // .add(
+ // otherTotals.rates.mash.total.percentage(
+ // (job.tax_shop_mat_rt || 0) * 100
+ // )
+ // )
local_tax: subtotal.percentage((job.local_tax_rate || 0) * 100),
};
ret.total_repairs = ret.subtotal
@@ -262,7 +260,7 @@ function CalculatePartsTotals(jobLines) {
};
default:
- if (value.part_type === null) return acc;
+ if (!value.part_type) return acc;
return {
...acc,
parts: {
|