Skip to content

Commit f83f148

Browse files
committed
Added LinkedTxnMixin.
1 parent 57f8e9e commit f83f148

16 files changed

Lines changed: 46 additions & 28 deletions

quickbooks/objects/base.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,16 @@ def __unicode__(self):
3232
return "Created {0}".format(self.CreateTime)
3333

3434

35+
class LinkedTxnMixin(object):
36+
def to_linked_txn(self):
37+
linked_txn = LinkedTxn()
38+
linked_txn.TxnId = self.Id
39+
linked_txn.TxnType = self.qbo_object_name
40+
linked_txn.TxnLineId = 1
41+
42+
return linked_txn
43+
44+
3545
class Address(ToJsonMixin, FromJsonMixin):
3646
def __init__(self):
3747
self.Id = 0

quickbooks/objects/bill.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from base import QuickbooksBaseObject, Ref, LinkedTxn, QuickbooksManagedObject, QuickbooksTransactionEntity
1+
from base import QuickbooksBaseObject, Ref, LinkedTxn, QuickbooksManagedObject, QuickbooksTransactionEntity, \
2+
LinkedTxnMixin
23

34

45
class AccountBasedExpenseLineDetail(QuickbooksBaseObject):
@@ -38,7 +39,7 @@ def __unicode__(self):
3839
return str(self.Amount)
3940

4041

41-
class Bill(QuickbooksManagedObject, QuickbooksTransactionEntity):
42+
class Bill(QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin):
4243
"""
4344
QBO definition: A Bill entity is an AP transaction representing a request-for-payment from a third party for
4445
goods/services rendered and/or received.

quickbooks/objects/billpayment.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from base import QuickbooksBaseObject, Ref, LinkedTxn, QuickbooksManagedObject
1+
from base import QuickbooksBaseObject, Ref, LinkedTxn, QuickbooksManagedObject, LinkedTxnMixin
22

33

44
class CheckPayment(QuickbooksBaseObject):
@@ -33,7 +33,7 @@ def __unicode__(self):
3333
return str(self.Amount)
3434

3535

36-
class BillPayment(QuickbooksManagedObject):
36+
class BillPayment(QuickbooksManagedObject, LinkedTxnMixin):
3737
"""
3838
QBO definition: A BillPayment entity represents the financial transaction of payment of bills that the
3939
business owner receives from a vendor for goods or services purchased from the vendor. QuickBooks Online

quickbooks/objects/creditmemo.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from base import QuickbooksBaseObject, Address, EmailAddress, Ref, CustomField, CustomerMemo, QuickbooksManagedObject
1+
from base import QuickbooksBaseObject, Address, EmailAddress, Ref, CustomField, CustomerMemo, QuickbooksManagedObject, \
2+
LinkedTxnMixin
23
from tax import TxnTaxDetail
34

45

@@ -38,7 +39,7 @@ def __unicode__(self):
3839
return "[{0}] {1} {2}".format(self.LineNum, self.Description, self.Amount)
3940

4041

41-
class CreditMemo(QuickbooksManagedObject):
42+
class CreditMemo(QuickbooksManagedObject, LinkedTxnMixin):
4243
"""
4344
QBO definition: The CreditMemo is a financial transaction representing a refund or credit of payment or part
4445
of a payment for goods or services that have been sold.

quickbooks/objects/deposit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from base import QuickbooksBaseObject, Ref, LinkedTxn, QuickbooksManagedObject
1+
from base import QuickbooksBaseObject, Ref, LinkedTxn, QuickbooksManagedObject, LinkedTxnMixin
22

33

44
class DepositLine(QuickbooksBaseObject):
@@ -21,7 +21,7 @@ def __unicode__(self):
2121
return str(self.Amount)
2222

2323

24-
class Deposit(QuickbooksManagedObject):
24+
class Deposit(QuickbooksManagedObject, LinkedTxnMixin):
2525
"""
2626
QBO definition: A deposit object is a transaction that records one or more deposits of the following types:
2727

quickbooks/objects/estimate.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from base import QuickbooksBaseObject, CustomField, Ref, CustomerMemo, Address, EmailAddress, QuickbooksManagedObject
1+
from base import QuickbooksBaseObject, CustomField, Ref, CustomerMemo, Address, EmailAddress, QuickbooksManagedObject, \
2+
LinkedTxnMixin
23
from tax import TxnTaxDetail
34

45
class SalesItemLineDetail(QuickbooksBaseObject):
@@ -33,7 +34,7 @@ def __unicode__(self):
3334
return str(self.Amount)
3435

3536

36-
class Estimate(QuickbooksManagedObject):
37+
class Estimate(QuickbooksManagedObject, LinkedTxnMixin):
3738
"""
3839
QBO definition: The Estimate represents a proposal for a financial transaction from a business to a customer
3940
for goods or services proposed to be sold, including proposed pricing.

quickbooks/objects/invoice.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from base import QuickbooksBaseObject, Ref, CustomField, Address, EmailAddress, CustomerMemo, QuickbooksManagedObject, \
2-
QuickbooksTransactionEntity, LinkedTxn
2+
QuickbooksTransactionEntity, LinkedTxn, LinkedTxnMixin
33
from tax import TxnTaxDetail
44

55

@@ -56,7 +56,7 @@ def __unicode__(self):
5656
return "[{0}] {1} {2}".format(self.LineNum, self.Description, self.Amount)
5757

5858

59-
class Invoice(QuickbooksManagedObject, QuickbooksTransactionEntity):
59+
class Invoice(QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin):
6060
"""
6161
QBO definition: An Invoice represents a sales form where the customer pays for a product or service later.
6262

quickbooks/objects/journalentry.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from base import QuickbooksBaseObject, Ref, QuickbooksManagedObject, QuickbooksTransactionEntity
1+
from base import QuickbooksBaseObject, Ref, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin
22
from tax import TxnTaxDetail
33

44

@@ -47,7 +47,7 @@ def __unicode__(self):
4747
return str(self.Amount)
4848

4949

50-
class JournalEntry(QuickbooksManagedObject, QuickbooksTransactionEntity):
50+
class JournalEntry(QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin):
5151
"""
5252
QBO definition: Journal Entry is a transaction in which:
5353
- There are at least two parts - a Debit and a Credit - called distribution lines.
@@ -72,6 +72,7 @@ def __init__(self):
7272
super(JournalEntry, self).__init__()
7373
self.Adjustment = False
7474
self.TxnDate = ""
75+
self.DocNumber = ""
7576
self.TotalAmt = 0
7677
self.Line = []
7778
self.TxnTaxDetail = None

quickbooks/objects/payment.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class Payment(QuickbooksManagedObject, QuickbooksTransactionEntity):
3939
class_dict = {
4040
"CustomerRef": Ref,
4141
"PaymentMethodRef": Ref,
42+
"DepositToAccountRef": Ref
4243
}
4344

4445
list_dict = {
@@ -53,8 +54,11 @@ def __init__(self):
5354
self.TotalAmt = 0
5455
self.UnappliedAmt = 0
5556
self.TxnDate = ""
57+
self.PrivateNote = ""
58+
self.TxnStatus = ""
5659
self.CustomerRef = None
5760
self.PaymentMethodRef = None
61+
self.DepositToAccountRef = None
5862
self.Line = []
5963

6064
def __unicode__(self):

quickbooks/objects/purchase.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from base import QuickbooksBaseObject, Ref, QuickbooksManagedObject
1+
from base import QuickbooksBaseObject, Ref, QuickbooksManagedObject, LinkedTxnMixin
22

33

44
class AccountBasedExpenseLineDetail(QuickbooksBaseObject):
@@ -41,7 +41,7 @@ def __unicode__(self):
4141
return str(self.Amount)
4242

4343

44-
class Purchase(QuickbooksManagedObject):
44+
class Purchase(QuickbooksManagedObject, LinkedTxnMixin):
4545
"""
4646
QBO definition: This entity represents expenses, such as a purchase made from a vendor.
4747
There are three types of Purchases: Cash, Check, and Credit Card.

0 commit comments

Comments
 (0)