def create_qb_invoice(self, qb_client): invoice = QuickBooksInvoice() line = SalesItemLine() line.LineNum = 1 line.Description = self.description line.Amount = self.amount # line.ServiceDate = qb_date_format(datetime.date(2019, 1, 1)) line.SalesItemLineDetail = SalesItemLineDetail() line.SalesItemLineDetail.Qty = 1 line.SalesItemLineDetail.UnitPrice = self.amount item = Item.choose(["MF"], field="SKU", qb=qb_client)[0] line.SalesItemLineDetail.ItemRef = item.to_ref() invoice.Line.append(line) customer = Customer.get(self.organization.qbo_id, qb=qb_client) invoice.CustomerRef = customer.to_ref() # term = Term.choose(['Net 30'], field='Name', qb=qb_client)[0] # invoice.SalesTermRef = term # invoice.TotalAmt = self.amount invoice.save(qb=qb_client) print(invoice.Id)
def get_items_for_bill(bill, client): ids = [ l['ItemBasedExpenseLineDetail']['ItemRef']['value'] for l in bill['Line'] if 'ItemBasedExpenseLineDetail' in l ] items = Item.choose(ids, field="Id", qb=client) return [json.loads(i.to_json()) for i in items]