QBO Resolve classes issues.
This commit is contained in:
@@ -9,6 +9,7 @@ exports.default = function ({
|
|||||||
qbo = false,
|
qbo = false,
|
||||||
items,
|
items,
|
||||||
taxCodes,
|
taxCodes,
|
||||||
|
classes,
|
||||||
}) {
|
}) {
|
||||||
const InvoiceLineAdd = [];
|
const InvoiceLineAdd = [];
|
||||||
const responsibilityCenters = bodyshop.md_responsibility_centers;
|
const responsibilityCenters = bodyshop.md_responsibility_centers;
|
||||||
@@ -95,6 +96,9 @@ exports.default = function ({
|
|||||||
DetailType: "SalesItemLineDetail",
|
DetailType: "SalesItemLineDetail",
|
||||||
Amount: DineroAmount,
|
Amount: DineroAmount,
|
||||||
SalesItemLineDetail: {
|
SalesItemLineDetail: {
|
||||||
|
...(jobs_by_pk.class
|
||||||
|
? { ClassRef: { value: classes[jobs_by_pk.class] } }
|
||||||
|
: {}),
|
||||||
ItemRef: {
|
ItemRef: {
|
||||||
value: items[account.accountitem],
|
value: items[account.accountitem],
|
||||||
},
|
},
|
||||||
@@ -161,6 +165,9 @@ exports.default = function ({
|
|||||||
DetailType: "SalesItemLineDetail",
|
DetailType: "SalesItemLineDetail",
|
||||||
Amount: DineroAmount,
|
Amount: DineroAmount,
|
||||||
SalesItemLineDetail: {
|
SalesItemLineDetail: {
|
||||||
|
...(jobs_by_pk.class
|
||||||
|
? { ClassRef: { value: classes[jobs_by_pk.class] } }
|
||||||
|
: {}),
|
||||||
ItemRef: {
|
ItemRef: {
|
||||||
value: items[account.accountitem],
|
value: items[account.accountitem],
|
||||||
},
|
},
|
||||||
@@ -227,6 +234,9 @@ exports.default = function ({
|
|||||||
ItemRef: {
|
ItemRef: {
|
||||||
value: items[mapaAccount.accountitem],
|
value: items[mapaAccount.accountitem],
|
||||||
},
|
},
|
||||||
|
...(jobs_by_pk.class
|
||||||
|
? { ClassRef: { value: classes[jobs_by_pk.class] } }
|
||||||
|
: {}),
|
||||||
TaxCodeRef: {
|
TaxCodeRef: {
|
||||||
value: QboTaxId,
|
value: QboTaxId,
|
||||||
},
|
},
|
||||||
@@ -290,6 +300,9 @@ exports.default = function ({
|
|||||||
ItemRef: {
|
ItemRef: {
|
||||||
value: items[mashAccount.accountitem],
|
value: items[mashAccount.accountitem],
|
||||||
},
|
},
|
||||||
|
...(jobs_by_pk.class
|
||||||
|
? { ClassRef: { value: classes[jobs_by_pk.class] } }
|
||||||
|
: {}),
|
||||||
TaxCodeRef: {
|
TaxCodeRef: {
|
||||||
value: QboTaxId,
|
value: QboTaxId,
|
||||||
},
|
},
|
||||||
@@ -367,6 +380,9 @@ exports.default = function ({
|
|||||||
amount: Math.round((jobs_by_pk.towing_payable || 0) * 100),
|
amount: Math.round((jobs_by_pk.towing_payable || 0) * 100),
|
||||||
}).toFormat(DineroQbFormat),
|
}).toFormat(DineroQbFormat),
|
||||||
SalesItemLineDetail: {
|
SalesItemLineDetail: {
|
||||||
|
...(jobs_by_pk.class
|
||||||
|
? { ClassRef: { value: classes[jobs_by_pk.class] } }
|
||||||
|
: {}),
|
||||||
ItemRef: {
|
ItemRef: {
|
||||||
value: items[account.accountitem],
|
value: items[account.accountitem],
|
||||||
},
|
},
|
||||||
@@ -415,6 +431,9 @@ exports.default = function ({
|
|||||||
amount: Math.round((jobs_by_pk.storage_payable || 0) * 100),
|
amount: Math.round((jobs_by_pk.storage_payable || 0) * 100),
|
||||||
}).toFormat(DineroQbFormat),
|
}).toFormat(DineroQbFormat),
|
||||||
SalesItemLineDetail: {
|
SalesItemLineDetail: {
|
||||||
|
...(jobs_by_pk.class
|
||||||
|
? { ClassRef: { value: classes[jobs_by_pk.class] } }
|
||||||
|
: {}),
|
||||||
ItemRef: {
|
ItemRef: {
|
||||||
value: items[account.accountitem],
|
value: items[account.accountitem],
|
||||||
},
|
},
|
||||||
@@ -466,6 +485,9 @@ exports.default = function ({
|
|||||||
amount: Math.round((jobs_by_pk.adjustment_bottom_line || 0) * 100),
|
amount: Math.round((jobs_by_pk.adjustment_bottom_line || 0) * 100),
|
||||||
}).toFormat(DineroQbFormat),
|
}).toFormat(DineroQbFormat),
|
||||||
SalesItemLineDetail: {
|
SalesItemLineDetail: {
|
||||||
|
...(jobs_by_pk.class
|
||||||
|
? { ClassRef: { value: classes[jobs_by_pk.class] } }
|
||||||
|
: {}),
|
||||||
ItemRef: {
|
ItemRef: {
|
||||||
value: items[account.accountitem],
|
value: items[account.accountitem],
|
||||||
},
|
},
|
||||||
@@ -554,6 +576,9 @@ exports.default = function ({
|
|||||||
DineroQbFormat
|
DineroQbFormat
|
||||||
),
|
),
|
||||||
SalesItemLineDetail: {
|
SalesItemLineDetail: {
|
||||||
|
...(jobs_by_pk.class
|
||||||
|
? { ClassRef: { value: classes[jobs_by_pk.class] } }
|
||||||
|
: {}),
|
||||||
ItemRef: {
|
ItemRef: {
|
||||||
value: items["PVRT"],
|
value: items["PVRT"],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ const generateBillLine = (
|
|||||||
DetailType: "AccountBasedExpenseLineDetail",
|
DetailType: "AccountBasedExpenseLineDetail",
|
||||||
|
|
||||||
AccountBasedExpenseLineDetail: {
|
AccountBasedExpenseLineDetail: {
|
||||||
...(jobClass ? { ClassRef: { Id: classes[jobClass] } } : {}),
|
...(jobClass ? { ClassRef: { value: classes[jobClass] } } : {}),
|
||||||
TaxCodeRef: {
|
TaxCodeRef: {
|
||||||
value:
|
value:
|
||||||
taxCodes[findTaxCode(billLine.applicable_taxes, ioSalesTaxCodes)],
|
taxCodes[findTaxCode(billLine.applicable_taxes, ioSalesTaxCodes)],
|
||||||
@@ -323,7 +323,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req) {
|
|||||||
classes.json.QueryResponse &&
|
classes.json.QueryResponse &&
|
||||||
classes.json.QueryResponse.Class &&
|
classes.json.QueryResponse.Class &&
|
||||||
classes.json.QueryResponse.Class.forEach((t) => {
|
classes.json.QueryResponse.Class.forEach((t) => {
|
||||||
accountMapping[t.Name] = t.Id;
|
classMapping[t.Name] = t.Id;
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -402,7 +402,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req) {
|
|||||||
classes.json.QueryResponse &&
|
classes.json.QueryResponse &&
|
||||||
classes.json.QueryResponse.Class &&
|
classes.json.QueryResponse.Class &&
|
||||||
classes.json.QueryResponse.Class.forEach((t) => {
|
classes.json.QueryResponse.Class.forEach((t) => {
|
||||||
itemMapping[t.Name] = t.Id;
|
classMapping[t.Name] = t.Id;
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -431,13 +431,14 @@ async function InsertInvoice(
|
|||||||
qbo: true,
|
qbo: true,
|
||||||
items,
|
items,
|
||||||
taxCodes,
|
taxCodes,
|
||||||
|
classes
|
||||||
});
|
});
|
||||||
|
|
||||||
const invoiceObj = {
|
const invoiceObj = {
|
||||||
Line: InvoiceLineAdd,
|
Line: InvoiceLineAdd,
|
||||||
TxnDate: moment(job.date_invoiced).format("YYYY-MM-DD"),
|
TxnDate: moment(job.date_invoiced).format("YYYY-MM-DD"),
|
||||||
DocNumber: job.ro_number,
|
DocNumber: job.ro_number,
|
||||||
...(job.class ? { ClassRef: { Id: classes[job.class] } } : {}),
|
...(job.class ? { ClassRef: { value: classes[job.class] } } : {}),
|
||||||
CustomerMemo: {
|
CustomerMemo: {
|
||||||
value: `${job.clm_no ? `Claim No: ${job.clm_no}` : ``}${
|
value: `${job.clm_no ? `Claim No: ${job.clm_no}` : ``}${
|
||||||
job.po_number ? `PO No: ${job.po_number}` : ``
|
job.po_number ? `PO No: ${job.po_number}` : ``
|
||||||
|
|||||||
Reference in New Issue
Block a user