diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index 9d1dbea66..3002e8d7f 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -1485,6 +1485,7 @@ export const QUERY_JOB_CLOSE_DETAILS = gql` op_code_desc profitcenter_labor profitcenter_part + prt_dsmk_p } } } diff --git a/server/accounting/qbxml/qbxml-receivables.js b/server/accounting/qbxml/qbxml-receivables.js index 49f67f397..2138c5b50 100644 --- a/server/accounting/qbxml/qbxml-receivables.js +++ b/server/accounting/qbxml/qbxml-receivables.js @@ -212,17 +212,16 @@ const generateInvoiceQbxml = ( } if (jobline.profitcenter_part && jobline.act_price) { - const DineroAmount = Dinero({ + let DineroAmount = Dinero({ amount: Math.round(jobline.act_price * 100), - }) - .multiply(jobline.part_qty || 1) - .add( - Dinero({ - amount: Math.round((jobline.act_price || 0) * 100), - }) - .multiply(jobline.part_qty || 0) - .percentage(jobline.prt_dsmk_p) + }).multiply(jobline.part_qty || 1); + + if (jobline.prt_dsmk_p && jobline.prt_dsmk_p !== 0) { + console.log("Have a part discount", jobline); + DineroAmount = DineroAmount.add( + DineroAmount.percentage(jobline.prt_dsmk_p || 0) ); + } const account = responsibilityCenters.profits.find( (i) => jobline.profitcenter_part.toLowerCase() === i.name.toLowerCase() ); diff --git a/server/graphql-client/queries.js b/server/graphql-client/queries.js index 9b7b3677c..ee3de5cf9 100644 --- a/server/graphql-client/queries.js +++ b/server/graphql-client/queries.js @@ -101,6 +101,7 @@ query QUERY_JOBS_FOR_RECEIVABLES_EXPORT($ids: [uuid!]!) { profitcenter_labor profitcenter_part db_ref + prt_dsmk_p } } bodyshops(where: {associations: {active: {_eq: true}}}) {