Compare commits

...

12 Commits

Author SHA1 Message Date
Allan Carr
f4bcad1b06 IO-2425 US Reconcilliation for Non-Parts that have Misc amt
Non-part lines that had a Misc_amt where missing from reconciliation also remove any part that didn't have a act_price > 0 and a qty > 0
2023-10-26 16:11:47 -07:00
Patrick Fic
6656708c8e Merged in feature/america (pull request #1031)
Add Rome Support Chat Widget
2023-10-24 17:56:59 +00:00
Patrick Fic
ec21521281 Add Rome Support Chat Widget 2023-10-23 15:22:33 -07:00
Patrick Fic
df6b0fae21 Merged in rome/test (pull request #1023)
Improve tax display on totals page.
2023-10-19 15:59:46 +00:00
Patrick Fic
69723a8bf4 Merge branch 'feature/payroll' into rome/test 2023-10-19 08:53:22 -07:00
Patrick Fic
241caa6132 Merge branch 'feature/ems-tax-calculation' into rome/test 2023-10-19 08:50:56 -07:00
Patrick Fic
13b93f6d9d Improve tax display on totals page. 2023-10-19 08:49:05 -07:00
Patrick Fic
77555366f4 Merged in feature/payroll (pull request #1020)
Feature/payroll
2023-10-19 00:29:56 +00:00
Patrick Fic
f3e8132bfc Merged in feature/payroll (pull request #1019)
Improve labor deduction for enhanced payroll.
2023-10-19 00:29:34 +00:00
Patrick Fic
7510385cf4 Merged in feature/payroll (pull request #1018)
Improve labor deduction for enhanced payroll.
2023-10-19 00:29:15 +00:00
Patrick Fic
b3f69d4088 Merged in feature/payroll (pull request #1015)
Feature/payroll
2023-10-18 16:52:44 +00:00
Patrick Fic
8796c8fe06 Merged in feature/payroll (pull request #1014)
Feature/payroll
2023-10-18 16:51:50 +00:00
9 changed files with 173 additions and 14 deletions

View File

@@ -32462,6 +32462,27 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>total_sales_tax</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>totals</name>
<definition_loaded>false</definition_loaded>

View File

@@ -7,6 +7,75 @@
<meta name="theme-color" content="#002366" />
<meta name="description" content="Rome Online" />
<!-- <link rel="apple-touch-icon" href="logo192.png" /> -->
<!--Use the below code snippet to provide real time updates to the live chat plugin without the need of copying and paste each time to your website when changes are made via PBX-->
<call-us-selector phonesystem-url=https://rometech.east.3cx.us:5001 party="LiveChat528346"></call-us-selector>
<!--Incase you don't want real time updates to the live chat plugin when options are changed, use the below code snippet. Please note that each time you change the settings you will need to copy and paste the snippet code to your website-->
<!--<call-us
phonesystem-url=https://rometech.east.3cx.us:5001
style="position:fixed;font-size:16px;line-height:17px;z-index: 99999;right: 20px; bottom: 20px;"
id="wp-live-chat-by-3CX"
minimized="true"
animation-style="noanimation"
party="LiveChat528346"
minimized-style="bubbleright"
allow-call="true"
allow-video="false"
allow-soundnotifications="true"
enable-mute="true"
enable-onmobile="true"
offline-enabled="true"
enable="true"
ignore-queueownership="false"
authentication="both"
show-operator-actual-name="true"
aknowledge-received="true"
gdpr-enabled="false"
message-userinfo-format="name"
message-dateformat="both"
lang="browser"
button-icon-type="default"
greeting-visibility="none"
greeting-offline-visibility="none"
chat-delay="2000"
enable-direct-call="true"
enable-ga="false"
></call-us>-->
<script defer src=https://downloads-global.3cx.com/downloads/livechatandtalk/v1/callus.js id="tcx-callus-js" charset="utf-8"></script>
<link rel="apple-touch-icon" href="logo192.png" />
<script>
!(function () {

View File

@@ -87,7 +87,8 @@ export default function JobBillsTotalComponent({
const totalPartsSublet = Dinero(totals.parts.parts.total)
.add(Dinero(totals.parts.sublets.total))
.add(Dinero(totals.additional.shipping))
.add(Dinero(totals.additional.towing));
.add(Dinero(totals.additional.towing))
.add(Dinero(totals.additional.additionalCosts));
const discrepancy = totalPartsSublet.subtract(billTotals);

View File

@@ -19,7 +19,8 @@ export default function JobReconciliationModalComponent({ job, bills }) {
const jobLineData = job.joblines.filter(
(j) =>
(j.part_type !== null && j.part_type !== "PAE") ||
(j.part_type !== "PAE" && j.act_price !== 0 && j.part_qty !== 0) ||
j.misc_amt !== 0 ||
(j.line_desc &&
j.line_desc.toLowerCase().includes("towing") &&
j.lbr_op === "OP13") ||

View File

@@ -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 = [
{

View File

@@ -850,6 +850,7 @@ export const GET_JOB_RECONCILIATION_BY_PK = gql`
tax_part
db_ref
manual_line
misc_amt
}
}
}

View File

@@ -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",

View File

@@ -1892,6 +1892,7 @@
"total_cust_payable": "",
"total_repairs": "",
"total_sales": "",
"total_sales_tax": "",
"totals": "",
"unvoidnote": "",
"vehicle_info": "Vehículo",

View File

@@ -1892,6 +1892,7 @@
"total_cust_payable": "",
"total_repairs": "",
"total_sales": "",
"total_sales_tax": "",
"totals": "",
"unvoidnote": "",
"vehicle_info": "Véhicule",