def get_qbo_events(self): qb_client, profile = Profile.get_qb_client() user = User.objects.get(username="******") for offset in [1, 100, 200, 300]: try: invoices = QuickBooksInvoice.all(qb=qb_client, start_position=offset) except AuthorizationException: profile.is_active = False profile.save() return for qb_invoice in invoices: try: org = Organization.objects.get(qbo_id=qb_invoice.CustomerRef.value) except Organization.DoesNotExist: continue log, is_created = BillingLog.objects.get_or_create( qbo_id=qb_invoice.Id, log_type="create_invoice", defaults={ "organization": org, "user": user, "amount": qb_invoice.TotalAmt, }, ) if is_created: log.pub_date = arrow.get( qb_invoice.MetaData["LastUpdatedTime"] ).datetime log.save() payments = QuickBooksPayment.all(qb=qb_client) for qb_payment in payments: try: org = Organization.objects.get(qbo_id=qb_payment.CustomerRef.value) except Organization.DoesNotExist: continue log, is_created = BillingLog.objects.get_or_create( qbo_id=qb_payment.Id, log_type="create_payment", defaults={ "organization": org, "user": user, "amount": qb_payment.TotalAmt, }, ) if is_created: log.pub_date = arrow.get( qb_payment.MetaData["LastUpdatedTime"] ).datetime log.save()
db = Database.Database(db_set.database, db_set.user, db_set.password, db_set.host, db_set.port) try: con = db.connection() con.autocommit = True cur = con.cursor() print("database ", db.name, "is opened") except: raise NameError('failed to open the database') #---------------------- outgoing_Invoices---------------------- try: LocalInvoicesIDs = outgoing_invoices.GetAllOutgoingInvoices(con, cur) invoices = Invoice.all(qb=client) for x in range(len(invoices)): invoice_id = int(invoices[x].Id) if (invoice_id not in LocalInvoicesIDs): title = invoices[x].CustomerRef.name created_date = invoices[x].TxnDate expiration_date = invoices[x].DueDate fullfillement_date = None total_amount = invoices[x].TotalAmt total_vat = invoices[x].TxnTaxDetail.TotalTax currency = invoices[x].CurrencyRef.value products_list = [] list_products = (invoices[x].Line) for y in range(len(list_products)): try:
def get_qbo_events(self): qb_client, profile = Profile.get_qb_client() user = User.objects.get(username="******") for offset in [1, 100, 200, 300, 400, 500, 600, 700]: try: invoices = QuickBooksInvoice.all(qb=qb_client, start_position=offset) except AuthorizationException: profile.is_active = False profile.save() return for qb_invoice in invoices: try: org = Organization.objects.get( qbo_id=qb_invoice.CustomerRef.value) except Organization.DoesNotExist: continue log, is_created = BillingLog.objects.get_or_create( qbo_id=qb_invoice.Id, log_type="create_invoice", defaults={ "organization": org, "user": user, "amount": qb_invoice.TotalAmt, }, ) if is_created: log.pub_date = arrow.get( qb_invoice.MetaData["LastUpdatedTime"]).datetime log.created_date = arrow.get( qb_invoice.MetaData["CreateTime"]).date() log.save() else: log.invoice_year = log.pub_date.year log.created_date = arrow.get( qb_invoice.MetaData["CreateTime"]).date() log.save() for offset in [1, 100, 200, 300, 400, 500, 600, 700]: payments = QuickBooksPayment.all(qb=qb_client, start_position=offset) for qb_payment in payments: try: org = Organization.objects.get( qbo_id=qb_payment.CustomerRef.value) except Organization.DoesNotExist: continue log, is_created = BillingLog.objects.get_or_create( qbo_id=qb_payment.Id, log_type="create_payment", defaults={ "organization": org, "user": user, "amount": qb_payment.TotalAmt, }, ) if is_created: log.pub_date = arrow.get( qb_payment.MetaData["LastUpdatedTime"]).datetime log.save()