Final adjustments to job totals calculation for 99% accuracy.

This commit is contained in:
Patrick Fic
2023-09-27 15:16:01 -07:00
parent b2529207e1
commit 805149daea
5 changed files with 190 additions and 134 deletions

View File

@@ -34,15 +34,10 @@ exports.default = function ({
}
//Parts Lines Mappings.
if (jobline.profitcenter_part) {
let DineroAmount = Dinero({
amount: Math.round((jobline.act_price || 0) * 100),
}).multiply(jobline.part_qty || 1);
// console.log("Have a part discount", jobline);
DineroAmount = DineroAmount.add(
const discountAmount =
((jobline.prt_dsmk_m && jobline.prt_dsmk_m !== 0) ||
(jobline.prt_dsmk_p && jobline.prt_dsmk_p !== 0)) &&
DiscountNotAlreadyCounted(jobline, jobs_by_pk.joblines)
DiscountNotAlreadyCounted(jobline, jobs_by_pk.joblines)
? jobline.prt_dsmk_m
? Dinero({ amount: Math.round(jobline.prt_dsmk_m * 100) })
: Dinero({
@@ -51,8 +46,13 @@ exports.default = function ({
.multiply(jobline.part_qty || 0)
.percentage(Math.abs(jobline.prt_dsmk_p || 0))
.multiply(jobline.prt_dsmk_p > 0 ? 1 : -1)
: Dinero()
);
: Dinero();
let DineroAmount = Dinero({
amount: Math.round((jobline.act_price || 0) * 100),
})
.multiply(jobline.part_qty || 0)
.add(discountAmount);
const account = responsibilityCenters.profits.find(
(i) => jobline.profitcenter_part.toLowerCase() === i.name.toLowerCase()
@@ -575,13 +575,13 @@ exports.default = function ({
const federal_tax = Dinero(job_totals.totals.federal_tax);
const QboTaxId =
process.env.COUNTRY === "USA"
? CheckQBOUSATaxID({
// jobline: jobline,
type: "adjustment",
job: jobs_by_pk,
})
: taxCodes[taxAccountCode];
process.env.COUNTRY === "USA"
? CheckQBOUSATaxID({
// jobline: jobline,
type: "adjustment",
job: jobs_by_pk,
})
: taxCodes[taxAccountCode];
for (let tyCounter = 1; tyCounter <= 5; tyCounter++) {
const taxAmount = Dinero(
job_totals.totals.us_sales_tax_breakdown[`ty${tyCounter}Tax`]