@@ -45,17 +45,6 @@ class Status(Enum):
4545 def __str__ (self ):
4646 return self .value
4747
48- class EinvoiceStatus (Enum ):
49- SCHEDULED = "scheduled"
50- SKIPPED = "skipped"
51- IN_PROGRESS = "in_progress"
52- SUCCESS = "success"
53- FAILED = "failed"
54- REGISTERED = "registered"
55-
56- def __str__ (self ):
57- return self .value
58-
5948 class LineItemEntityType (Enum ):
6049 ADHOC = "adhoc"
6150 PLAN_ITEM_PRICE = "plan_item_price"
@@ -68,7 +57,7 @@ class LineItemEntityType(Enum):
6857 def __str__ (self ):
6958 return self .value
7059
71- class DiscountEntityType (Enum ):
60+ class LineItemDiscountDiscountType (Enum ):
7261 ITEM_LEVEL_COUPON = "item_level_coupon"
7362 DOCUMENT_LEVEL_COUPON = "document_level_coupon"
7463 PROMOTIONAL_CREDITS = "promotional_credits"
@@ -79,14 +68,7 @@ class DiscountEntityType(Enum):
7968 def __str__ (self ):
8069 return self .value
8170
82- class DiscountDiscountType (Enum ):
83- FIXED_AMOUNT = "fixed_amount"
84- PERCENTAGE = "percentage"
85-
86- def __str__ (self ):
87- return self .value
88-
89- class LineItemDiscountDiscountType (Enum ):
71+ class DiscountEntityType (Enum ):
9072 ITEM_LEVEL_COUPON = "item_level_coupon"
9173 DOCUMENT_LEVEL_COUPON = "document_level_coupon"
9274 PROMOTIONAL_CREDITS = "promotional_credits"
@@ -97,18 +79,30 @@ class LineItemDiscountDiscountType(Enum):
9779 def __str__ (self ):
9880 return self .value
9981
82+ class DiscountDiscountType (Enum ):
83+ FIXED_AMOUNT = "fixed_amount"
84+ PERCENTAGE = "percentage"
85+
86+ def __str__ (self ):
87+ return self .value
88+
10089 class AppliedCreditTaxApplication (Enum ):
10190 PRE_TAX = "pre_tax"
10291 POST_TAX = "post_tax"
10392
10493 def __str__ (self ):
10594 return self .value
10695
107- class Einvoice (TypedDict ):
108- id : Required [str ]
109- reference_number : NotRequired [str ]
110- status : Required ["CreditNote.EinvoiceStatus" ]
111- message : NotRequired [str ]
96+ class EinvoiceStatus (Enum ):
97+ SCHEDULED = "scheduled"
98+ SKIPPED = "skipped"
99+ IN_PROGRESS = "in_progress"
100+ SUCCESS = "success"
101+ FAILED = "failed"
102+ REGISTERED = "registered"
103+
104+ def __str__ (self ):
105+ return self .value
112106
113107 class LineItem (TypedDict ):
114108 id : NotRequired [str ]
@@ -137,21 +131,6 @@ class LineItem(TypedDict):
137131 entity_id : NotRequired [str ]
138132 customer_id : NotRequired [str ]
139133
140- class Discount (TypedDict ):
141- amount : Required [int ]
142- description : NotRequired [str ]
143- entity_type : Required ["CreditNote.DiscountEntityType" ]
144- discount_type : NotRequired ["CreditNote.DiscountDiscountType" ]
145- entity_id : NotRequired [str ]
146- coupon_set_code : NotRequired [str ]
147-
148- class LineItemDiscount (TypedDict ):
149- line_item_id : Required [str ]
150- discount_type : Required ["CreditNote.LineItemDiscountDiscountType" ]
151- coupon_id : NotRequired [str ]
152- entity_id : NotRequired [str ]
153- discount_amount : Required [int ]
154-
155134 class LineItemTier (TypedDict ):
156135 line_item_id : NotRequired [str ]
157136 starting_unit : Required [int ]
@@ -165,10 +144,12 @@ class LineItemTier(TypedDict):
165144 pricing_type : NotRequired [enums .PricingType ]
166145 package_size : NotRequired [int ]
167146
168- class Tax (TypedDict ):
169- name : Required [str ]
170- amount : Required [int ]
171- description : NotRequired [str ]
147+ class LineItemDiscount (TypedDict ):
148+ line_item_id : Required [str ]
149+ discount_type : Required ["CreditNote.LineItemDiscountDiscountType" ]
150+ coupon_id : NotRequired [str ]
151+ entity_id : NotRequired [str ]
152+ discount_amount : Required [int ]
172153
173154 class LineItemTax (TypedDict ):
174155 line_item_id : NotRequired [str ]
@@ -187,6 +168,40 @@ class LineItemTax(TypedDict):
187168 tax_amount_in_local_currency : NotRequired [int ]
188169 local_currency_code : NotRequired [str ]
189170
171+ class LineItemAddress (TypedDict ):
172+ line_item_id : NotRequired [str ]
173+ first_name : NotRequired [str ]
174+ last_name : NotRequired [str ]
175+ email : NotRequired [str ]
176+ company : NotRequired [str ]
177+ phone : NotRequired [str ]
178+ line1 : NotRequired [str ]
179+ line2 : NotRequired [str ]
180+ line3 : NotRequired [str ]
181+ city : NotRequired [str ]
182+ state_code : NotRequired [str ]
183+ state : NotRequired [str ]
184+ country : NotRequired [str ]
185+ zip : NotRequired [str ]
186+ validation_status : NotRequired [enums .ValidationStatus ]
187+
188+ class Discount (TypedDict ):
189+ amount : Required [int ]
190+ description : NotRequired [str ]
191+ entity_type : Required ["CreditNote.DiscountEntityType" ]
192+ discount_type : NotRequired ["CreditNote.DiscountDiscountType" ]
193+ entity_id : NotRequired [str ]
194+ coupon_set_code : NotRequired [str ]
195+
196+ class Tax (TypedDict ):
197+ name : Required [str ]
198+ amount : Required [int ]
199+ description : NotRequired [str ]
200+
201+ class TaxOrigin (TypedDict ):
202+ country : NotRequired [str ]
203+ registration_number : NotRequired [str ]
204+
190205 class LinkedRefund (TypedDict ):
191206 txn_id : Required [str ]
192207 applied_amount : Required [int ]
@@ -237,31 +252,16 @@ class BillingAddress(TypedDict):
237252 zip : NotRequired [str ]
238253 validation_status : NotRequired [enums .ValidationStatus ]
239254
255+ class Einvoice (TypedDict ):
256+ id : Required [str ]
257+ reference_number : NotRequired [str ]
258+ status : Required ["CreditNote.EinvoiceStatus" ]
259+ message : NotRequired [str ]
260+
240261 class SiteDetailsAtCreation (TypedDict ):
241262 timezone : NotRequired [str ]
242263 organization_address : NotRequired [Dict [Any , Any ]]
243264
244- class TaxOrigin (TypedDict ):
245- country : NotRequired [str ]
246- registration_number : NotRequired [str ]
247-
248- class LineItemAddress (TypedDict ):
249- line_item_id : NotRequired [str ]
250- first_name : NotRequired [str ]
251- last_name : NotRequired [str ]
252- email : NotRequired [str ]
253- company : NotRequired [str ]
254- phone : NotRequired [str ]
255- line1 : NotRequired [str ]
256- line2 : NotRequired [str ]
257- line3 : NotRequired [str ]
258- city : NotRequired [str ]
259- state_code : NotRequired [str ]
260- state : NotRequired [str ]
261- country : NotRequired [str ]
262- zip : NotRequired [str ]
263- validation_status : NotRequired [enums .ValidationStatus ]
264-
265265 class CreateLineItemParams (TypedDict ):
266266 reference_line_item_id : NotRequired [str ]
267267 unit_amount : NotRequired [int ]
@@ -280,6 +280,7 @@ class RetrieveLineItemParams(TypedDict):
280280 customer_id : NotRequired [Filters .StringFilter ]
281281
282282 class RecordRefundTransactionParams (TypedDict ):
283+ id : NotRequired [str ]
283284 amount : NotRequired [int ]
284285 payment_method : Required [enums .PaymentMethod ]
285286 reference_number : NotRequired [str ]
@@ -364,6 +365,7 @@ class ImportCreditNoteAllocationParams(TypedDict):
364365 allocated_at : Required [int ]
365366
366367 class ImportCreditNoteLinkedRefundParams (TypedDict ):
368+ id : NotRequired [str ]
367369 amount : Required [int ]
368370 payment_method : Required [enums .PaymentMethod ]
369371 date : Required [int ]
0 commit comments