kintsugi_sdk 5.6.1 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kintsugi_sdk/addressvalidation.rb +8 -6
  3. data/lib/kintsugi_sdk/customers.rb +90 -88
  4. data/lib/kintsugi_sdk/exemptions.rb +60 -60
  5. data/lib/kintsugi_sdk/models/errors/{backend_src_products_responses_validationerrorresponse.rb → backend_src_products_schemas_responses_validationerrorresponse.rb} +3 -3
  6. data/lib/kintsugi_sdk/models/errors/backend_src_products_schemas_responses_validationerrorresponse.rbi +13 -0
  7. data/lib/kintsugi_sdk/models/errors.rb +1 -1
  8. data/lib/kintsugi_sdk/models/ops/{search_v1_address_validation_search_post_security.rb → country.rb} +3 -8
  9. data/lib/kintsugi_sdk/models/{shared/registration.rbi → ops/country.rbi} +2 -2
  10. data/lib/kintsugi_sdk/models/ops/country_code.rb +27 -0
  11. data/lib/kintsugi_sdk/models/ops/country_code.rbi +11 -0
  12. data/lib/kintsugi_sdk/models/ops/create_customer_v1_customers_post_request.rb +36 -0
  13. data/lib/kintsugi_sdk/models/ops/create_customer_v1_customers_post_request.rbi +15 -0
  14. data/lib/kintsugi_sdk/models/ops/create_exemption_v1_exemptions_post_request.rb +36 -0
  15. data/lib/kintsugi_sdk/models/ops/create_exemption_v1_exemptions_post_request.rbi +15 -0
  16. data/lib/kintsugi_sdk/models/ops/create_transaction_v1_transactions_post_request.rb +36 -0
  17. data/lib/kintsugi_sdk/models/ops/create_transaction_v1_transactions_post_request.rbi +15 -0
  18. data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rb +6 -2
  19. data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rbi +2 -0
  20. data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rb +6 -2
  21. data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rbi +2 -0
  22. data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rb +6 -2
  23. data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rbi +2 -0
  24. data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rb +6 -2
  25. data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rbi +2 -0
  26. data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rb +13 -5
  27. data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rbi +4 -0
  28. data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rb +6 -2
  29. data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rbi +2 -0
  30. data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rb +17 -9
  31. data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rbi +6 -2
  32. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rb +29 -13
  33. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +14 -6
  34. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_response_get_nexus_for_org_v1_nexus_get.rb +27 -0
  35. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_response_get_nexus_for_org_v1_nexus_get.rbi +11 -0
  36. data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rb +6 -2
  37. data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rbi +2 -0
  38. data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rb +6 -2
  39. data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rbi +2 -0
  40. data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rb +44 -18
  41. data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rbi +14 -4
  42. data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rb +6 -2
  43. data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rbi +2 -0
  44. data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rb +6 -2
  45. data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rbi +2 -0
  46. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rb +14 -2
  47. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rbi +6 -0
  48. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_response_get_transactions_by_customer_id_v1_cus_6a2c85.rb +27 -0
  49. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_response_get_transactions_by_customer_id_v1_cus_6a2c85.rbi +11 -0
  50. data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rb +6 -2
  51. data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rbi +2 -0
  52. data/lib/kintsugi_sdk/models/ops/queryparam_country.rb +27 -0
  53. data/lib/kintsugi_sdk/models/ops/queryparam_country.rbi +11 -0
  54. data/lib/kintsugi_sdk/models/ops/suggestions_v1_address_validation_suggestions_post_request.rb +36 -0
  55. data/lib/kintsugi_sdk/models/ops/suggestions_v1_address_validation_suggestions_post_request.rbi +15 -0
  56. data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rb +6 -2
  57. data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rbi +2 -0
  58. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_product.rb +27 -0
  59. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_product.rbi +11 -0
  60. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rb +9 -5
  61. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rbi +4 -2
  62. data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rb +6 -2
  63. data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rbi +2 -0
  64. data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rb +6 -2
  65. data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rbi +2 -0
  66. data/lib/kintsugi_sdk/models/ops.rb +10 -1
  67. data/lib/kintsugi_sdk/models/shared/addressbase.rb +1 -1
  68. data/lib/kintsugi_sdk/models/shared/addresses.rb +7 -3
  69. data/lib/kintsugi_sdk/models/shared/addresses.rbi +2 -0
  70. data/lib/kintsugi_sdk/models/shared/amount.rb +27 -0
  71. data/lib/kintsugi_sdk/models/shared/amount.rbi +11 -0
  72. data/lib/kintsugi_sdk/models/shared/{backend_src_exemptions_models_exemptionread.rb → backend_src_exemptions_schemas_exemption_exemptionread.rb} +11 -10
  73. data/lib/kintsugi_sdk/models/shared/{backend_src_exemptions_models_exemptionread.rbi → backend_src_exemptions_schemas_exemption_exemptionread.rbi} +4 -4
  74. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb +9 -9
  75. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rbi +2 -2
  76. data/lib/kintsugi_sdk/models/shared/{backend_src_products_responses_validationerroritem.rb → backend_src_products_schemas_responses_validationerroritem.rb} +1 -1
  77. data/lib/kintsugi_sdk/models/shared/{backend_src_products_responses_validationerroritem.rbi → backend_src_products_schemas_responses_validationerroritem.rbi} +2 -2
  78. data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb +2 -2
  79. data/lib/kintsugi_sdk/models/shared/{registration.rb → context.rb} +1 -1
  80. data/lib/kintsugi_sdk/models/shared/context.rbi +11 -0
  81. data/lib/kintsugi_sdk/models/shared/conversion_rate.rb +27 -0
  82. data/lib/kintsugi_sdk/models/shared/conversion_rate.rbi +11 -0
  83. data/lib/kintsugi_sdk/models/shared/converted_amount.rb +27 -0
  84. data/lib/kintsugi_sdk/models/shared/converted_amount.rbi +11 -0
  85. data/lib/kintsugi_sdk/models/shared/converted_subtotal.rb +27 -0
  86. data/lib/kintsugi_sdk/models/shared/converted_subtotal.rbi +11 -0
  87. data/lib/kintsugi_sdk/models/shared/converted_tax_amount_calculated.rb +27 -0
  88. data/lib/kintsugi_sdk/models/shared/converted_tax_amount_calculated.rbi +11 -0
  89. data/lib/kintsugi_sdk/models/shared/converted_tax_amount_imported.rb +27 -0
  90. data/lib/kintsugi_sdk/models/shared/converted_tax_amount_imported.rbi +11 -0
  91. data/lib/kintsugi_sdk/models/shared/converted_taxable_amount.rb +27 -0
  92. data/lib/kintsugi_sdk/models/shared/converted_taxable_amount.rbi +11 -0
  93. data/lib/kintsugi_sdk/models/shared/converted_total_amount.rb +27 -0
  94. data/lib/kintsugi_sdk/models/shared/converted_total_amount.rbi +11 -0
  95. data/lib/kintsugi_sdk/models/shared/converted_total_discount.rb +27 -0
  96. data/lib/kintsugi_sdk/models/shared/converted_total_discount.rbi +11 -0
  97. data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_calculated.rb +27 -0
  98. data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_calculated.rbi +11 -0
  99. data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_imported.rb +27 -0
  100. data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_imported.rbi +11 -0
  101. data/lib/kintsugi_sdk/models/shared/converted_total_tax_liability_amount.rb +27 -0
  102. data/lib/kintsugi_sdk/models/shared/converted_total_tax_liability_amount.rbi +11 -0
  103. data/lib/kintsugi_sdk/models/shared/customer.rb +27 -0
  104. data/lib/kintsugi_sdk/models/shared/customer.rbi +11 -0
  105. data/lib/kintsugi_sdk/models/shared/customerbase.rb +16 -12
  106. data/lib/kintsugi_sdk/models/shared/customerbase.rbi +6 -4
  107. data/lib/kintsugi_sdk/models/shared/customerbasebase.rb +16 -12
  108. data/lib/kintsugi_sdk/models/shared/customerbasebase.rbi +6 -4
  109. data/lib/kintsugi_sdk/models/shared/customerbasepublic.rb +16 -12
  110. data/lib/kintsugi_sdk/models/shared/customerbasepublic.rbi +6 -4
  111. data/lib/kintsugi_sdk/models/shared/customercreate.rb +20 -16
  112. data/lib/kintsugi_sdk/models/shared/customercreate.rbi +8 -6
  113. data/lib/kintsugi_sdk/models/shared/customerread.rb +24 -16
  114. data/lib/kintsugi_sdk/models/shared/customerread.rbi +10 -6
  115. data/lib/kintsugi_sdk/models/shared/customerupdate.rb +13 -9
  116. data/lib/kintsugi_sdk/models/shared/customerupdate.rbi +4 -2
  117. data/lib/kintsugi_sdk/models/shared/discount_amount.rb +27 -0
  118. data/lib/kintsugi_sdk/models/shared/discount_amount.rbi +11 -0
  119. data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +6 -6
  120. data/lib/kintsugi_sdk/models/shared/discountbuilder.rbi +2 -2
  121. data/lib/kintsugi_sdk/models/shared/disregardedtypeenum.rb +20 -0
  122. data/lib/kintsugi_sdk/models/shared/disregardedtypeenum.rbi +11 -0
  123. data/lib/kintsugi_sdk/models/shared/documenttypeenum.rb +21 -0
  124. data/lib/kintsugi_sdk/models/shared/documenttypeenum.rbi +11 -0
  125. data/lib/kintsugi_sdk/models/shared/exemption.rb +23 -14
  126. data/lib/kintsugi_sdk/models/shared/exemption.rbi +8 -4
  127. data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +3 -3
  128. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +22 -2
  129. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rbi +10 -0
  130. data/lib/kintsugi_sdk/models/shared/exemptionsourceenum.rb +42 -0
  131. data/lib/kintsugi_sdk/models/shared/exemptionsourceenum.rbi +11 -0
  132. data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +1 -0
  133. data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +2 -2
  134. data/lib/kintsugi_sdk/models/shared/loc.rb +27 -0
  135. data/lib/kintsugi_sdk/models/shared/loc.rbi +11 -0
  136. data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +112 -82
  137. data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +52 -40
  138. data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +1 -0
  139. data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +2 -0
  140. data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +1 -0
  141. data/lib/kintsugi_sdk/models/shared/productread.rb +40 -12
  142. data/lib/kintsugi_sdk/models/shared/productread.rbi +18 -4
  143. data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +1 -0
  144. data/lib/kintsugi_sdk/models/shared/productupdate.rb +6 -6
  145. data/lib/kintsugi_sdk/models/shared/productupdate.rbi +2 -2
  146. data/lib/kintsugi_sdk/models/shared/productupdatev2.rb +64 -0
  147. data/lib/kintsugi_sdk/models/shared/productupdatev2.rbi +29 -0
  148. data/lib/kintsugi_sdk/models/shared/quantity.rb +27 -0
  149. data/lib/kintsugi_sdk/models/shared/quantity.rbi +11 -0
  150. data/lib/kintsugi_sdk/models/shared/quantity_of_the_product_.rb +27 -0
  151. data/lib/kintsugi_sdk/models/shared/quantity_of_the_product_.rbi +11 -0
  152. data/lib/kintsugi_sdk/models/shared/rate.rb +27 -0
  153. data/lib/kintsugi_sdk/models/shared/rate.rbi +11 -0
  154. data/lib/kintsugi_sdk/models/shared/security.rb +3 -7
  155. data/lib/kintsugi_sdk/models/shared/security.rbi +0 -2
  156. data/lib/kintsugi_sdk/models/shared/sourceenum.rb +15 -0
  157. data/lib/kintsugi_sdk/models/shared/tax_amount_calculated.rb +27 -0
  158. data/lib/kintsugi_sdk/models/shared/tax_amount_calculated.rbi +11 -0
  159. data/lib/kintsugi_sdk/models/shared/tax_amount_imported.rb +27 -0
  160. data/lib/kintsugi_sdk/models/shared/tax_amount_imported.rbi +11 -0
  161. data/lib/kintsugi_sdk/models/shared/tax_rate_calculated.rb +27 -0
  162. data/lib/kintsugi_sdk/models/shared/tax_rate_calculated.rbi +11 -0
  163. data/lib/kintsugi_sdk/models/shared/tax_rate_imported.rb +27 -0
  164. data/lib/kintsugi_sdk/models/shared/tax_rate_imported.rbi +11 -0
  165. data/lib/kintsugi_sdk/models/shared/taxable_amount.rb +27 -0
  166. data/lib/kintsugi_sdk/models/shared/taxable_amount.rbi +11 -0
  167. data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +1 -0
  168. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +14 -14
  169. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rbi +4 -4
  170. data/lib/kintsugi_sdk/models/shared/taxitembuilder_amount.rb +27 -0
  171. data/lib/kintsugi_sdk/models/shared/taxitembuilder_amount.rbi +11 -0
  172. data/lib/kintsugi_sdk/models/shared/taxitembuilder_converted_amount.rb +27 -0
  173. data/lib/kintsugi_sdk/models/shared/taxitembuilder_converted_amount.rbi +11 -0
  174. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +10 -10
  175. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rbi +4 -4
  176. data/lib/kintsugi_sdk/models/shared/taxitemread.rb +10 -10
  177. data/lib/kintsugi_sdk/models/shared/taxitemread.rbi +4 -4
  178. data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +1 -0
  179. data/lib/kintsugi_sdk/models/shared/taxtypeenum.rb +26 -0
  180. data/lib/kintsugi_sdk/models/shared/taxtypeenum.rbi +11 -0
  181. data/lib/kintsugi_sdk/models/shared/total_amount.rb +27 -0
  182. data/lib/kintsugi_sdk/models/shared/total_amount.rbi +11 -0
  183. data/lib/kintsugi_sdk/models/shared/total_amount_of_this_transaction_item_after_discounts_.rb +27 -0
  184. data/lib/kintsugi_sdk/models/shared/total_amount_of_this_transaction_item_after_discounts_.rbi +11 -0
  185. data/lib/kintsugi_sdk/models/shared/total_tax_amount_calculated.rb +27 -0
  186. data/lib/kintsugi_sdk/models/shared/total_tax_amount_calculated.rbi +11 -0
  187. data/lib/kintsugi_sdk/models/shared/total_tax_amount_imported.rb +27 -0
  188. data/lib/kintsugi_sdk/models/shared/total_tax_amount_imported.rbi +11 -0
  189. data/lib/kintsugi_sdk/models/shared/total_tax_liability_amount.rb +27 -0
  190. data/lib/kintsugi_sdk/models/shared/total_tax_liability_amount.rbi +11 -0
  191. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +11 -7
  192. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rbi +4 -2
  193. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +8 -4
  194. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rbi +2 -0
  195. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +11 -7
  196. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rbi +4 -2
  197. data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +84 -78
  198. data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +34 -28
  199. data/lib/kintsugi_sdk/models/shared/transactiondirectionenum.rb +19 -0
  200. data/lib/kintsugi_sdk/models/shared/transactiondirectionenum.rbi +11 -0
  201. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +9 -7
  202. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +2 -2
  203. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +10 -8
  204. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +2 -2
  205. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +7 -3
  206. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rbi +2 -0
  207. data/lib/kintsugi_sdk/models/shared/transactionimportcustomer.rb +104 -0
  208. data/lib/kintsugi_sdk/models/shared/transactionimportcustomer.rbi +49 -0
  209. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +53 -53
  210. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rbi +20 -20
  211. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_amount.rb +27 -0
  212. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_amount.rbi +11 -0
  213. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_amount.rb +27 -0
  214. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_amount.rbi +11 -0
  215. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_subtotal.rb +27 -0
  216. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_subtotal.rbi +11 -0
  217. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_calculated.rb +27 -0
  218. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_calculated.rbi +11 -0
  219. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_imported.rb +27 -0
  220. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_imported.rbi +11 -0
  221. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_taxable_amount.rb +27 -0
  222. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_taxable_amount.rbi +11 -0
  223. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_total_discount.rb +27 -0
  224. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_total_discount.rbi +11 -0
  225. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_quantity.rb +27 -0
  226. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_quantity.rbi +11 -0
  227. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_calculated.rb +27 -0
  228. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_calculated.rbi +11 -0
  229. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_imported.rb +27 -0
  230. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_imported.rbi +11 -0
  231. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_calculated.rb +27 -0
  232. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_calculated.rbi +11 -0
  233. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_imported.rb +27 -0
  234. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_imported.rbi +11 -0
  235. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_taxable_amount.rb +27 -0
  236. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_taxable_amount.rbi +11 -0
  237. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +53 -53
  238. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rbi +20 -20
  239. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_subtotal.rb +27 -0
  240. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_subtotal.rbi +11 -0
  241. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_taxable_amount.rb +27 -0
  242. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_taxable_amount.rbi +11 -0
  243. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_total_discount.rb +27 -0
  244. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_total_discount.rbi +11 -0
  245. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_calculated.rb +27 -0
  246. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_calculated.rbi +11 -0
  247. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_imported.rb +27 -0
  248. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_imported.rbi +11 -0
  249. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_taxable_amount.rb +27 -0
  250. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_taxable_amount.rbi +11 -0
  251. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +17 -7
  252. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rbi +4 -2
  253. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +20 -10
  254. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rbi +6 -4
  255. data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +51 -43
  256. data/lib/kintsugi_sdk/models/shared/transactionitemread.rbi +22 -18
  257. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +64 -62
  258. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +28 -24
  259. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_calculated.rb +27 -0
  260. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_calculated.rbi +11 -0
  261. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_imported.rb +27 -0
  262. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_imported.rbi +11 -0
  263. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_taxable_amount.rb +27 -0
  264. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_taxable_amount.rbi +11 -0
  265. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_amount.rb +27 -0
  266. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_amount.rbi +11 -0
  267. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_calculated.rb +27 -0
  268. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_calculated.rbi +11 -0
  269. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_imported.rb +27 -0
  270. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_imported.rbi +11 -0
  271. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_liability_amount.rb +27 -0
  272. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_liability_amount.rbi +11 -0
  273. data/lib/kintsugi_sdk/models/shared/transactionread.rb +89 -71
  274. data/lib/kintsugi_sdk/models/shared/transactionread.rbi +40 -28
  275. data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +1 -0
  276. data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +63 -61
  277. data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +28 -24
  278. data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_calculated.rb +27 -0
  279. data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_calculated.rbi +11 -0
  280. data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_imported.rb +27 -0
  281. data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_imported.rbi +11 -0
  282. data/lib/kintsugi_sdk/models/shared/transactionupdate_taxable_amount.rb +27 -0
  283. data/lib/kintsugi_sdk/models/shared/transactionupdate_taxable_amount.rbi +11 -0
  284. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_amount.rb +27 -0
  285. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_amount.rbi +11 -0
  286. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_calculated.rb +27 -0
  287. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_calculated.rbi +11 -0
  288. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_imported.rb +27 -0
  289. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_imported.rbi +11 -0
  290. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_liability_amount.rb +27 -0
  291. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_liability_amount.rbi +11 -0
  292. data/lib/kintsugi_sdk/models/shared/validationaddress.rb +12 -12
  293. data/lib/kintsugi_sdk/models/shared/validationaddress.rbi +4 -4
  294. data/lib/kintsugi_sdk/models/shared/validationerror.rb +11 -3
  295. data/lib/kintsugi_sdk/models/shared/validationerror.rbi +4 -0
  296. data/lib/kintsugi_sdk/models/shared.rb +73 -5
  297. data/lib/kintsugi_sdk/nexus.rb +4 -4
  298. data/lib/kintsugi_sdk/openapisdk.rb +5 -5
  299. data/lib/kintsugi_sdk/products.rb +11 -9
  300. data/lib/kintsugi_sdk/sdkconfiguration.rb +8 -8
  301. data/lib/kintsugi_sdk/taxestimation.rb +6 -6
  302. data/lib/kintsugi_sdk/transactions.rb +73 -73
  303. data/lib/kintsugi_sdk/utils/retries.rb +41 -2
  304. data/lib/kintsugi_sdk/utils/utils.rb +6 -2
  305. data/lib/kintsugi_sdk.rb +1 -1
  306. metadata +170 -16
  307. data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rbi +0 -13
  308. data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rbi +0 -13
  309. data/lib/kintsugi_sdk/models/shared/file.rb +0 -36
  310. data/lib/kintsugi_sdk/models/shared/file.rbi +0 -15
  311. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +0 -48
  312. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rbi +0 -21
@@ -18,6 +18,30 @@ class KintsugiSDK::Models::Shared::TransactionCreate
18
18
  def addresses=(str_); end
19
19
  def transaction_items(); end
20
20
  def transaction_items=(str_); end
21
+ def total_amount(); end
22
+ def total_amount=(str_); end
23
+ def total_tax_amount_imported(); end
24
+ def total_tax_amount_imported=(str_); end
25
+ def tax_rate_imported(); end
26
+ def tax_rate_imported=(str_); end
27
+ def total_tax_amount_calculated(); end
28
+ def total_tax_amount_calculated=(str_); end
29
+ def tax_rate_calculated(); end
30
+ def tax_rate_calculated=(str_); end
31
+ def total_tax_liability_amount(); end
32
+ def total_tax_liability_amount=(str_); end
33
+ def taxable_amount(); end
34
+ def taxable_amount=(str_); end
35
+ def currency(); end
36
+ def currency=(str_); end
37
+ def source(); end
38
+ def source=(str_); end
39
+ def status(); end
40
+ def status=(str_); end
41
+ def address_status(); end
42
+ def address_status=(str_); end
43
+ def processing_status(); end
44
+ def processing_status=(str_); end
21
45
  def requires_exemption(); end
22
46
  def requires_exemption=(str_); end
23
47
  def shop_date(); end
@@ -30,6 +54,8 @@ class KintsugiSDK::Models::Shared::TransactionCreate
30
54
  def refund_status=(str_); end
31
55
  def customer_id(); end
32
56
  def customer_id=(str_); end
57
+ def marketplace(); end
58
+ def marketplace=(str_); end
33
59
  def exempt(); end
34
60
  def exempt=(str_); end
35
61
  def exemptions(); end
@@ -44,10 +70,8 @@ class KintsugiSDK::Models::Shared::TransactionCreate
44
70
  def external_friendly_id=(str_); end
45
71
  def tax_liability_source(); end
46
72
  def tax_liability_source=(str_); end
47
- def currency(); end
48
- def currency=(str_); end
49
- def source(); end
50
- def source=(str_); end
73
+ def locked(); end
74
+ def locked=(str_); end
51
75
  def connection_id(); end
52
76
  def connection_id=(str_); end
53
77
  def filing_id(); end
@@ -64,12 +88,12 @@ class KintsugiSDK::Models::Shared::TransactionCreate
64
88
  def postal_code=(str_); end
65
89
  def tax_id(); end
66
90
  def tax_id=(str_); end
67
- def status(); end
68
- def status=(str_); end
69
- def address_status(); end
70
- def address_status=(str_); end
71
- def processing_status(); end
72
- def processing_status=(str_); end
91
+ def document_type(); end
92
+ def document_type=(str_); end
93
+ def created_from(); end
94
+ def created_from=(str_); end
95
+ def is_duplicate(); end
96
+ def is_duplicate=(str_); end
73
97
  def destination_currency(); end
74
98
  def destination_currency=(str_); end
75
99
  def converted_total_amount(); end
@@ -90,22 +114,4 @@ class KintsugiSDK::Models::Shared::TransactionCreate
90
114
  def converted_total_tax_liability_amount=(str_); end
91
115
  def customer(); end
92
116
  def customer=(str_); end
93
- def total_amount(); end
94
- def total_amount=(str_); end
95
- def marketplace(); end
96
- def marketplace=(str_); end
97
- def total_tax_amount_imported(); end
98
- def total_tax_amount_imported=(str_); end
99
- def tax_rate_imported(); end
100
- def tax_rate_imported=(str_); end
101
- def total_tax_amount_calculated(); end
102
- def total_tax_amount_calculated=(str_); end
103
- def tax_rate_calculated(); end
104
- def tax_rate_calculated=(str_); end
105
- def total_tax_liability_amount(); end
106
- def total_tax_liability_amount=(str_); end
107
- def taxable_amount(); end
108
- def taxable_amount=(str_); end
109
- def locked(); end
110
- def locked=(str_); end
111
117
  end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module KintsugiSDK
8
+ module Models
9
+ module Shared
10
+
11
+ class TransactionDirectionEnum < T::Enum
12
+ enums do
13
+ SALE = new('SALE')
14
+ PURCHASE = new('PURCHASE')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::TransactionDirectionEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TransactionDirectionEnum
11
+ end
@@ -25,15 +25,17 @@ module KintsugiSDK
25
25
  field :addresses, Crystalline::Array.new(Models::Shared::Addresses), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('addresses'), required: true } }
26
26
  # An optional description of the transaction.
27
27
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
28
-
28
+ # While currently not used, it may be used in the future to determine taxability. The source of the transaction (e.g., OTHER).
29
+ #
30
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
29
31
  field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
30
-
31
- field :customer, Crystalline::Nilable.new(Models::Shared::CustomerBasePublic), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer') } }
32
32
  # Indicates if the transaction involves a marketplace.
33
33
  field :marketplace, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('marketplace') } }
34
+ # Details about the customer. If the customer is not found, it will be ignored.
35
+ field :customer, Crystalline::Nilable.new(Models::Shared::CustomerBasePublic), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer') } }
34
36
 
35
- sig { params(date: ::DateTime, external_id: ::String, currency: Models::Shared::CurrencyEnum, transaction_items: T::Array[Models::Shared::TransactionItemEstimateBase], addresses: T::Array[Models::Shared::Addresses], description: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), customer: T.nilable(Models::Shared::CustomerBasePublic), marketplace: T.nilable(T::Boolean)).void }
36
- def initialize(date:, external_id:, currency:, transaction_items:, addresses:, description: nil, source: nil, customer: nil, marketplace: false)
37
+ sig { params(date: ::DateTime, external_id: ::String, currency: Models::Shared::CurrencyEnum, transaction_items: T::Array[Models::Shared::TransactionItemEstimateBase], addresses: T::Array[Models::Shared::Addresses], description: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), marketplace: T.nilable(T::Boolean), customer: T.nilable(Models::Shared::CustomerBasePublic)).void }
38
+ def initialize(date:, external_id:, currency:, transaction_items:, addresses:, description: nil, source: nil, marketplace: nil, customer: nil)
37
39
  @date = date
38
40
  @external_id = external_id
39
41
  @currency = currency
@@ -41,8 +43,8 @@ module KintsugiSDK
41
43
  @addresses = addresses
42
44
  @description = description
43
45
  @source = source
44
- @customer = customer
45
46
  @marketplace = marketplace
47
+ @customer = customer
46
48
  end
47
49
 
48
50
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -55,8 +57,8 @@ module KintsugiSDK
55
57
  return false unless @addresses == other.addresses
56
58
  return false unless @description == other.description
57
59
  return false unless @source == other.source
58
- return false unless @customer == other.customer
59
60
  return false unless @marketplace == other.marketplace
61
+ return false unless @customer == other.customer
60
62
  true
61
63
  end
62
64
  end
@@ -22,8 +22,8 @@ class KintsugiSDK::Models::Shared::TransactionEstimatePublicRequest
22
22
  def description=(str_); end
23
23
  def source(); end
24
24
  def source=(str_); end
25
- def customer(); end
26
- def customer=(str_); end
27
25
  def marketplace(); end
28
26
  def marketplace=(str_); end
27
+ def customer(); end
28
+ def customer=(str_); end
29
29
  end
@@ -20,16 +20,18 @@ module KintsugiSDK
20
20
  field :currency, Models::Shared::CurrencyEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, false) } }
21
21
 
22
22
  field :transaction_items, Crystalline::Array.new(Models::Shared::TransactionItemEstimateResponse), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transaction_items'), required: true } }
23
- # List of addresses related to the transaction. At least one BILL_TO or SHIP_TO address must be provided. The address will be validated during estimation, and the transaction may be rejected if the address does not pass validation. The SHIP_TO will be preferred to use for determining tax liability. **Deprecated:** Use of `address.status` in estimate api is ignored and will be removed in the future status will be considered UNVERIFIED by default and always validated
23
+ # List of addresses related to the transaction. At least one BILL_TO or SHIP_TO address must be provided. The address will be validated during estimation, and the transaction may be rejected if the address does not pass validation. The SHIP_TO will be preferred to use for determining tax liability. Optional per-address `status` is deprecated, accepted for backward compatibility, and ignored; estimation always validates from structured address fields.
24
24
  field :addresses, Crystalline::Array.new(Models::Shared::TransactionEstimateResponseAddresses), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('addresses'), required: true } }
25
25
  # An optional description of the transaction.
26
26
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
27
-
27
+ # While currently not used, it may be used in the future to determine taxability. The source of the transaction (e.g., OTHER).
28
+ #
29
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
28
30
  field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
29
-
30
- field :customer, Crystalline::Nilable.new(Models::Shared::CustomerBase), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer') } }
31
31
  # Indicates if the transaction involves a marketplace.
32
32
  field :marketplace, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('marketplace') } }
33
+ # Details about the customer. If the customer is not found, it will be ignored.
34
+ field :customer, Crystalline::Nilable.new(Models::Shared::CustomerBase), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer') } }
33
35
  # The total amount of tax determined for the transaction.
34
36
  field :total_tax_amount_calculated, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_tax_amount_calculated') } }
35
37
  # The taxable amount for the transaction.
@@ -43,8 +45,8 @@ module KintsugiSDK
43
45
  # Indicates if there is an active registration for the transaction.
44
46
  field :has_active_registration, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('has_active_registration') } }
45
47
 
46
- sig { params(date: ::DateTime, external_id: ::String, currency: Models::Shared::CurrencyEnum, transaction_items: T::Array[Models::Shared::TransactionItemEstimateResponse], addresses: T::Array[Models::Shared::TransactionEstimateResponseAddresses], description: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), customer: T.nilable(Models::Shared::CustomerBase), marketplace: T.nilable(T::Boolean), total_tax_amount_calculated: T.nilable(::String), taxable_amount: T.nilable(::String), tax_rate_calculated: T.nilable(::String), nexus_met: T.nilable(T::Boolean), has_active_registration: T.nilable(T::Boolean)).void }
47
- def initialize(date:, external_id:, currency:, transaction_items:, addresses:, description: nil, source: nil, customer: nil, marketplace: false, total_tax_amount_calculated: '0.00', taxable_amount: '0.00', tax_rate_calculated: '0.00', nexus_met: false, has_active_registration: false)
48
+ sig { params(date: ::DateTime, external_id: ::String, currency: Models::Shared::CurrencyEnum, transaction_items: T::Array[Models::Shared::TransactionItemEstimateResponse], addresses: T::Array[Models::Shared::TransactionEstimateResponseAddresses], description: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), marketplace: T.nilable(T::Boolean), customer: T.nilable(Models::Shared::CustomerBase), total_tax_amount_calculated: T.nilable(::String), taxable_amount: T.nilable(::String), tax_rate_calculated: T.nilable(::String), nexus_met: T.nilable(T::Boolean), has_active_registration: T.nilable(T::Boolean)).void }
49
+ def initialize(date:, external_id:, currency:, transaction_items:, addresses:, description: nil, source: nil, marketplace: nil, customer: nil, total_tax_amount_calculated: '0.00', taxable_amount: '0.00', tax_rate_calculated: '0.00', nexus_met: false, has_active_registration: false)
48
50
  @date = date
49
51
  @external_id = external_id
50
52
  @currency = currency
@@ -52,8 +54,8 @@ module KintsugiSDK
52
54
  @addresses = addresses
53
55
  @description = description
54
56
  @source = source
55
- @customer = customer
56
57
  @marketplace = marketplace
58
+ @customer = customer
57
59
  @total_tax_amount_calculated = total_tax_amount_calculated
58
60
  @taxable_amount = taxable_amount
59
61
  @tax_rate_calculated = tax_rate_calculated
@@ -71,8 +73,8 @@ module KintsugiSDK
71
73
  return false unless @addresses == other.addresses
72
74
  return false unless @description == other.description
73
75
  return false unless @source == other.source
74
- return false unless @customer == other.customer
75
76
  return false unless @marketplace == other.marketplace
77
+ return false unless @customer == other.customer
76
78
  return false unless @total_tax_amount_calculated == other.total_tax_amount_calculated
77
79
  return false unless @taxable_amount == other.taxable_amount
78
80
  return false unless @tax_rate_calculated == other.tax_rate_calculated
@@ -22,10 +22,10 @@ class KintsugiSDK::Models::Shared::TransactionEstimateResponse
22
22
  def description=(str_); end
23
23
  def source(); end
24
24
  def source=(str_); end
25
- def customer(); end
26
- def customer=(str_); end
27
25
  def marketplace(); end
28
26
  def marketplace=(str_); end
27
+ def customer(); end
28
+ def customer=(str_); end
29
29
  def total_tax_amount_calculated(); end
30
30
  def total_tax_amount_calculated=(str_); end
31
31
  def taxable_amount(); end
@@ -33,15 +33,17 @@ module KintsugiSDK
33
33
  field :county, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('county') } }
34
34
  # Complete address string of the customer, which can be used as an alternative to individual fields.
35
35
  field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
36
- # Status of the address. Deprecated and ignored.
36
+ # Deprecated: ignored on estimate. Accepted for backward compatibility; each address is validated from structured fields.
37
37
  #
38
38
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
39
39
  field :status, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status') } }
40
40
  # Additional enriched fields related to the address.
41
41
  field :enriched_fields, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('enriched_fields') } }
42
+ # If true, city-level tax rates are not applied for this address.
43
+ field :is_unincorporated, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('is_unincorporated') } }
42
44
 
43
- sig { params(type: Models::Shared::TransactionEstimateResponseType, state: ::String, postal_code: ::String, country: ::String, phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), full_address: T.nilable(::String), status: T.nilable(::String), enriched_fields: T.nilable(::String)).void }
44
- def initialize(type:, state:, postal_code:, country:, phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, full_address: nil, status: nil, enriched_fields: nil)
45
+ sig { params(type: Models::Shared::TransactionEstimateResponseType, state: ::String, postal_code: ::String, country: ::String, phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), full_address: T.nilable(::String), status: T.nilable(::String), enriched_fields: T.nilable(::String), is_unincorporated: T.nilable(T::Boolean)).void }
46
+ def initialize(type:, state:, postal_code:, country:, phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, full_address: nil, status: nil, enriched_fields: nil, is_unincorporated: false)
45
47
  @type = type
46
48
  @state = state
47
49
  @postal_code = postal_code
@@ -54,6 +56,7 @@ module KintsugiSDK
54
56
  @full_address = full_address
55
57
  @status = status
56
58
  @enriched_fields = enriched_fields
59
+ @is_unincorporated = is_unincorporated
57
60
  end
58
61
 
59
62
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -71,6 +74,7 @@ module KintsugiSDK
71
74
  return false unless @full_address == other.full_address
72
75
  return false unless @status == other.status
73
76
  return false unless @enriched_fields == other.enriched_fields
77
+ return false unless @is_unincorporated == other.is_unincorporated
74
78
  true
75
79
  end
76
80
  end
@@ -32,4 +32,6 @@ class KintsugiSDK::Models::Shared::TransactionEstimateResponseAddresses
32
32
  def status=(str_); end
33
33
  def enriched_fields(); end
34
34
  def enriched_fields=(str_); end
35
+ def is_unincorporated(); end
36
+ def is_unincorporated=(str_); end
35
37
  end
@@ -0,0 +1,104 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module KintsugiSDK
8
+ module Models
9
+ module Shared
10
+
11
+ class TransactionImportCustomer
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
17
+ # Phone number associated with the address.
18
+ field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('phone') } }
19
+ # Primary street address.
20
+ field :street_1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('street_1') } }
21
+ # Additional street address details, such as an apartment or suite number.
22
+ field :street_2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('street_2') } }
23
+ # City where the customer resides.
24
+ field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('city') } }
25
+ # County or district of the customer.
26
+ field :county, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('county') } }
27
+ # State or province of the customer.
28
+ field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state') } }
29
+ # ZIP or Postal code of the customer.
30
+ field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
31
+ # Country code in ISO 3166-1 alpha-2 format
32
+ field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
33
+ # Complete address string of the customer, which can be used as an alternative to individual fields.
34
+ field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
35
+
36
+ field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
37
+
38
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name') } }
39
+
40
+ field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
41
+
42
+ field :company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('company_name') } }
43
+
44
+ field :organization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id') } }
45
+
46
+ field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
47
+
48
+ field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
49
+
50
+ field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
51
+
52
+ field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
53
+
54
+ sig { params(address_status: T.nilable(Models::Shared::AddressStatus), phone: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), postal_code: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), full_address: T.nilable(::String), external_id: T.nilable(::String), name: T.nilable(::String), email: T.nilable(::String), company_name: T.nilable(::String), organization_id: T.nilable(::String), connection_id: T.nilable(::String), source: T.nilable(Models::Shared::SourceEnum), registration_number: T.nilable(::String), external_friendly_id: T.nilable(::String)).void }
55
+ def initialize(address_status: nil, phone: nil, street_1: nil, street_2: nil, city: nil, county: nil, state: nil, postal_code: nil, country: nil, full_address: nil, external_id: nil, name: nil, email: nil, company_name: nil, organization_id: nil, connection_id: nil, source: nil, registration_number: nil, external_friendly_id: nil)
56
+ @address_status = address_status
57
+ @phone = phone
58
+ @street_1 = street_1
59
+ @street_2 = street_2
60
+ @city = city
61
+ @county = county
62
+ @state = state
63
+ @postal_code = postal_code
64
+ @country = country
65
+ @full_address = full_address
66
+ @external_id = external_id
67
+ @name = name
68
+ @email = email
69
+ @company_name = company_name
70
+ @organization_id = organization_id
71
+ @connection_id = connection_id
72
+ @source = source
73
+ @registration_number = registration_number
74
+ @external_friendly_id = external_friendly_id
75
+ end
76
+
77
+ sig { params(other: T.untyped).returns(T::Boolean) }
78
+ def ==(other)
79
+ return false unless other.is_a? self.class
80
+ return false unless @address_status == other.address_status
81
+ return false unless @phone == other.phone
82
+ return false unless @street_1 == other.street_1
83
+ return false unless @street_2 == other.street_2
84
+ return false unless @city == other.city
85
+ return false unless @county == other.county
86
+ return false unless @state == other.state
87
+ return false unless @postal_code == other.postal_code
88
+ return false unless @country == other.country
89
+ return false unless @full_address == other.full_address
90
+ return false unless @external_id == other.external_id
91
+ return false unless @name == other.name
92
+ return false unless @email == other.email
93
+ return false unless @company_name == other.company_name
94
+ return false unless @organization_id == other.organization_id
95
+ return false unless @connection_id == other.connection_id
96
+ return false unless @source == other.source
97
+ return false unless @registration_number == other.registration_number
98
+ return false unless @external_friendly_id == other.external_friendly_id
99
+ true
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,49 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::TransactionImportCustomer
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::TransactionImportCustomer
11
+ def address_status(); end
12
+ def address_status=(str_); end
13
+ def phone(); end
14
+ def phone=(str_); end
15
+ def street_1(); end
16
+ def street_1=(str_); end
17
+ def street_2(); end
18
+ def street_2=(str_); end
19
+ def city(); end
20
+ def city=(str_); end
21
+ def county(); end
22
+ def county=(str_); end
23
+ def state(); end
24
+ def state=(str_); end
25
+ def postal_code(); end
26
+ def postal_code=(str_); end
27
+ def country(); end
28
+ def country=(str_); end
29
+ def full_address(); end
30
+ def full_address=(str_); end
31
+ def external_id(); end
32
+ def external_id=(str_); end
33
+ def name(); end
34
+ def name=(str_); end
35
+ def email(); end
36
+ def email=(str_); end
37
+ def company_name(); end
38
+ def company_name=(str_); end
39
+ def organization_id(); end
40
+ def organization_id=(str_); end
41
+ def connection_id(); end
42
+ def connection_id=(str_); end
43
+ def source(); end
44
+ def source=(str_); end
45
+ def registration_number(); end
46
+ def registration_number=(str_); end
47
+ def external_friendly_id(); end
48
+ def external_friendly_id=(str_); end
49
+ end
@@ -12,14 +12,30 @@ module KintsugiSDK
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Unique identifier of the organization. This field is deprecated, and should no longer be used. The value is populated through the 'x-organization-id' header.
16
- #
17
- # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
18
- field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
19
15
  # Date/time of item.
20
16
  field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
21
17
  # External product identifier.
22
18
  field :external_product_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_product_id'), required: true } }
19
+ # Unique identifier of the organization. This field is deprecated, and should no longer be used. The value is populated through the 'x-organization-id' header.
20
+ #
21
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
22
+ field :organization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
23
+ # Quantity of item.
24
+ field :quantity, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('quantity') } }
25
+ # Item amount.
26
+ field :amount, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount') } }
27
+ # Imported tax amount for the item.
28
+ field :tax_amount_imported, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_amount_imported') } }
29
+ # Imported tax rate.
30
+ field :tax_rate_imported, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_rate_imported') } }
31
+ # Calculated tax amount for the item.
32
+ field :tax_amount_calculated, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_amount_calculated') } }
33
+ # Calculated tax rate.
34
+ field :tax_rate_calculated, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_rate_calculated') } }
35
+ # Taxable amount for the item.
36
+ field :taxable_amount, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('taxable_amount') } }
37
+
38
+ field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemBuilder)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
23
39
  # External item identifier.
24
40
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
25
41
  # Item description
@@ -32,50 +48,42 @@ module KintsugiSDK
32
48
  field :product_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_name') } }
33
49
  # Product description
34
50
  field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
35
-
51
+ # Original currency code.
36
52
  field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
37
-
53
+ # Destination currency code.
38
54
  field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
39
55
  # Converted item amount.
40
- field :converted_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
56
+ field :converted_amount, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
41
57
  # Converted taxable amount.
42
- field :converted_taxable_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_taxable_amount') } }
58
+ field :converted_taxable_amount, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_taxable_amount') } }
43
59
  # Converted imported tax amount.
44
- field :converted_tax_amount_imported, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_tax_amount_imported') } }
60
+ field :converted_tax_amount_imported, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_tax_amount_imported') } }
45
61
  # Converted calculated tax amount
46
- field :converted_tax_amount_calculated, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_tax_amount_calculated') } }
62
+ field :converted_tax_amount_calculated, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_tax_amount_calculated') } }
47
63
  # Converted total discount amount.
48
- field :converted_total_discount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_total_discount') } }
64
+ field :converted_total_discount, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_total_discount') } }
49
65
  # Converted subtotal amount.
50
- field :converted_subtotal, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
51
- # This enum is used to determine if a transaction is exempt from tax.
66
+ field :converted_subtotal, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
67
+ # Tax exemption status.
52
68
  field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
53
-
54
- field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemBuilder)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
55
-
56
- field :discount_builder, Crystalline::Nilable.new(Models::Shared::DiscountBuilder), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('discount_builder') } }
57
- # Quantity of item.
58
- field :quantity, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('quantity') } }
59
- # Item amount.
60
- field :amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount') } }
61
- # Imported tax amount for the item.
62
- field :tax_amount_imported, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_amount_imported') } }
63
- # Imported tax rate.
64
- field :tax_rate_imported, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_rate_imported') } }
65
- # Calculated tax amount for the item.
66
- field :tax_amount_calculated, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_amount_calculated') } }
67
- # Calculated tax rate.
68
- field :tax_rate_calculated, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_rate_calculated') } }
69
- # Taxable amount for the item.
70
- field :taxable_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('taxable_amount') } }
71
69
  # Indicates if the item is exempt.
72
70
  field :exempt, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt') } }
73
71
 
74
- sig { params(organization_id: ::String, date: ::DateTime, external_product_id: ::String, external_id: T.nilable(::String), description: T.nilable(::String), product: T.nilable(::String), product_id: T.nilable(::String), product_name: T.nilable(::String), product_description: T.nilable(::String), original_currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_amount: T.nilable(::Float), converted_taxable_amount: T.nilable(::Float), converted_tax_amount_imported: T.nilable(::Float), converted_tax_amount_calculated: T.nilable(::Float), converted_total_discount: T.nilable(::Float), converted_subtotal: T.nilable(::Float), tax_exemption: T.nilable(Models::Shared::TaxExemptionEnum), tax_items: T.nilable(T::Array[Models::Shared::TaxItemBuilder]), discount_builder: T.nilable(Models::Shared::DiscountBuilder), quantity: T.nilable(::Float), amount: T.nilable(::Float), tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), taxable_amount: T.nilable(::Float), exempt: T.nilable(T::Boolean)).void }
75
- def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.0, tax_amount_imported: 0.0, tax_rate_imported: 0.0, tax_amount_calculated: 0.0, tax_rate_calculated: 0.0, taxable_amount: 0.0, exempt: false)
76
- @organization_id = organization_id
72
+ field :discount_builder, Crystalline::Nilable.new(Models::Shared::DiscountBuilder), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('discount_builder') } }
73
+
74
+ sig { params(date: ::DateTime, external_product_id: ::String, organization_id: T.nilable(::String), quantity: T.nilable(T.any(::Float, ::String)), amount: T.nilable(T.any(::Float, ::String)), tax_amount_imported: T.nilable(T.any(::Float, ::String)), tax_rate_imported: T.nilable(T.any(::Float, ::String)), tax_amount_calculated: T.nilable(T.any(::Float, ::String)), tax_rate_calculated: T.nilable(T.any(::Float, ::String)), taxable_amount: T.nilable(T.any(::Float, ::String)), tax_items: T.nilable(T::Array[Models::Shared::TaxItemBuilder]), external_id: T.nilable(::String), description: T.nilable(::String), product: T.nilable(::String), product_id: T.nilable(::String), product_name: T.nilable(::String), product_description: T.nilable(::String), original_currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_amount: T.nilable(T.any(::Float, ::String)), converted_taxable_amount: T.nilable(T.any(::Float, ::String)), converted_tax_amount_imported: T.nilable(T.any(::Float, ::String)), converted_tax_amount_calculated: T.nilable(T.any(::Float, ::String)), converted_total_discount: T.nilable(T.any(::Float, ::String)), converted_subtotal: T.nilable(T.any(::Float, ::String)), tax_exemption: T.nilable(Models::Shared::TaxExemptionEnum), exempt: T.nilable(T::Boolean), discount_builder: T.nilable(Models::Shared::DiscountBuilder)).void }
75
+ def initialize(date:, external_product_id:, organization_id: nil, quantity: nil, amount: nil, tax_amount_imported: nil, tax_rate_imported: nil, tax_amount_calculated: nil, tax_rate_calculated: nil, taxable_amount: nil, tax_items: nil, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, exempt: false, discount_builder: nil)
77
76
  @date = date
78
77
  @external_product_id = external_product_id
78
+ @organization_id = organization_id
79
+ @quantity = quantity
80
+ @amount = amount
81
+ @tax_amount_imported = tax_amount_imported
82
+ @tax_rate_imported = tax_rate_imported
83
+ @tax_amount_calculated = tax_amount_calculated
84
+ @tax_rate_calculated = tax_rate_calculated
85
+ @taxable_amount = taxable_amount
86
+ @tax_items = tax_items
79
87
  @external_id = external_id
80
88
  @description = description
81
89
  @product = product
@@ -91,24 +99,24 @@ module KintsugiSDK
91
99
  @converted_total_discount = converted_total_discount
92
100
  @converted_subtotal = converted_subtotal
93
101
  @tax_exemption = tax_exemption
94
- @tax_items = tax_items
95
- @discount_builder = discount_builder
96
- @quantity = quantity
97
- @amount = amount
98
- @tax_amount_imported = tax_amount_imported
99
- @tax_rate_imported = tax_rate_imported
100
- @tax_amount_calculated = tax_amount_calculated
101
- @tax_rate_calculated = tax_rate_calculated
102
- @taxable_amount = taxable_amount
103
102
  @exempt = exempt
103
+ @discount_builder = discount_builder
104
104
  end
105
105
 
106
106
  sig { params(other: T.untyped).returns(T::Boolean) }
107
107
  def ==(other)
108
108
  return false unless other.is_a? self.class
109
- return false unless @organization_id == other.organization_id
110
109
  return false unless @date == other.date
111
110
  return false unless @external_product_id == other.external_product_id
111
+ return false unless @organization_id == other.organization_id
112
+ return false unless @quantity == other.quantity
113
+ return false unless @amount == other.amount
114
+ return false unless @tax_amount_imported == other.tax_amount_imported
115
+ return false unless @tax_rate_imported == other.tax_rate_imported
116
+ return false unless @tax_amount_calculated == other.tax_amount_calculated
117
+ return false unless @tax_rate_calculated == other.tax_rate_calculated
118
+ return false unless @taxable_amount == other.taxable_amount
119
+ return false unless @tax_items == other.tax_items
112
120
  return false unless @external_id == other.external_id
113
121
  return false unless @description == other.description
114
122
  return false unless @product == other.product
@@ -124,16 +132,8 @@ module KintsugiSDK
124
132
  return false unless @converted_total_discount == other.converted_total_discount
125
133
  return false unless @converted_subtotal == other.converted_subtotal
126
134
  return false unless @tax_exemption == other.tax_exemption
127
- return false unless @tax_items == other.tax_items
128
- return false unless @discount_builder == other.discount_builder
129
- return false unless @quantity == other.quantity
130
- return false unless @amount == other.amount
131
- return false unless @tax_amount_imported == other.tax_amount_imported
132
- return false unless @tax_rate_imported == other.tax_rate_imported
133
- return false unless @tax_amount_calculated == other.tax_amount_calculated
134
- return false unless @tax_rate_calculated == other.tax_rate_calculated
135
- return false unless @taxable_amount == other.taxable_amount
136
135
  return false unless @exempt == other.exempt
136
+ return false unless @discount_builder == other.discount_builder
137
137
  true
138
138
  end
139
139
  end