Пример #1
0
    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()
Пример #2
0
    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:
Пример #3
0
    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()