IO-256 QBO Payables
This commit is contained in:
@@ -14,7 +14,7 @@ const {
|
||||
setNewRefreshToken,
|
||||
} = require("./qbo-callback");
|
||||
const OAuthClient = require("intuit-oauth");
|
||||
const CreateInvoiceLines = require("../qb-receivables-lines");
|
||||
const CreateInvoiceLines = require("../qb-receivables-lines").default;
|
||||
const moment = require("moment");
|
||||
|
||||
const GraphQLClient = require("graphql-request").GraphQLClient;
|
||||
@@ -332,6 +332,14 @@ async function QueryMetaData(oauthClient, req) {
|
||||
},
|
||||
});
|
||||
|
||||
const classes = await oauthClient.makeApiCall({
|
||||
url: urlBuilder(req.cookies.qbo_realmId, "query", `select * From Class`),
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
});
|
||||
|
||||
const taxCodeMapping = {};
|
||||
|
||||
taxCodes.json &&
|
||||
@@ -348,14 +356,22 @@ async function QueryMetaData(oauthClient, req) {
|
||||
itemMapping[t.Name] = t.Id;
|
||||
});
|
||||
|
||||
const classMapping = {};
|
||||
classes.json &&
|
||||
classes.json.QueryResponse &&
|
||||
classes.json.QueryResponse.Class.forEach((t) => {
|
||||
itemMapping[t.Name] = t.Id;
|
||||
});
|
||||
|
||||
return {
|
||||
items: itemMapping,
|
||||
taxCodes: taxCodeMapping,
|
||||
classes: classMapping,
|
||||
};
|
||||
}
|
||||
|
||||
async function InsertInvoice(oauthClient, req, job, bodyshop, parentTierRef) {
|
||||
const { items, taxCodes } = await QueryMetaData(oauthClient, req);
|
||||
const { items, taxCodes, classes } = await QueryMetaData(oauthClient, req);
|
||||
const InvoiceLineAdd = CreateInvoiceLines({
|
||||
bodyshop,
|
||||
jobs_by_pk: job,
|
||||
@@ -368,6 +384,7 @@ async function InsertInvoice(oauthClient, req, job, bodyshop, parentTierRef) {
|
||||
Line: InvoiceLineAdd,
|
||||
TxnDate: moment(job.date_invoiced).format("YYYY-MM-DD"),
|
||||
DocNumber: job.ro_number,
|
||||
...(job.class ? { ClassRef: { Id: classes[job.class] } } : {}),
|
||||
CustomerRef: {
|
||||
value: parentTierRef.Id,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user