diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index 5f1fb1616..93c5af532 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -32462,6 +32462,27 @@ + + total_sales_tax + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + totals false diff --git a/client/src/components/bill-form/bill-form.lines.component.jsx b/client/src/components/bill-form/bill-form.lines.component.jsx index 17a69ffad..8dccbb738 100644 --- a/client/src/components/bill-form/bill-form.lines.component.jsx +++ b/client/src/components/bill-form/bill-form.lines.component.jsx @@ -40,7 +40,7 @@ export function BillEnterModalLinesComponent({ billid, }) { const { t } = useTranslation(); - const { setFieldsValue, getFieldsValue, getFieldValue, setFieldValue } = form; + const { setFieldsValue, getFieldsValue, getFieldValue } = form; const { Simple_Inventory } = useTreatments( ["Simple_Inventory"], {}, diff --git a/client/src/components/job-totals-table/job-totals.table.totals.component.jsx b/client/src/components/job-totals-table/job-totals.table.totals.component.jsx index 8b0106c7a..ee9645bc5 100644 --- a/client/src/components/job-totals-table/job-totals.table.totals.component.jsx +++ b/client/src/components/job-totals-table/job-totals.table.totals.component.jsx @@ -32,42 +32,105 @@ export function JobTotalsTableTotals({ bodyshop, job }) { ...(job.job_totals.totals.us_sales_tax_breakdown ? [ { - key: + key: `${ bodyshop.md_responsibility_centers.taxes.tax_ty1?.tax_type1 || - "T1", + "T1" + } - ${[ + job.cieca_pft.ty1_rate1, + job.cieca_pft.ty1_rate2, + job.cieca_pft.ty1_rate3, + job.cieca_pft.ty1_rate4, + job.cieca_pft.ty1_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, total: job.job_totals.totals.us_sales_tax_breakdown.ty1Tax, }, { - key: + key: `${ bodyshop.md_responsibility_centers.taxes.tax_ty2?.tax_type2 || - "T2", + "T2" + } - ${[ + job.cieca_pft.ty2_rate1, + job.cieca_pft.ty2_rate2, + job.cieca_pft.ty2_rate3, + job.cieca_pft.ty2_rate4, + job.cieca_pft.ty2_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, total: job.job_totals.totals.us_sales_tax_breakdown.ty2Tax, }, { - key: + key: `${ bodyshop.md_responsibility_centers.taxes.tax_ty3?.tax_type3 || - "T3", + "T3" + } - ${[ + job.cieca_pft.ty3_rate1, + job.cieca_pft.ty3_rate2, + job.cieca_pft.ty3_rate3, + job.cieca_pft.ty3_rate4, + job.cieca_pft.ty3_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, total: job.job_totals.totals.us_sales_tax_breakdown.ty3Tax, }, { - key: + key: `${ bodyshop.md_responsibility_centers.taxes.tax_ty4?.tax_type4 || - "T4", + "T4" + } - ${[ + job.cieca_pft.ty4_rate1, + job.cieca_pft.ty4_rate2, + job.cieca_pft.ty4_rate3, + job.cieca_pft.ty4_rate4, + job.cieca_pft.ty4_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, total: job.job_totals.totals.us_sales_tax_breakdown.ty4Tax, }, { - key: + key: `${ bodyshop.md_responsibility_centers.taxes.tax_ty5?.tax_type5 || - "T5", + "TT" + } - ${[ + job.cieca_pft.ty5_rate1, + job.cieca_pft.ty5_rate2, + job.cieca_pft.ty5_rate3, + job.cieca_pft.ty5_rate4, + job.cieca_pft.ty5_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, total: job.job_totals.totals.us_sales_tax_breakdown.ty5Tax, }, - ] + { + key: t("jobs.labels.total_sales_tax"), + bold: true, + total: Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty1Tax) + .add( + Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty2Tax) + ) + .add( + Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty3Tax) + ) + .add( + Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty4Tax) + ) + .add( + Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty5Tax) + ).toJSON(), + }, + ].filter((item) => item.total.amount !== 0) : [ { key: t("jobs.labels.state_tax_amt"), total: job.job_totals.totals.state_tax, }, ]), + { key: t("jobs.labels.total_repairs"), total: job.job_totals.totals.total_repairs, @@ -101,7 +164,7 @@ export function JobTotalsTableTotals({ bodyshop, job }) { bold: true, }, ]; - }, [job.job_totals, t, bodyshop.md_responsibility_centers]); + }, [job.job_totals, job.cieca_pft, t, bodyshop.md_responsibility_centers]); const columns = [ { diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 612a81bb6..df19c73d3 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -1892,6 +1892,7 @@ "total_cust_payable": "Total Customer Amount Payable", "total_repairs": "Total Repairs", "total_sales": "Total Sales", + "total_sales_tax": "Total Sales Tax", "totals": "Totals", "unvoidnote": "This job was unvoided.", "vehicle_info": "Vehicle", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index d80a7d141..cdc049ce3 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -1892,6 +1892,7 @@ "total_cust_payable": "", "total_repairs": "", "total_sales": "", + "total_sales_tax": "", "totals": "", "unvoidnote": "", "vehicle_info": "Vehículo", diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index 4eaf2cb8b..26d8ef275 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -1892,6 +1892,7 @@ "total_cust_payable": "", "total_repairs": "", "total_sales": "", + "total_sales_tax": "", "totals": "", "unvoidnote": "", "vehicle_info": "Véhicule",