diff --git a/server/accounting/qbxml/qbxml-receivables.js b/server/accounting/qbxml/qbxml-receivables.js index 831f4f221..ff3c98e4a 100644 --- a/server/accounting/qbxml/qbxml-receivables.js +++ b/server/accounting/qbxml/qbxml-receivables.js @@ -389,6 +389,63 @@ const generateInvoiceQbxml = ( }); }); + //Add Towing, storage and adjustment lines. + + if (jobs_by_pk.towing_payable && jobs_by_pk.towing_payable !== 0) { + InvoiceLineAdd.push({ + ItemRef: { + FullName: responsibilityCenters.profits.find( + (c) => c.name === responsibilityCenters.defaults.profits["TOW"] + ).accountitem, + }, + Desc: "Towing", + Quantity: 1, + Amount: Dinero({ + amount: Math.round((jobs_by_pk.towing_payable || 0) * 100), + }).toFormat(DineroQbFormat), + SalesTaxCodeRef: { + FullName: "E", + }, + }); + } + if (jobs_by_pk.storage_payable && jobs_by_pk.storage_payable !== 0) { + InvoiceLineAdd.push({ + ItemRef: { + FullName: responsibilityCenters.profits.find( + (c) => c.name === responsibilityCenters.defaults.profits["TOW"] + ).accountitem, + }, + Desc: "Storage", + Quantity: 1, + Amount: Dinero({ + amount: Math.round((jobs_by_pk.storage_payable || 0) * 100), + }).toFormat(DineroQbFormat), + SalesTaxCodeRef: { + FullName: "E", + }, + }); + } + if ( + jobs_by_pk.adjustment_bottom_line && + jobs_by_pk.adjustment_bottom_line !== 0 + ) { + InvoiceLineAdd.push({ + ItemRef: { + FullName: responsibilityCenters.profits.find( + (c) => c.name === responsibilityCenters.defaults.profits["PAO"] + ).accountitem, + }, + Desc: "Adjustment", + Quantity: 1, + Amount: Dinero({ + amount: Math.round((jobs_by_pk.adjustment_bottom_line || 0) * 100), + }).toFormat(DineroQbFormat), + SalesTaxCodeRef: { + FullName: "E", + }, + }); + } + //Add tax lines const job_totals = jobs_by_pk.job_totals; diff --git a/server/graphql-client/queries.js b/server/graphql-client/queries.js index 60439ce06..4796bc6f6 100644 --- a/server/graphql-client/queries.js +++ b/server/graphql-client/queries.js @@ -53,7 +53,6 @@ query QUERY_JOBS_FOR_RECEIVABLES_EXPORT($ids: [uuid!]!) { ro_number clm_total clm_no - invoice_allocation ownerid ownr_ln ownr_fn @@ -92,6 +91,9 @@ query QUERY_JOBS_FOR_RECEIVABLES_EXPORT($ids: [uuid!]!) { class ca_bc_pvrt ca_customer_gst + towing_payable + storage_payable + adjustment_bottom_line owner { accountingid }