1+ from six import python_2_unicode_compatible
2+
3+ from .bill import Bill
4+ from .creditmemo import CreditMemo
5+ from .deposit import Deposit
6+ from .estimate import Estimate
7+ from .invoice import Invoice
8+ from .journalentry import JournalEntry
9+ from .purchase import Purchase
10+ from .purchaseorder import PurchaseOrder
11+ from .refundreceipt import RefundReceipt
12+ from .salesreceipt import SalesReceipt
13+ from .transfer import Transfer
14+ from .vendorcredit import VendorCredit
15+ from .base import Ref , QuickbooksBaseObject
16+ from ..mixins import UpdateNoIdMixin , ListMixin , ReadMixin , DeleteNoIdMixin
17+
18+ class ScheduleInfo (QuickbooksBaseObject ):
19+ def __init__ (self ):
20+ super (ScheduleInfo , self ).__init__ ()
21+
22+ self .StartDate = None
23+ self .EndDate = None
24+ self .DaysBefore = None
25+ self .MaxOccurrences = None
26+
27+ self .RemindDays = None
28+ self .IntervalType = None
29+ self .NumInterval = None
30+
31+ self .DayOfMonth = None
32+ self .DayOfWeek = None
33+ self .MonthOfYear = None
34+ self .WeekOfMonth = None
35+
36+ self .NextDate = None
37+ self .PreviousDate = None
38+
39+
40+ class RecurringInfo (QuickbooksBaseObject ):
41+ class_dict = {
42+ "ScheduleInfo" : ScheduleInfo
43+ }
44+
45+ qbo_object_name = "RecurringInfo"
46+
47+ def __init__ (self ):
48+ super (RecurringInfo , self ).__init__ ()
49+
50+ self .RecurType = "Automated"
51+ self .Name = ""
52+ self .Active = False
53+
54+
55+ class Recurring ():
56+ class_dict = {
57+ "RecurringInfo" : RecurringInfo ,
58+ "RecurDataRef" : Ref
59+ }
60+
61+
62+ class RecurringBill (Bill ):
63+ class_dict = {** Bill .class_dict , ** Recurring .class_dict }
64+
65+
66+ class RecurringPurchase (Purchase ):
67+ class_dict = {** Purchase .class_dict , ** Recurring .class_dict }
68+
69+
70+ class RecurringCreditMemo (CreditMemo ):
71+ class_dict = {** CreditMemo .class_dict , ** Recurring .class_dict }
72+
73+
74+ class RecurringDeposit (Deposit ):
75+ class_dict = {** Deposit .class_dict , ** Recurring .class_dict }
76+
77+
78+ class RecurringEstimate (Estimate ):
79+ class_dict = {** Estimate .class_dict , ** Recurring .class_dict }
80+
81+
82+ class RecurringInvoice (Invoice ):
83+ class_dict = {** Invoice .class_dict , ** Recurring .class_dict }
84+
85+
86+ class RecurringJournalEntry (JournalEntry ):
87+ class_dict = {** JournalEntry .class_dict , ** Recurring .class_dict }
88+
89+
90+ class RecurringRefundReceipt (RefundReceipt ):
91+ class_dict = {** RefundReceipt .class_dict , ** Recurring .class_dict }
92+
93+
94+ class RecurringSalesReceipt (SalesReceipt ):
95+ class_dict = {** SalesReceipt .class_dict , ** Recurring .class_dict }
96+
97+
98+ class RecurringTransfer (Transfer ):
99+ class_dict = {** Transfer .class_dict , ** Recurring .class_dict }
100+
101+
102+ class RecurringVendorCredit (VendorCredit ):
103+ class_dict = {** VendorCredit .class_dict , ** Recurring .class_dict }
104+
105+
106+ class RecurringPurchaseOrder (PurchaseOrder ):
107+ class_dict = {** PurchaseOrder .class_dict , ** Recurring .class_dict }
108+
109+
110+ @python_2_unicode_compatible
111+ class RecurringTransaction (QuickbooksBaseObject , ReadMixin , UpdateNoIdMixin , ListMixin , DeleteNoIdMixin ):
112+ """
113+ QBO definition: A RecurringTransaction object refers to scheduling creation of transactions,
114+ set up reminders and create transaction template for later use.
115+ This feature is available in QuickBooks Essentials and Plus SKU.
116+ """
117+ class_dict = {
118+ "Bill" : RecurringBill ,
119+ "Purchase" : RecurringPurchase ,
120+ "CreditMemo" : RecurringCreditMemo ,
121+ "Deposit" : RecurringDeposit ,
122+ "Estimate" : RecurringEstimate ,
123+ "Invoice" : RecurringInvoice ,
124+ "JournalEntry" : RecurringJournalEntry ,
125+ "RefundReceipt" : RecurringRefundReceipt ,
126+ "SalesReceipt" : RecurringSalesReceipt ,
127+ "Transfer" : RecurringTransfer ,
128+ "VendorCredit" : RecurringVendorCredit ,
129+ "PurchaseOrder" : RecurringPurchaseOrder
130+ }
131+
132+ qbo_object_name = "RecurringTransaction"
0 commit comments