QBO Resolve classes issues.

This commit is contained in:
Patrick Fic
2022-02-03 12:07:20 -08:00
parent 173e9a278c
commit cf4f6f6e55
3 changed files with 30 additions and 4 deletions

View File

@@ -9,6 +9,7 @@ exports.default = function ({
qbo = false,
items,
taxCodes,
classes,
}) {
const InvoiceLineAdd = [];
const responsibilityCenters = bodyshop.md_responsibility_centers;
@@ -95,6 +96,9 @@ exports.default = function ({
DetailType: "SalesItemLineDetail",
Amount: DineroAmount,
SalesItemLineDetail: {
...(jobs_by_pk.class
? { ClassRef: { value: classes[jobs_by_pk.class] } }
: {}),
ItemRef: {
value: items[account.accountitem],
},
@@ -161,6 +165,9 @@ exports.default = function ({
DetailType: "SalesItemLineDetail",
Amount: DineroAmount,
SalesItemLineDetail: {
...(jobs_by_pk.class
? { ClassRef: { value: classes[jobs_by_pk.class] } }
: {}),
ItemRef: {
value: items[account.accountitem],
},
@@ -227,6 +234,9 @@ exports.default = function ({
ItemRef: {
value: items[mapaAccount.accountitem],
},
...(jobs_by_pk.class
? { ClassRef: { value: classes[jobs_by_pk.class] } }
: {}),
TaxCodeRef: {
value: QboTaxId,
},
@@ -290,6 +300,9 @@ exports.default = function ({
ItemRef: {
value: items[mashAccount.accountitem],
},
...(jobs_by_pk.class
? { ClassRef: { value: classes[jobs_by_pk.class] } }
: {}),
TaxCodeRef: {
value: QboTaxId,
},
@@ -367,6 +380,9 @@ exports.default = function ({
amount: Math.round((jobs_by_pk.towing_payable || 0) * 100),
}).toFormat(DineroQbFormat),
SalesItemLineDetail: {
...(jobs_by_pk.class
? { ClassRef: { value: classes[jobs_by_pk.class] } }
: {}),
ItemRef: {
value: items[account.accountitem],
},
@@ -415,6 +431,9 @@ exports.default = function ({
amount: Math.round((jobs_by_pk.storage_payable || 0) * 100),
}).toFormat(DineroQbFormat),
SalesItemLineDetail: {
...(jobs_by_pk.class
? { ClassRef: { value: classes[jobs_by_pk.class] } }
: {}),
ItemRef: {
value: items[account.accountitem],
},
@@ -466,6 +485,9 @@ exports.default = function ({
amount: Math.round((jobs_by_pk.adjustment_bottom_line || 0) * 100),
}).toFormat(DineroQbFormat),
SalesItemLineDetail: {
...(jobs_by_pk.class
? { ClassRef: { value: classes[jobs_by_pk.class] } }
: {}),
ItemRef: {
value: items[account.accountitem],
},
@@ -554,6 +576,9 @@ exports.default = function ({
DineroQbFormat
),
SalesItemLineDetail: {
...(jobs_by_pk.class
? { ClassRef: { value: classes[jobs_by_pk.class] } }
: {}),
ItemRef: {
value: items["PVRT"],
},

View File

@@ -253,7 +253,7 @@ const generateBillLine = (
DetailType: "AccountBasedExpenseLineDetail",
AccountBasedExpenseLineDetail: {
...(jobClass ? { ClassRef: { Id: classes[jobClass] } } : {}),
...(jobClass ? { ClassRef: { value: classes[jobClass] } } : {}),
TaxCodeRef: {
value:
taxCodes[findTaxCode(billLine.applicable_taxes, ioSalesTaxCodes)],
@@ -323,7 +323,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req) {
classes.json.QueryResponse &&
classes.json.QueryResponse.Class &&
classes.json.QueryResponse.Class.forEach((t) => {
accountMapping[t.Name] = t.Id;
classMapping[t.Name] = t.Id;
});
return {

View File

@@ -402,7 +402,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req) {
classes.json.QueryResponse &&
classes.json.QueryResponse.Class &&
classes.json.QueryResponse.Class.forEach((t) => {
itemMapping[t.Name] = t.Id;
classMapping[t.Name] = t.Id;
});
return {
@@ -431,13 +431,14 @@ async function InsertInvoice(
qbo: true,
items,
taxCodes,
classes
});
const invoiceObj = {
Line: InvoiceLineAdd,
TxnDate: moment(job.date_invoiced).format("YYYY-MM-DD"),
DocNumber: job.ro_number,
...(job.class ? { ClassRef: { Id: classes[job.class] } } : {}),
...(job.class ? { ClassRef: { value: classes[job.class] } } : {}),
CustomerMemo: {
value: `${job.clm_no ? `Claim No: ${job.clm_no}` : ``}${
job.po_number ? `PO No: ${job.po_number}` : ``