modern_treasury 0.1.0.pre.alpha.22 → 0.1.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 (295) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/README.md +1 -1
  4. data/lib/modern_treasury/client.rb +0 -12
  5. data/lib/modern_treasury/internal/transport/base_client.rb +1 -1
  6. data/lib/modern_treasury/internal/type/base_model.rb +4 -4
  7. data/lib/modern_treasury/models/accounting.rb +30 -0
  8. data/lib/modern_treasury/models/address.rb +94 -0
  9. data/lib/modern_treasury/models/address_request.rb +54 -0
  10. data/lib/modern_treasury/models/bulk_request_create_params.rb +144 -1505
  11. data/lib/modern_treasury/models/child_legal_entity_create.rb +275 -0
  12. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +10 -627
  13. data/lib/modern_treasury/models/contact_detail.rb +81 -0
  14. data/lib/modern_treasury/models/contact_detail_create_request.rb +34 -0
  15. data/lib/modern_treasury/models/counterparty.rb +24 -177
  16. data/lib/modern_treasury/models/counterparty_create_params.rb +37 -838
  17. data/lib/modern_treasury/models/counterparty_list_params.rb +9 -1
  18. data/lib/modern_treasury/models/document.rb +4 -6
  19. data/lib/modern_treasury/models/document_create_params.rb +0 -2
  20. data/lib/modern_treasury/models/document_list_params.rb +4 -6
  21. data/lib/modern_treasury/models/expected_payment.rb +9 -1
  22. data/lib/modern_treasury/models/expected_payment_create_params.rb +12 -230
  23. data/lib/modern_treasury/models/expected_payment_list_params.rb +8 -1
  24. data/lib/modern_treasury/models/expected_payment_update_params.rb +9 -1
  25. data/lib/modern_treasury/models/external_account.rb +15 -177
  26. data/lib/modern_treasury/models/external_account_create_params.rb +18 -210
  27. data/lib/modern_treasury/models/external_account_list_params.rb +9 -1
  28. data/lib/modern_treasury/models/external_account_update_params.rb +3 -52
  29. data/lib/modern_treasury/models/foreign_exchange_quote.rb +3 -73
  30. data/lib/modern_treasury/models/foreign_exchange_rate.rb +71 -0
  31. data/lib/modern_treasury/models/identification_create_request.rb +86 -0
  32. data/lib/modern_treasury/models/internal_account.rb +3 -95
  33. data/lib/modern_treasury/models/internal_account_update_account_capability_params.rb +34 -0
  34. data/lib/modern_treasury/models/internal_account_update_account_capability_response.rb +131 -0
  35. data/lib/modern_treasury/models/invoice.rb +3 -81
  36. data/lib/modern_treasury/models/invoice_create_params.rb +3 -83
  37. data/lib/modern_treasury/models/invoice_update_params.rb +3 -83
  38. data/lib/modern_treasury/models/ledger_account.rb +9 -141
  39. data/lib/modern_treasury/models/ledger_account_balance_monitor.rb +3 -182
  40. data/lib/modern_treasury/models/ledger_account_category.rb +3 -175
  41. data/lib/modern_treasury/models/ledger_account_category_list_params.rb +9 -5
  42. data/lib/modern_treasury/models/ledger_account_category_retrieve_params.rb +4 -2
  43. data/lib/modern_treasury/models/ledger_account_create_params.rb +2 -105
  44. data/lib/modern_treasury/models/ledger_account_create_request.rb +113 -0
  45. data/lib/modern_treasury/models/ledger_account_statement_create_response.rb +6 -360
  46. data/lib/modern_treasury/models/ledger_account_statement_retrieve_response.rb +6 -360
  47. data/lib/modern_treasury/models/ledger_balance.rb +45 -0
  48. data/lib/modern_treasury/models/ledger_balances.rb +38 -0
  49. data/lib/modern_treasury/models/ledger_entry.rb +3 -183
  50. data/lib/modern_treasury/models/ledger_entry_create_request.rb +98 -0
  51. data/lib/modern_treasury/models/ledger_entry_list_params.rb +48 -8
  52. data/lib/modern_treasury/models/ledger_transaction.rb +14 -6
  53. data/lib/modern_treasury/models/ledger_transaction_create_params.rb +2 -212
  54. data/lib/modern_treasury/models/ledger_transaction_create_request.rb +123 -0
  55. data/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rb +0 -1
  56. data/lib/modern_treasury/models/ledger_transaction_list_params.rb +44 -7
  57. data/lib/modern_treasury/models/ledger_transaction_update_params.rb +5 -104
  58. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +15 -193
  59. data/lib/modern_treasury/models/legal_entity_address_create_request.rb +78 -0
  60. data/lib/modern_treasury/models/legal_entity_association.rb +1 -0
  61. data/lib/modern_treasury/models/legal_entity_association_create_params.rb +4 -448
  62. data/lib/modern_treasury/models/legal_entity_create_params.rb +10 -618
  63. data/lib/modern_treasury/models/legal_entity_update_params.rb +6 -165
  64. data/lib/modern_treasury/models/line_item.rb +3 -29
  65. data/lib/modern_treasury/models/payment_action_list_params.rb +1 -0
  66. data/lib/modern_treasury/models/payment_order.rb +13 -102
  67. data/lib/modern_treasury/models/payment_order_create_async_params.rb +24 -477
  68. data/lib/modern_treasury/models/payment_order_create_params.rb +24 -479
  69. data/lib/modern_treasury/models/payment_order_update_params.rb +21 -248
  70. data/lib/modern_treasury/models/payment_orders/reversal_create_params.rb +3 -232
  71. data/lib/modern_treasury/models/payment_reference.rb +7 -1
  72. data/lib/modern_treasury/models/return_list_params.rb +5 -6
  73. data/lib/modern_treasury/models/return_object.rb +7 -3
  74. data/lib/modern_treasury/models/routing_detail.rb +3 -93
  75. data/lib/modern_treasury/models/routing_number_lookup_request.rb +3 -55
  76. data/lib/modern_treasury/models/transaction.rb +5 -73
  77. data/lib/modern_treasury/models/transactions/transaction_line_item.rb +0 -1
  78. data/lib/modern_treasury/models/virtual_account_create_params.rb +3 -117
  79. data/lib/modern_treasury/models.rb +31 -6
  80. data/lib/modern_treasury/resources/bulk_requests.rb +1 -1
  81. data/lib/modern_treasury/resources/counterparties.rb +20 -14
  82. data/lib/modern_treasury/resources/expected_payments.rb +10 -4
  83. data/lib/modern_treasury/resources/external_accounts.rb +23 -17
  84. data/lib/modern_treasury/resources/internal_accounts.rb +34 -0
  85. data/lib/modern_treasury/resources/invoices.rb +2 -2
  86. data/lib/modern_treasury/resources/ledger_account_categories.rb +1 -1
  87. data/lib/modern_treasury/resources/ledger_accounts.rb +1 -1
  88. data/lib/modern_treasury/resources/ledger_entries.rb +1 -1
  89. data/lib/modern_treasury/resources/ledger_transactions.rb +5 -5
  90. data/lib/modern_treasury/resources/legal_entities.rb +4 -4
  91. data/lib/modern_treasury/resources/legal_entity_associations.rb +1 -1
  92. data/lib/modern_treasury/resources/payment_orders/reversals.rb +1 -1
  93. data/lib/modern_treasury/resources/payment_orders.rb +5 -5
  94. data/lib/modern_treasury/resources/returns.rb +1 -1
  95. data/lib/modern_treasury/resources/virtual_accounts.rb +1 -1
  96. data/lib/modern_treasury/version.rb +1 -1
  97. data/lib/modern_treasury.rb +16 -6
  98. data/rbi/modern_treasury/client.rbi +0 -9
  99. data/rbi/modern_treasury/internal/transport/base_client.rbi +1 -1
  100. data/rbi/modern_treasury/models/accounting.rbi +48 -0
  101. data/rbi/modern_treasury/models/address.rbi +107 -0
  102. data/rbi/modern_treasury/models/address_request.rbi +76 -0
  103. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +701 -3140
  104. data/rbi/modern_treasury/models/child_legal_entity_create.rbi +511 -0
  105. data/rbi/modern_treasury/models/connection_legal_entity_create_params.rbi +17 -1314
  106. data/rbi/modern_treasury/models/contact_detail.rbi +124 -0
  107. data/rbi/modern_treasury/models/contact_detail_create_request.rbi +99 -0
  108. data/rbi/modern_treasury/models/counterparty.rbi +24 -264
  109. data/rbi/modern_treasury/models/counterparty_create_params.rbi +47 -1718
  110. data/rbi/modern_treasury/models/counterparty_list_params.rbi +11 -0
  111. data/rbi/modern_treasury/models/document.rbi +6 -16
  112. data/rbi/modern_treasury/models/document_create_params.rbi +0 -10
  113. data/rbi/modern_treasury/models/document_list_params.rbi +6 -16
  114. data/rbi/modern_treasury/models/expected_payment.rbi +8 -0
  115. data/rbi/modern_treasury/models/expected_payment_create_params.rbi +12 -419
  116. data/rbi/modern_treasury/models/expected_payment_list_params.rbi +9 -0
  117. data/rbi/modern_treasury/models/expected_payment_update_params.rbi +8 -0
  118. data/rbi/modern_treasury/models/external_account.rbi +15 -244
  119. data/rbi/modern_treasury/models/external_account_create_params.rbi +20 -400
  120. data/rbi/modern_treasury/models/external_account_list_params.rbi +11 -0
  121. data/rbi/modern_treasury/models/external_account_update_params.rbi +4 -86
  122. data/rbi/modern_treasury/models/foreign_exchange_quote.rbi +4 -99
  123. data/rbi/modern_treasury/models/foreign_exchange_rate.rbi +96 -0
  124. data/rbi/modern_treasury/models/identification_create_request.rbi +212 -0
  125. data/rbi/modern_treasury/models/internal_account.rbi +4 -115
  126. data/rbi/modern_treasury/models/internal_account_update_account_capability_params.rbi +54 -0
  127. data/rbi/modern_treasury/models/internal_account_update_account_capability_response.rbi +304 -0
  128. data/rbi/modern_treasury/models/invoice.rbi +3 -128
  129. data/rbi/modern_treasury/models/invoice_create_params.rbi +4 -139
  130. data/rbi/modern_treasury/models/invoice_update_params.rbi +4 -139
  131. data/rbi/modern_treasury/models/ledger_account.rbi +12 -218
  132. data/rbi/modern_treasury/models/ledger_account_balance_monitor.rbi +4 -303
  133. data/rbi/modern_treasury/models/ledger_account_category.rbi +4 -301
  134. data/rbi/modern_treasury/models/ledger_account_category_list_params.rbi +14 -7
  135. data/rbi/modern_treasury/models/ledger_account_category_retrieve_params.rbi +6 -3
  136. data/rbi/modern_treasury/models/ledger_account_create_params.rbi +5 -173
  137. data/rbi/modern_treasury/models/ledger_account_create_request.rbi +194 -0
  138. data/rbi/modern_treasury/models/ledger_account_statement_create_response.rbi +8 -612
  139. data/rbi/modern_treasury/models/ledger_account_statement_retrieve_response.rbi +8 -612
  140. data/rbi/modern_treasury/models/ledger_balance.rbi +66 -0
  141. data/rbi/modern_treasury/models/ledger_balances.rbi +75 -0
  142. data/rbi/modern_treasury/models/ledger_entry.rbi +4 -309
  143. data/rbi/modern_treasury/models/ledger_entry_create_request.rbi +137 -0
  144. data/rbi/modern_treasury/models/ledger_entry_list_params.rbi +99 -16
  145. data/rbi/modern_treasury/models/ledger_transaction.rbi +17 -11
  146. data/rbi/modern_treasury/models/ledger_transaction_create_params.rbi +5 -383
  147. data/rbi/modern_treasury/models/ledger_transaction_create_request.rbi +258 -0
  148. data/rbi/modern_treasury/models/ledger_transaction_create_reversal_params.rbi +0 -5
  149. data/rbi/modern_treasury/models/ledger_transaction_list_params.rbi +93 -18
  150. data/rbi/modern_treasury/models/ledger_transaction_update_params.rbi +7 -158
  151. data/rbi/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +18 -316
  152. data/rbi/modern_treasury/models/legal_entity_address_create_request.rbi +157 -0
  153. data/rbi/modern_treasury/models/legal_entity_association.rbi +5 -0
  154. data/rbi/modern_treasury/models/legal_entity_association_create_params.rbi +9 -917
  155. data/rbi/modern_treasury/models/legal_entity_create_params.rbi +17 -1297
  156. data/rbi/modern_treasury/models/legal_entity_update_params.rbi +8 -378
  157. data/rbi/modern_treasury/models/line_item.rbi +4 -52
  158. data/rbi/modern_treasury/models/payment_action_list_params.rbi +5 -0
  159. data/rbi/modern_treasury/models/payment_order.rbi +43 -159
  160. data/rbi/modern_treasury/models/payment_order_create_async_params.rbi +28 -882
  161. data/rbi/modern_treasury/models/payment_order_create_params.rbi +28 -887
  162. data/rbi/modern_treasury/models/payment_order_update_params.rbi +24 -460
  163. data/rbi/modern_treasury/models/payment_orders/reversal_create_params.rbi +4 -415
  164. data/rbi/modern_treasury/models/payment_reference.rbi +35 -5
  165. data/rbi/modern_treasury/models/return_list_params.rbi +6 -11
  166. data/rbi/modern_treasury/models/return_object.rbi +35 -12
  167. data/rbi/modern_treasury/models/routing_detail.rbi +4 -113
  168. data/rbi/modern_treasury/models/routing_number_lookup_request.rbi +4 -87
  169. data/rbi/modern_treasury/models/transaction.rbi +14 -103
  170. data/rbi/modern_treasury/models/transactions/transaction_line_item.rbi +0 -5
  171. data/rbi/modern_treasury/models/virtual_account_create_params.rbi +4 -203
  172. data/rbi/modern_treasury/models.rbi +36 -6
  173. data/rbi/modern_treasury/resources/bulk_requests.rbi +2 -2
  174. data/rbi/modern_treasury/resources/counterparties.rbi +20 -12
  175. data/rbi/modern_treasury/resources/documents.rbi +2 -2
  176. data/rbi/modern_treasury/resources/expected_payments.rbi +9 -1
  177. data/rbi/modern_treasury/resources/external_accounts.rbi +29 -22
  178. data/rbi/modern_treasury/resources/internal_accounts.rbi +24 -0
  179. data/rbi/modern_treasury/resources/invoices.rbi +2 -8
  180. data/rbi/modern_treasury/resources/ledger_account_categories.rbi +7 -3
  181. data/rbi/modern_treasury/resources/ledger_accounts.rbi +1 -1
  182. data/rbi/modern_treasury/resources/ledger_entries.rbi +9 -2
  183. data/rbi/modern_treasury/resources/ledger_transactions.rbi +13 -13
  184. data/rbi/modern_treasury/resources/legal_entities.rbi +4 -8
  185. data/rbi/modern_treasury/resources/legal_entity_associations.rbi +1 -2
  186. data/rbi/modern_treasury/resources/payment_orders/reversals.rbi +1 -1
  187. data/rbi/modern_treasury/resources/payment_orders.rbi +5 -8
  188. data/rbi/modern_treasury/resources/returns.rbi +2 -2
  189. data/rbi/modern_treasury/resources/virtual_accounts.rbi +1 -2
  190. data/sig/modern_treasury/client.rbs +0 -6
  191. data/sig/modern_treasury/internal/transport/base_client.rbs +1 -1
  192. data/sig/modern_treasury/models/accounting.rbs +15 -0
  193. data/sig/modern_treasury/models/address.rbs +70 -0
  194. data/sig/modern_treasury/models/address_request.rbs +45 -0
  195. data/sig/modern_treasury/models/bulk_request_create_params.rbs +88 -1089
  196. data/sig/modern_treasury/models/child_legal_entity_create.rbs +220 -0
  197. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +21 -548
  198. data/sig/modern_treasury/models/contact_detail.rbs +67 -0
  199. data/sig/modern_treasury/models/contact_detail_create_request.rbs +43 -0
  200. data/sig/modern_treasury/models/counterparty.rbs +20 -141
  201. data/sig/modern_treasury/models/counterparty_create_params.rbs +49 -737
  202. data/sig/modern_treasury/models/counterparty_list_params.rbs +7 -0
  203. data/sig/modern_treasury/models/document.rbs +0 -4
  204. data/sig/modern_treasury/models/document_create_params.rbs +0 -4
  205. data/sig/modern_treasury/models/document_list_params.rbs +0 -4
  206. data/sig/modern_treasury/models/expected_payment.rbs +5 -0
  207. data/sig/modern_treasury/models/expected_payment_create_params.rbs +11 -173
  208. data/sig/modern_treasury/models/expected_payment_list_params.rbs +7 -0
  209. data/sig/modern_treasury/models/expected_payment_update_params.rbs +5 -0
  210. data/sig/modern_treasury/models/external_account.rbs +13 -139
  211. data/sig/modern_treasury/models/external_account_create_params.rbs +23 -189
  212. data/sig/modern_treasury/models/external_account_list_params.rbs +7 -0
  213. data/sig/modern_treasury/models/external_account_update_params.rbs +6 -48
  214. data/sig/modern_treasury/models/foreign_exchange_quote.rbs +4 -51
  215. data/sig/modern_treasury/models/foreign_exchange_rate.rbs +50 -0
  216. data/sig/modern_treasury/models/identification_create_request.rbs +93 -0
  217. data/sig/modern_treasury/models/internal_account.rbs +4 -71
  218. data/sig/modern_treasury/models/internal_account_update_account_capability_params.rbs +28 -0
  219. data/sig/modern_treasury/models/internal_account_update_account_capability_response.rbs +137 -0
  220. data/sig/modern_treasury/models/invoice.rbs +4 -68
  221. data/sig/modern_treasury/models/invoice_create_params.rbs +6 -70
  222. data/sig/modern_treasury/models/invoice_update_params.rbs +6 -70
  223. data/sig/modern_treasury/models/ledger_account.rbs +12 -123
  224. data/sig/modern_treasury/models/ledger_account_balance_monitor.rbs +4 -142
  225. data/sig/modern_treasury/models/ledger_account_category.rbs +4 -142
  226. data/sig/modern_treasury/models/ledger_account_category_list_params.rbs +5 -5
  227. data/sig/modern_treasury/models/ledger_account_create_params.rbs +4 -84
  228. data/sig/modern_treasury/models/ledger_account_create_request.rbs +89 -0
  229. data/sig/modern_treasury/models/ledger_account_statement_create_response.rbs +8 -284
  230. data/sig/modern_treasury/models/ledger_account_statement_retrieve_response.rbs +8 -284
  231. data/sig/modern_treasury/models/ledger_balance.rbs +40 -0
  232. data/sig/modern_treasury/models/ledger_balances.rbs +30 -0
  233. data/sig/modern_treasury/models/ledger_entry.rbs +4 -142
  234. data/sig/modern_treasury/models/ledger_entry_create_request.rbs +62 -0
  235. data/sig/modern_treasury/models/ledger_entry_list_params.rbs +21 -3
  236. data/sig/modern_treasury/models/ledger_transaction.rbs +5 -2
  237. data/sig/modern_treasury/models/ledger_transaction_create_params.rbs +4 -165
  238. data/sig/modern_treasury/models/ledger_transaction_create_request.rbs +109 -0
  239. data/sig/modern_treasury/models/ledger_transaction_create_reversal_params.rbs +0 -2
  240. data/sig/modern_treasury/models/ledger_transaction_list_params.rbs +21 -5
  241. data/sig/modern_treasury/models/ledger_transaction_update_params.rbs +6 -67
  242. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +9 -144
  243. data/sig/modern_treasury/models/legal_entity_address_create_request.rbs +68 -0
  244. data/sig/modern_treasury/models/legal_entity_association.rbs +3 -1
  245. data/sig/modern_treasury/models/legal_entity_association_create_params.rbs +9 -380
  246. data/sig/modern_treasury/models/legal_entity_create_params.rbs +21 -548
  247. data/sig/modern_treasury/models/legal_entity_update_params.rbs +12 -168
  248. data/sig/modern_treasury/models/line_item.rbs +4 -16
  249. data/sig/modern_treasury/models/payment_action_list_params.rbs +2 -1
  250. data/sig/modern_treasury/models/payment_order.rbs +22 -69
  251. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +35 -380
  252. data/sig/modern_treasury/models/payment_order_create_params.rbs +35 -384
  253. data/sig/modern_treasury/models/payment_order_update_params.rbs +29 -207
  254. data/sig/modern_treasury/models/payment_orders/reversal_create_params.rbs +6 -173
  255. data/sig/modern_treasury/models/payment_reference.rbs +14 -2
  256. data/sig/modern_treasury/models/return_list_params.rbs +1 -6
  257. data/sig/modern_treasury/models/return_object.rbs +15 -10
  258. data/sig/modern_treasury/models/routing_detail.rbs +4 -71
  259. data/sig/modern_treasury/models/routing_number_lookup_request.rbs +6 -48
  260. data/sig/modern_treasury/models/transaction.rbs +8 -53
  261. data/sig/modern_treasury/models/transactions/transaction_line_item.rbs +0 -2
  262. data/sig/modern_treasury/models/virtual_account_create_params.rbs +6 -95
  263. data/sig/modern_treasury/models.rbs +30 -6
  264. data/sig/modern_treasury/resources/counterparties.rbs +2 -0
  265. data/sig/modern_treasury/resources/expected_payments.rbs +4 -1
  266. data/sig/modern_treasury/resources/external_accounts.rbs +6 -4
  267. data/sig/modern_treasury/resources/internal_accounts.rbs +7 -0
  268. data/sig/modern_treasury/resources/invoices.rbs +2 -2
  269. data/sig/modern_treasury/resources/ledger_account_categories.rbs +1 -1
  270. data/sig/modern_treasury/resources/ledger_accounts.rbs +1 -1
  271. data/sig/modern_treasury/resources/ledger_transactions.rbs +4 -4
  272. data/sig/modern_treasury/resources/legal_entities.rbs +4 -4
  273. data/sig/modern_treasury/resources/legal_entity_associations.rbs +1 -1
  274. data/sig/modern_treasury/resources/payment_orders/reversals.rbs +1 -1
  275. data/sig/modern_treasury/resources/payment_orders.rbs +5 -5
  276. data/sig/modern_treasury/resources/virtual_accounts.rbs +1 -1
  277. metadata +52 -22
  278. data/lib/modern_treasury/models/paper_item.rb +0 -178
  279. data/lib/modern_treasury/models/paper_item_list_params.rb +0 -56
  280. data/lib/modern_treasury/models/paper_item_retrieve_params.rb +0 -14
  281. data/lib/modern_treasury/resources/ledger_event_handlers.rb +0 -14
  282. data/lib/modern_treasury/resources/ledgerable_events.rb +0 -14
  283. data/lib/modern_treasury/resources/paper_items.rb +0 -68
  284. data/rbi/modern_treasury/models/paper_item.rbi +0 -204
  285. data/rbi/modern_treasury/models/paper_item_list_params.rbi +0 -88
  286. data/rbi/modern_treasury/models/paper_item_retrieve_params.rbi +0 -32
  287. data/rbi/modern_treasury/resources/ledger_event_handlers.rbi +0 -12
  288. data/rbi/modern_treasury/resources/ledgerable_events.rbi +0 -12
  289. data/rbi/modern_treasury/resources/paper_items.rbi +0 -51
  290. data/sig/modern_treasury/models/paper_item.rbs +0 -122
  291. data/sig/modern_treasury/models/paper_item_list_params.rbs +0 -54
  292. data/sig/modern_treasury/models/paper_item_retrieve_params.rbs +0 -15
  293. data/sig/modern_treasury/resources/ledger_event_handlers.rbs +0 -7
  294. data/sig/modern_treasury/resources/ledgerable_events.rbs +0 -7
  295. data/sig/modern_treasury/resources/paper_items.rbs +0 -21
@@ -34,8 +34,8 @@ module ModernTreasury
34
34
  T.any(
35
35
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest,
36
36
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest,
37
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest,
38
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest,
37
+ ModernTreasury::LedgerTransactionCreateRequest,
38
+ ModernTreasury::LedgerAccountCreateRequest,
39
39
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest,
40
40
  ModernTreasury::BulkRequestCreateParams::Resource::ID,
41
41
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID,
@@ -67,8 +67,8 @@ module ModernTreasury
67
67
  T.any(
68
68
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::OrHash,
69
69
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::OrHash,
70
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::OrHash,
71
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::OrHash,
70
+ ModernTreasury::LedgerTransactionCreateRequest::OrHash,
71
+ ModernTreasury::LedgerAccountCreateRequest::OrHash,
72
72
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest::OrHash,
73
73
  ModernTreasury::BulkRequestCreateParams::Resource::ID::OrHash,
74
74
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::OrHash,
@@ -108,8 +108,8 @@ module ModernTreasury
108
108
  T.any(
109
109
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest,
110
110
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest,
111
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest,
112
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest,
111
+ ModernTreasury::LedgerTransactionCreateRequest,
112
+ ModernTreasury::LedgerAccountCreateRequest,
113
113
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest,
114
114
  ModernTreasury::BulkRequestCreateParams::Resource::ID,
115
115
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID,
@@ -228,8 +228,8 @@ module ModernTreasury
228
228
  T.any(
229
229
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest,
230
230
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest,
231
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest,
232
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest,
231
+ ModernTreasury::LedgerTransactionCreateRequest,
232
+ ModernTreasury::LedgerAccountCreateRequest,
233
233
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest,
234
234
  ModernTreasury::BulkRequestCreateParams::Resource::ID,
235
235
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID,
@@ -274,21 +274,10 @@ module ModernTreasury
274
274
  sig { returns(ModernTreasury::PaymentOrderType::OrSymbol) }
275
275
  attr_accessor :type
276
276
 
277
- sig do
278
- returns(
279
- T.nilable(
280
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting
281
- )
282
- )
283
- end
277
+ sig { returns(T.nilable(ModernTreasury::Accounting)) }
284
278
  attr_reader :accounting
285
279
 
286
- sig do
287
- params(
288
- accounting:
289
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting::OrHash
290
- ).void
291
- end
280
+ sig { params(accounting: ModernTreasury::Accounting::OrHash).void }
292
281
  attr_writer :accounting
293
282
 
294
283
  # The ID of one of your accounting categories. Note that these will only be
@@ -379,18 +368,14 @@ module ModernTreasury
379
368
  # creation will fail. The resulting ledger transaction will mirror the status of
380
369
  # the payment order.
381
370
  sig do
382
- returns(
383
- T.nilable(
384
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction
385
- )
386
- )
371
+ returns(T.nilable(ModernTreasury::LedgerTransactionCreateRequest))
387
372
  end
388
373
  attr_reader :ledger_transaction
389
374
 
390
375
  sig do
391
376
  params(
392
377
  ledger_transaction:
393
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::OrHash
378
+ ModernTreasury::LedgerTransactionCreateRequest::OrHash
394
379
  ).void
395
380
  end
396
381
  attr_writer :ledger_transaction
@@ -573,8 +558,7 @@ module ModernTreasury
573
558
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Direction::OrSymbol,
574
559
  originating_account_id: String,
575
560
  type: ModernTreasury::PaymentOrderType::OrSymbol,
576
- accounting:
577
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting::OrHash,
561
+ accounting: ModernTreasury::Accounting::OrHash,
578
562
  accounting_category_id: T.nilable(String),
579
563
  accounting_ledger_class_id: T.nilable(String),
580
564
  charge_bearer:
@@ -593,7 +577,7 @@ module ModernTreasury
593
577
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ForeignExchangeIndicator::OrSymbol
594
578
  ),
595
579
  ledger_transaction:
596
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::OrHash,
580
+ ModernTreasury::LedgerTransactionCreateRequest::OrHash,
597
581
  ledger_transaction_id: String,
598
582
  line_items:
599
583
  T::Array[
@@ -753,8 +737,7 @@ module ModernTreasury
753
737
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Direction::OrSymbol,
754
738
  originating_account_id: String,
755
739
  type: ModernTreasury::PaymentOrderType::OrSymbol,
756
- accounting:
757
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting,
740
+ accounting: ModernTreasury::Accounting,
758
741
  accounting_category_id: T.nilable(String),
759
742
  accounting_ledger_class_id: T.nilable(String),
760
743
  charge_bearer:
@@ -773,7 +756,7 @@ module ModernTreasury
773
756
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ForeignExchangeIndicator::OrSymbol
774
757
  ),
775
758
  ledger_transaction:
776
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction,
759
+ ModernTreasury::LedgerTransactionCreateRequest,
777
760
  ledger_transaction_id: String,
778
761
  line_items:
779
762
  T::Array[
@@ -843,52 +826,6 @@ module ModernTreasury
843
826
  end
844
827
  end
845
828
 
846
- class Accounting < ModernTreasury::Internal::Type::BaseModel
847
- OrHash =
848
- T.type_alias do
849
- T.any(
850
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting,
851
- ModernTreasury::Internal::AnyHash
852
- )
853
- end
854
-
855
- # The ID of one of your accounting categories. Note that these will only be
856
- # accessible if your accounting system has been connected.
857
- sig { returns(T.nilable(String)) }
858
- attr_accessor :account_id
859
-
860
- # The ID of one of the class objects in your accounting system. Class objects
861
- # track segments of your business independent of client or project. Note that
862
- # these will only be accessible if your accounting system has been connected.
863
- sig { returns(T.nilable(String)) }
864
- attr_accessor :class_id
865
-
866
- sig do
867
- params(
868
- account_id: T.nilable(String),
869
- class_id: T.nilable(String)
870
- ).returns(T.attached_class)
871
- end
872
- def self.new(
873
- # The ID of one of your accounting categories. Note that these will only be
874
- # accessible if your accounting system has been connected.
875
- account_id: nil,
876
- # The ID of one of the class objects in your accounting system. Class objects
877
- # track segments of your business independent of client or project. Note that
878
- # these will only be accessible if your accounting system has been connected.
879
- class_id: nil
880
- )
881
- end
882
-
883
- sig do
884
- override.returns(
885
- { account_id: T.nilable(String), class_id: T.nilable(String) }
886
- )
887
- end
888
- def to_hash
889
- end
890
- end
891
-
892
829
  # The party that will pay the fees for the payment order. See
893
830
  # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
894
831
  # differences between the options.
@@ -1000,81 +937,28 @@ module ModernTreasury
1000
937
  end
1001
938
  end
1002
939
 
1003
- class LedgerTransaction < ModernTreasury::Internal::Type::BaseModel
940
+ class LineItem < ModernTreasury::Internal::Type::BaseModel
1004
941
  OrHash =
1005
942
  T.type_alias do
1006
943
  T.any(
1007
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction,
944
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LineItem,
1008
945
  ModernTreasury::Internal::AnyHash
1009
946
  )
1010
947
  end
1011
948
 
1012
- # An array of ledger entry objects.
1013
- sig do
1014
- returns(
1015
- T::Array[
1016
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerEntry
1017
- ]
1018
- )
1019
- end
1020
- attr_accessor :ledger_entries
1021
-
1022
- # An optional description for internal use.
1023
- sig { returns(T.nilable(String)) }
1024
- attr_accessor :description
1025
-
1026
- # The timestamp (ISO8601 format) at which the ledger transaction happened for
1027
- # reporting purposes.
1028
- sig { returns(T.nilable(Time)) }
1029
- attr_reader :effective_at
1030
-
1031
- sig { params(effective_at: Time).void }
1032
- attr_writer :effective_at
1033
-
1034
- # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
1035
- # purposes.
1036
- sig { returns(T.nilable(Date)) }
1037
- attr_reader :effective_date
1038
-
1039
- sig { params(effective_date: Date).void }
1040
- attr_writer :effective_date
949
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
950
+ # as 1000.
951
+ sig { returns(Integer) }
952
+ attr_accessor :amount
1041
953
 
1042
- # A unique string to represent the ledger transaction. Only one pending or posted
1043
- # ledger transaction may have this ID in the ledger.
954
+ # The ID of one of your accounting categories. Note that these will only be
955
+ # accessible if your accounting system has been connected.
1044
956
  sig { returns(T.nilable(String)) }
1045
- attr_reader :external_id
1046
-
1047
- sig { params(external_id: String).void }
1048
- attr_writer :external_id
957
+ attr_accessor :accounting_category_id
1049
958
 
1050
- # If the ledger transaction can be reconciled to another object in Modern
1051
- # Treasury, the id will be populated here, otherwise null.
959
+ # A free-form description of the line item.
1052
960
  sig { returns(T.nilable(String)) }
1053
- attr_reader :ledgerable_id
1054
-
1055
- sig { params(ledgerable_id: String).void }
1056
- attr_writer :ledgerable_id
1057
-
1058
- # If the ledger transaction can be reconciled to another object in Modern
1059
- # Treasury, the type will be populated here, otherwise null. This can be one of
1060
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
1061
- # reversal.
1062
- sig do
1063
- returns(
1064
- T.nilable(
1065
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::OrSymbol
1066
- )
1067
- )
1068
- end
1069
- attr_reader :ledgerable_type
1070
-
1071
- sig do
1072
- params(
1073
- ledgerable_type:
1074
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::OrSymbol
1075
- ).void
1076
- end
1077
- attr_writer :ledgerable_type
961
+ attr_accessor :description
1078
962
 
1079
963
  # Additional data represented as key-value pairs. Both the key and value must be
1080
964
  # strings.
@@ -1084,466 +968,109 @@ module ModernTreasury
1084
968
  sig { params(metadata: T::Hash[Symbol, String]).void }
1085
969
  attr_writer :metadata
1086
970
 
1087
- # To post a ledger transaction at creation, use `posted`.
1088
- sig do
1089
- returns(
1090
- T.nilable(
1091
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status::OrSymbol
1092
- )
1093
- )
1094
- end
1095
- attr_reader :status
1096
-
1097
- sig do
1098
- params(
1099
- status:
1100
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status::OrSymbol
1101
- ).void
1102
- end
1103
- attr_writer :status
1104
-
1105
- # Specifies a ledger transaction object that will be created with the payment
1106
- # order. If the ledger transaction cannot be created, then the payment order
1107
- # creation will fail. The resulting ledger transaction will mirror the status of
1108
- # the payment order.
1109
971
  sig do
1110
972
  params(
1111
- ledger_entries:
1112
- T::Array[
1113
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerEntry::OrHash
1114
- ],
973
+ amount: Integer,
974
+ accounting_category_id: T.nilable(String),
1115
975
  description: T.nilable(String),
1116
- effective_at: Time,
1117
- effective_date: Date,
1118
- external_id: String,
1119
- ledgerable_id: String,
1120
- ledgerable_type:
1121
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::OrSymbol,
1122
- metadata: T::Hash[Symbol, String],
1123
- status:
1124
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status::OrSymbol
976
+ metadata: T::Hash[Symbol, String]
1125
977
  ).returns(T.attached_class)
1126
978
  end
1127
979
  def self.new(
1128
- # An array of ledger entry objects.
1129
- ledger_entries:,
1130
- # An optional description for internal use.
980
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
981
+ # as 1000.
982
+ amount:,
983
+ # The ID of one of your accounting categories. Note that these will only be
984
+ # accessible if your accounting system has been connected.
985
+ accounting_category_id: nil,
986
+ # A free-form description of the line item.
1131
987
  description: nil,
1132
- # The timestamp (ISO8601 format) at which the ledger transaction happened for
1133
- # reporting purposes.
1134
- effective_at: nil,
1135
- # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
1136
- # purposes.
1137
- effective_date: nil,
1138
- # A unique string to represent the ledger transaction. Only one pending or posted
1139
- # ledger transaction may have this ID in the ledger.
1140
- external_id: nil,
1141
- # If the ledger transaction can be reconciled to another object in Modern
1142
- # Treasury, the id will be populated here, otherwise null.
1143
- ledgerable_id: nil,
1144
- # If the ledger transaction can be reconciled to another object in Modern
1145
- # Treasury, the type will be populated here, otherwise null. This can be one of
1146
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
1147
- # reversal.
1148
- ledgerable_type: nil,
1149
988
  # Additional data represented as key-value pairs. Both the key and value must be
1150
989
  # strings.
1151
- metadata: nil,
1152
- # To post a ledger transaction at creation, use `posted`.
1153
- status: nil
990
+ metadata: nil
1154
991
  )
1155
992
  end
1156
993
 
1157
994
  sig do
1158
995
  override.returns(
1159
996
  {
1160
- ledger_entries:
1161
- T::Array[
1162
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerEntry
1163
- ],
997
+ amount: Integer,
998
+ accounting_category_id: T.nilable(String),
1164
999
  description: T.nilable(String),
1165
- effective_at: Time,
1166
- effective_date: Date,
1167
- external_id: String,
1168
- ledgerable_id: String,
1169
- ledgerable_type:
1170
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::OrSymbol,
1171
- metadata: T::Hash[Symbol, String],
1172
- status:
1173
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status::OrSymbol
1000
+ metadata: T::Hash[Symbol, String]
1174
1001
  }
1175
1002
  )
1176
1003
  end
1177
1004
  def to_hash
1178
1005
  end
1006
+ end
1179
1007
 
1180
- class LedgerEntry < ModernTreasury::Internal::Type::BaseModel
1181
- OrHash =
1182
- T.type_alias do
1183
- T.any(
1184
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerEntry,
1185
- ModernTreasury::Internal::AnyHash
1186
- )
1187
- end
1188
-
1189
- # Value in specified currency's smallest unit. e.g. $10 would be represented
1190
- # as 1000. Can be any integer up to 36 digits.
1191
- sig { returns(Integer) }
1192
- attr_accessor :amount
1193
-
1194
- # One of `credit`, `debit`. Describes the direction money is flowing in the
1195
- # transaction. A `credit` moves money from your account to someone else's. A
1196
- # `debit` pulls money from someone else's account to your own. Note that wire,
1197
- # rtp, and check payments will always be `credit`.
1198
- sig { returns(ModernTreasury::TransactionDirection::OrSymbol) }
1199
- attr_accessor :direction
1200
-
1201
- # The ledger account that this ledger entry is associated with.
1202
- sig { returns(String) }
1203
- attr_accessor :ledger_account_id
1204
-
1205
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
1206
- # account’s available balance. If any of these conditions would be false after the
1207
- # transaction is created, the entire call will fail with error code 422.
1208
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
1209
- attr_accessor :available_balance_amount
1210
-
1211
- # Lock version of the ledger account. This can be passed when creating a ledger
1212
- # transaction to only succeed if no ledger transactions have posted since the
1213
- # given version. See our post about Designing the Ledgers API with Optimistic
1214
- # Locking for more details.
1215
- sig { returns(T.nilable(Integer)) }
1216
- attr_accessor :lock_version
1217
-
1218
- # Additional data represented as key-value pairs. Both the key and value must be
1219
- # strings.
1220
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1221
- attr_reader :metadata
1222
-
1223
- sig { params(metadata: T::Hash[Symbol, String]).void }
1224
- attr_writer :metadata
1225
-
1226
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
1227
- # account’s pending balance. If any of these conditions would be false after the
1228
- # transaction is created, the entire call will fail with error code 422.
1229
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
1230
- attr_accessor :pending_balance_amount
1231
-
1232
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
1233
- # account’s posted balance. If any of these conditions would be false after the
1234
- # transaction is created, the entire call will fail with error code 422.
1235
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
1236
- attr_accessor :posted_balance_amount
1237
-
1238
- # If true, response will include the balance of the associated ledger account for
1239
- # the entry.
1240
- sig { returns(T.nilable(T::Boolean)) }
1241
- attr_accessor :show_resulting_ledger_account_balances
1242
-
1243
- sig do
1244
- params(
1245
- amount: Integer,
1246
- direction: ModernTreasury::TransactionDirection::OrSymbol,
1247
- ledger_account_id: String,
1248
- available_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
1249
- lock_version: T.nilable(Integer),
1250
- metadata: T::Hash[Symbol, String],
1251
- pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
1252
- posted_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
1253
- show_resulting_ledger_account_balances: T.nilable(T::Boolean)
1254
- ).returns(T.attached_class)
1255
- end
1256
- def self.new(
1257
- # Value in specified currency's smallest unit. e.g. $10 would be represented
1258
- # as 1000. Can be any integer up to 36 digits.
1259
- amount:,
1260
- # One of `credit`, `debit`. Describes the direction money is flowing in the
1261
- # transaction. A `credit` moves money from your account to someone else's. A
1262
- # `debit` pulls money from someone else's account to your own. Note that wire,
1263
- # rtp, and check payments will always be `credit`.
1264
- direction:,
1265
- # The ledger account that this ledger entry is associated with.
1266
- ledger_account_id:,
1267
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
1268
- # account’s available balance. If any of these conditions would be false after the
1269
- # transaction is created, the entire call will fail with error code 422.
1270
- available_balance_amount: nil,
1271
- # Lock version of the ledger account. This can be passed when creating a ledger
1272
- # transaction to only succeed if no ledger transactions have posted since the
1273
- # given version. See our post about Designing the Ledgers API with Optimistic
1274
- # Locking for more details.
1275
- lock_version: nil,
1276
- # Additional data represented as key-value pairs. Both the key and value must be
1277
- # strings.
1278
- metadata: nil,
1279
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
1280
- # account’s pending balance. If any of these conditions would be false after the
1281
- # transaction is created, the entire call will fail with error code 422.
1282
- pending_balance_amount: nil,
1283
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
1284
- # account’s posted balance. If any of these conditions would be false after the
1285
- # transaction is created, the entire call will fail with error code 422.
1286
- posted_balance_amount: nil,
1287
- # If true, response will include the balance of the associated ledger account for
1288
- # the entry.
1289
- show_resulting_ledger_account_balances: nil
1290
- )
1291
- end
1008
+ # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
1009
+ # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
1010
+ # an overnight check rather than standard mail.
1011
+ module Priority
1012
+ extend ModernTreasury::Internal::Type::Enum
1292
1013
 
1293
- sig do
1294
- override.returns(
1295
- {
1296
- amount: Integer,
1297
- direction: ModernTreasury::TransactionDirection::OrSymbol,
1298
- ledger_account_id: String,
1299
- available_balance_amount:
1300
- T.nilable(T::Hash[Symbol, Integer]),
1301
- lock_version: T.nilable(Integer),
1302
- metadata: T::Hash[Symbol, String],
1303
- pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
1304
- posted_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
1305
- show_resulting_ledger_account_balances:
1306
- T.nilable(T::Boolean)
1307
- }
1014
+ TaggedSymbol =
1015
+ T.type_alias do
1016
+ T.all(
1017
+ Symbol,
1018
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority
1308
1019
  )
1309
1020
  end
1310
- def to_hash
1311
- end
1312
- end
1021
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1313
1022
 
1314
- # If the ledger transaction can be reconciled to another object in Modern
1315
- # Treasury, the type will be populated here, otherwise null. This can be one of
1316
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
1317
- # reversal.
1318
- module LedgerableType
1319
- extend ModernTreasury::Internal::Type::Enum
1023
+ HIGH =
1024
+ T.let(
1025
+ :high,
1026
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority::TaggedSymbol
1027
+ )
1028
+ NORMAL =
1029
+ T.let(
1030
+ :normal,
1031
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority::TaggedSymbol
1032
+ )
1320
1033
 
1321
- TaggedSymbol =
1322
- T.type_alias do
1323
- T.all(
1324
- Symbol,
1325
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType
1326
- )
1327
- end
1328
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1034
+ sig do
1035
+ override.returns(
1036
+ T::Array[
1037
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority::TaggedSymbol
1038
+ ]
1039
+ )
1040
+ end
1041
+ def self.values
1042
+ end
1043
+ end
1329
1044
 
1330
- EXPECTED_PAYMENT =
1331
- T.let(
1332
- :expected_payment,
1333
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
1334
- )
1335
- INCOMING_PAYMENT_DETAIL =
1336
- T.let(
1337
- :incoming_payment_detail,
1338
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
1339
- )
1340
- PAPER_ITEM =
1341
- T.let(
1342
- :paper_item,
1343
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
1344
- )
1345
- PAYMENT_ORDER =
1346
- T.let(
1347
- :payment_order,
1348
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
1349
- )
1350
- RETURN =
1351
- T.let(
1352
- :return,
1353
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
1354
- )
1355
- REVERSAL =
1356
- T.let(
1357
- :reversal,
1358
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
1045
+ class ReceivingAccount < ModernTreasury::Internal::Type::BaseModel
1046
+ OrHash =
1047
+ T.type_alias do
1048
+ T.any(
1049
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount,
1050
+ ModernTreasury::Internal::AnyHash
1359
1051
  )
1052
+ end
1360
1053
 
1361
- sig do
1362
- override.returns(
1054
+ sig do
1055
+ returns(
1056
+ T.nilable(
1363
1057
  T::Array[
1364
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
1058
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail
1365
1059
  ]
1366
1060
  )
1367
- end
1368
- def self.values
1369
- end
1061
+ )
1370
1062
  end
1063
+ attr_reader :account_details
1371
1064
 
1372
- # To post a ledger transaction at creation, use `posted`.
1373
- module Status
1374
- extend ModernTreasury::Internal::Type::Enum
1375
-
1376
- TaggedSymbol =
1377
- T.type_alias do
1378
- T.all(
1379
- Symbol,
1380
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status
1381
- )
1382
- end
1383
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1384
-
1385
- ARCHIVED =
1386
- T.let(
1387
- :archived,
1388
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status::TaggedSymbol
1389
- )
1390
- PENDING =
1391
- T.let(
1392
- :pending,
1393
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status::TaggedSymbol
1394
- )
1395
- POSTED =
1396
- T.let(
1397
- :posted,
1398
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status::TaggedSymbol
1399
- )
1400
-
1401
- sig do
1402
- override.returns(
1403
- T::Array[
1404
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status::TaggedSymbol
1405
- ]
1406
- )
1407
- end
1408
- def self.values
1409
- end
1410
- end
1411
- end
1412
-
1413
- class LineItem < ModernTreasury::Internal::Type::BaseModel
1414
- OrHash =
1415
- T.type_alias do
1416
- T.any(
1417
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LineItem,
1418
- ModernTreasury::Internal::AnyHash
1419
- )
1420
- end
1421
-
1422
- # Value in specified currency's smallest unit. e.g. $10 would be represented
1423
- # as 1000.
1424
- sig { returns(Integer) }
1425
- attr_accessor :amount
1426
-
1427
- # The ID of one of your accounting categories. Note that these will only be
1428
- # accessible if your accounting system has been connected.
1429
- sig { returns(T.nilable(String)) }
1430
- attr_accessor :accounting_category_id
1431
-
1432
- # A free-form description of the line item.
1433
- sig { returns(T.nilable(String)) }
1434
- attr_accessor :description
1435
-
1436
- # Additional data represented as key-value pairs. Both the key and value must be
1437
- # strings.
1438
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1439
- attr_reader :metadata
1440
-
1441
- sig { params(metadata: T::Hash[Symbol, String]).void }
1442
- attr_writer :metadata
1443
-
1444
- sig do
1445
- params(
1446
- amount: Integer,
1447
- accounting_category_id: T.nilable(String),
1448
- description: T.nilable(String),
1449
- metadata: T::Hash[Symbol, String]
1450
- ).returns(T.attached_class)
1451
- end
1452
- def self.new(
1453
- # Value in specified currency's smallest unit. e.g. $10 would be represented
1454
- # as 1000.
1455
- amount:,
1456
- # The ID of one of your accounting categories. Note that these will only be
1457
- # accessible if your accounting system has been connected.
1458
- accounting_category_id: nil,
1459
- # A free-form description of the line item.
1460
- description: nil,
1461
- # Additional data represented as key-value pairs. Both the key and value must be
1462
- # strings.
1463
- metadata: nil
1464
- )
1465
- end
1466
-
1467
- sig do
1468
- override.returns(
1469
- {
1470
- amount: Integer,
1471
- accounting_category_id: T.nilable(String),
1472
- description: T.nilable(String),
1473
- metadata: T::Hash[Symbol, String]
1474
- }
1475
- )
1476
- end
1477
- def to_hash
1478
- end
1479
- end
1480
-
1481
- # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
1482
- # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
1483
- # an overnight check rather than standard mail.
1484
- module Priority
1485
- extend ModernTreasury::Internal::Type::Enum
1486
-
1487
- TaggedSymbol =
1488
- T.type_alias do
1489
- T.all(
1490
- Symbol,
1491
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority
1492
- )
1493
- end
1494
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1495
-
1496
- HIGH =
1497
- T.let(
1498
- :high,
1499
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority::TaggedSymbol
1500
- )
1501
- NORMAL =
1502
- T.let(
1503
- :normal,
1504
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority::TaggedSymbol
1505
- )
1506
-
1507
- sig do
1508
- override.returns(
1509
- T::Array[
1510
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority::TaggedSymbol
1511
- ]
1512
- )
1513
- end
1514
- def self.values
1515
- end
1516
- end
1517
-
1518
- class ReceivingAccount < ModernTreasury::Internal::Type::BaseModel
1519
- OrHash =
1520
- T.type_alias do
1521
- T.any(
1522
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount,
1523
- ModernTreasury::Internal::AnyHash
1524
- )
1525
- end
1526
-
1527
- sig do
1528
- returns(
1529
- T.nilable(
1530
- T::Array[
1531
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail
1532
- ]
1533
- )
1534
- )
1535
- end
1536
- attr_reader :account_details
1537
-
1538
- sig do
1539
- params(
1540
- account_details:
1541
- T::Array[
1542
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::OrHash
1543
- ]
1544
- ).void
1545
- end
1546
- attr_writer :account_details
1065
+ sig do
1066
+ params(
1067
+ account_details:
1068
+ T::Array[
1069
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::OrHash
1070
+ ]
1071
+ ).void
1072
+ end
1073
+ attr_writer :account_details
1547
1074
 
1548
1075
  # Can be `checking`, `savings` or `other`.
1549
1076
  sig do
@@ -1560,11 +1087,7 @@ module ModernTreasury
1560
1087
 
1561
1088
  sig do
1562
1089
  returns(
1563
- T.nilable(
1564
- T::Array[
1565
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail
1566
- ]
1567
- )
1090
+ T.nilable(T::Array[ModernTreasury::ContactDetailCreateRequest])
1568
1091
  )
1569
1092
  end
1570
1093
  attr_reader :contact_details
@@ -1572,31 +1095,29 @@ module ModernTreasury
1572
1095
  sig do
1573
1096
  params(
1574
1097
  contact_details:
1575
- T::Array[
1576
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::OrHash
1577
- ]
1098
+ T::Array[ModernTreasury::ContactDetailCreateRequest::OrHash]
1578
1099
  ).void
1579
1100
  end
1580
1101
  attr_writer :contact_details
1581
1102
 
1103
+ # An optional user-defined 180 character unique identifier.
1104
+ sig { returns(T.nilable(String)) }
1105
+ attr_accessor :external_id
1106
+
1582
1107
  # Specifies a ledger account object that will be created with the external
1583
1108
  # account. The resulting ledger account is linked to the external account for
1584
1109
  # auto-ledgering Payment objects. See
1585
1110
  # https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects
1586
1111
  # for more details.
1587
1112
  sig do
1588
- returns(
1589
- T.nilable(
1590
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount
1591
- )
1592
- )
1113
+ returns(T.nilable(ModernTreasury::LedgerAccountCreateRequest))
1593
1114
  end
1594
1115
  attr_reader :ledger_account
1595
1116
 
1596
1117
  sig do
1597
1118
  params(
1598
1119
  ledger_account:
1599
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::OrHash
1120
+ ModernTreasury::LedgerAccountCreateRequest::OrHash
1600
1121
  ).void
1601
1122
  end
1602
1123
  attr_writer :ledger_account
@@ -1615,20 +1136,11 @@ module ModernTreasury
1615
1136
  attr_accessor :name
1616
1137
 
1617
1138
  # Required if receiving wire payments.
1618
- sig do
1619
- returns(
1620
- T.nilable(
1621
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress
1622
- )
1623
- )
1624
- end
1139
+ sig { returns(T.nilable(ModernTreasury::AddressRequest)) }
1625
1140
  attr_reader :party_address
1626
1141
 
1627
1142
  sig do
1628
- params(
1629
- party_address:
1630
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress::OrHash
1631
- ).void
1143
+ params(party_address: ModernTreasury::AddressRequest::OrHash).void
1632
1144
  end
1633
1145
  attr_writer :party_address
1634
1146
 
@@ -1695,15 +1207,13 @@ module ModernTreasury
1695
1207
  ],
1696
1208
  account_type: ModernTreasury::ExternalAccountType::OrSymbol,
1697
1209
  contact_details:
1698
- T::Array[
1699
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::OrHash
1700
- ],
1210
+ T::Array[ModernTreasury::ContactDetailCreateRequest::OrHash],
1211
+ external_id: T.nilable(String),
1701
1212
  ledger_account:
1702
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::OrHash,
1213
+ ModernTreasury::LedgerAccountCreateRequest::OrHash,
1703
1214
  metadata: T::Hash[Symbol, String],
1704
1215
  name: T.nilable(String),
1705
- party_address:
1706
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress::OrHash,
1216
+ party_address: ModernTreasury::AddressRequest::OrHash,
1707
1217
  party_identifier: String,
1708
1218
  party_name: String,
1709
1219
  party_type:
@@ -1722,6 +1232,8 @@ module ModernTreasury
1722
1232
  # Can be `checking`, `savings` or `other`.
1723
1233
  account_type: nil,
1724
1234
  contact_details: nil,
1235
+ # An optional user-defined 180 character unique identifier.
1236
+ external_id: nil,
1725
1237
  # Specifies a ledger account object that will be created with the external
1726
1238
  # account. The resulting ledger account is linked to the external account for
1727
1239
  # auto-ledgering Payment objects. See
@@ -1757,15 +1269,12 @@ module ModernTreasury
1757
1269
  ],
1758
1270
  account_type: ModernTreasury::ExternalAccountType::OrSymbol,
1759
1271
  contact_details:
1760
- T::Array[
1761
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail
1762
- ],
1763
- ledger_account:
1764
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount,
1272
+ T::Array[ModernTreasury::ContactDetailCreateRequest],
1273
+ external_id: T.nilable(String),
1274
+ ledger_account: ModernTreasury::LedgerAccountCreateRequest,
1765
1275
  metadata: T::Hash[Symbol, String],
1766
1276
  name: T.nilable(String),
1767
- party_address:
1768
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress,
1277
+ party_address: ModernTreasury::AddressRequest,
1769
1278
  party_identifier: String,
1770
1279
  party_name: String,
1771
1280
  party_type:
@@ -1929,652 +1438,287 @@ module ModernTreasury
1929
1438
  end
1930
1439
  end
1931
1440
 
1932
- class ContactDetail < ModernTreasury::Internal::Type::BaseModel
1441
+ # Either `individual` or `business`.
1442
+ module PartyType
1443
+ extend ModernTreasury::Internal::Type::Enum
1444
+
1445
+ TaggedSymbol =
1446
+ T.type_alias do
1447
+ T.all(
1448
+ Symbol,
1449
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType
1450
+ )
1451
+ end
1452
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1453
+
1454
+ BUSINESS =
1455
+ T.let(
1456
+ :business,
1457
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType::TaggedSymbol
1458
+ )
1459
+ INDIVIDUAL =
1460
+ T.let(
1461
+ :individual,
1462
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType::TaggedSymbol
1463
+ )
1464
+
1465
+ sig do
1466
+ override.returns(
1467
+ T::Array[
1468
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType::TaggedSymbol
1469
+ ]
1470
+ )
1471
+ end
1472
+ def self.values
1473
+ end
1474
+ end
1475
+
1476
+ class RoutingDetail < ModernTreasury::Internal::Type::BaseModel
1933
1477
  OrHash =
1934
1478
  T.type_alias do
1935
1479
  T.any(
1936
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail,
1480
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail,
1937
1481
  ModernTreasury::Internal::AnyHash
1938
1482
  )
1939
1483
  end
1940
1484
 
1941
- sig { returns(T.nilable(String)) }
1942
- attr_reader :contact_identifier
1485
+ sig { returns(String) }
1486
+ attr_accessor :routing_number
1943
1487
 
1944
- sig { params(contact_identifier: String).void }
1945
- attr_writer :contact_identifier
1488
+ sig do
1489
+ returns(
1490
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::OrSymbol
1491
+ )
1492
+ end
1493
+ attr_accessor :routing_number_type
1946
1494
 
1947
1495
  sig do
1948
1496
  returns(
1949
1497
  T.nilable(
1950
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType::OrSymbol
1498
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::OrSymbol
1951
1499
  )
1952
1500
  )
1953
1501
  end
1954
- attr_reader :contact_identifier_type
1502
+ attr_reader :payment_type
1955
1503
 
1956
1504
  sig do
1957
1505
  params(
1958
- contact_identifier_type:
1959
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType::OrSymbol
1506
+ payment_type:
1507
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::OrSymbol
1960
1508
  ).void
1961
1509
  end
1962
- attr_writer :contact_identifier_type
1510
+ attr_writer :payment_type
1963
1511
 
1964
1512
  sig do
1965
1513
  params(
1966
- contact_identifier: String,
1967
- contact_identifier_type:
1968
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType::OrSymbol
1514
+ routing_number: String,
1515
+ routing_number_type:
1516
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::OrSymbol,
1517
+ payment_type:
1518
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::OrSymbol
1969
1519
  ).returns(T.attached_class)
1970
1520
  end
1971
1521
  def self.new(
1972
- contact_identifier: nil,
1973
- contact_identifier_type: nil
1522
+ routing_number:,
1523
+ routing_number_type:,
1524
+ payment_type: nil
1974
1525
  )
1975
1526
  end
1976
1527
 
1977
1528
  sig do
1978
1529
  override.returns(
1979
1530
  {
1980
- contact_identifier: String,
1981
- contact_identifier_type:
1982
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType::OrSymbol
1531
+ routing_number: String,
1532
+ routing_number_type:
1533
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::OrSymbol,
1534
+ payment_type:
1535
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::OrSymbol
1983
1536
  }
1984
1537
  )
1985
1538
  end
1986
1539
  def to_hash
1987
1540
  end
1988
1541
 
1989
- module ContactIdentifierType
1542
+ module RoutingNumberType
1990
1543
  extend ModernTreasury::Internal::Type::Enum
1991
1544
 
1992
1545
  TaggedSymbol =
1993
1546
  T.type_alias do
1994
1547
  T.all(
1995
1548
  Symbol,
1996
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType
1549
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType
1997
1550
  )
1998
1551
  end
1999
1552
  OrSymbol = T.type_alias { T.any(Symbol, String) }
2000
1553
 
2001
- EMAIL =
1554
+ ABA =
2002
1555
  T.let(
2003
- :email,
2004
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType::TaggedSymbol
1556
+ :aba,
1557
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2005
1558
  )
2006
- PHONE_NUMBER =
1559
+ AU_BSB =
2007
1560
  T.let(
2008
- :phone_number,
2009
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType::TaggedSymbol
1561
+ :au_bsb,
1562
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2010
1563
  )
2011
- WEBSITE =
1564
+ BR_CODIGO =
1565
+ T.let(
1566
+ :br_codigo,
1567
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1568
+ )
1569
+ CA_CPA =
1570
+ T.let(
1571
+ :ca_cpa,
1572
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1573
+ )
1574
+ CHIPS =
1575
+ T.let(
1576
+ :chips,
1577
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1578
+ )
1579
+ CNAPS =
1580
+ T.let(
1581
+ :cnaps,
1582
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1583
+ )
1584
+ DK_INTERBANK_CLEARING_CODE =
1585
+ T.let(
1586
+ :dk_interbank_clearing_code,
1587
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1588
+ )
1589
+ GB_SORT_CODE =
1590
+ T.let(
1591
+ :gb_sort_code,
1592
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1593
+ )
1594
+ HK_INTERBANK_CLEARING_CODE =
1595
+ T.let(
1596
+ :hk_interbank_clearing_code,
1597
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1598
+ )
1599
+ HU_INTERBANK_CLEARING_CODE =
1600
+ T.let(
1601
+ :hu_interbank_clearing_code,
1602
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1603
+ )
1604
+ ID_SKNBI_CODE =
1605
+ T.let(
1606
+ :id_sknbi_code,
1607
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1608
+ )
1609
+ IL_BANK_CODE =
1610
+ T.let(
1611
+ :il_bank_code,
1612
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1613
+ )
1614
+ IN_IFSC =
1615
+ T.let(
1616
+ :in_ifsc,
1617
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1618
+ )
1619
+ JP_ZENGIN_CODE =
1620
+ T.let(
1621
+ :jp_zengin_code,
1622
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1623
+ )
1624
+ MY_BRANCH_CODE =
1625
+ T.let(
1626
+ :my_branch_code,
1627
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1628
+ )
1629
+ MX_BANK_IDENTIFIER =
1630
+ T.let(
1631
+ :mx_bank_identifier,
1632
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1633
+ )
1634
+ NZ_NATIONAL_CLEARING_CODE =
1635
+ T.let(
1636
+ :nz_national_clearing_code,
1637
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1638
+ )
1639
+ PL_NATIONAL_CLEARING_CODE =
1640
+ T.let(
1641
+ :pl_national_clearing_code,
1642
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1643
+ )
1644
+ SE_BANKGIRO_CLEARING_CODE =
1645
+ T.let(
1646
+ :se_bankgiro_clearing_code,
1647
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1648
+ )
1649
+ SG_INTERBANK_CLEARING_CODE =
1650
+ T.let(
1651
+ :sg_interbank_clearing_code,
1652
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1653
+ )
1654
+ SWIFT =
1655
+ T.let(
1656
+ :swift,
1657
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
1658
+ )
1659
+ ZA_NATIONAL_CLEARING_CODE =
2012
1660
  T.let(
2013
- :website,
2014
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType::TaggedSymbol
1661
+ :za_national_clearing_code,
1662
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2015
1663
  )
2016
1664
 
2017
1665
  sig do
2018
1666
  override.returns(
2019
1667
  T::Array[
2020
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType::TaggedSymbol
1668
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2021
1669
  ]
2022
1670
  )
2023
1671
  end
2024
1672
  def self.values
2025
1673
  end
2026
1674
  end
2027
- end
2028
-
2029
- class LedgerAccount < ModernTreasury::Internal::Type::BaseModel
2030
- OrHash =
2031
- T.type_alias do
2032
- T.any(
2033
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount,
2034
- ModernTreasury::Internal::AnyHash
2035
- )
2036
- end
2037
-
2038
- # The currency of the ledger account.
2039
- sig { returns(String) }
2040
- attr_accessor :currency
2041
-
2042
- # The id of the ledger that this account belongs to.
2043
- sig { returns(String) }
2044
- attr_accessor :ledger_id
2045
-
2046
- # The name of the ledger account.
2047
- sig { returns(String) }
2048
- attr_accessor :name
2049
-
2050
- # The normal balance of the ledger account.
2051
- sig { returns(ModernTreasury::TransactionDirection::OrSymbol) }
2052
- attr_accessor :normal_balance
2053
-
2054
- # The currency exponent of the ledger account.
2055
- sig { returns(T.nilable(Integer)) }
2056
- attr_accessor :currency_exponent
2057
-
2058
- # The description of the ledger account.
2059
- sig { returns(T.nilable(String)) }
2060
- attr_accessor :description
2061
-
2062
- # The array of ledger account category ids that this ledger account should be a
2063
- # child of.
2064
- sig { returns(T.nilable(T::Array[String])) }
2065
- attr_reader :ledger_account_category_ids
2066
-
2067
- sig { params(ledger_account_category_ids: T::Array[String]).void }
2068
- attr_writer :ledger_account_category_ids
2069
-
2070
- # If the ledger account links to another object in Modern Treasury, the id will be
2071
- # populated here, otherwise null.
2072
- sig { returns(T.nilable(String)) }
2073
- attr_reader :ledgerable_id
2074
-
2075
- sig { params(ledgerable_id: String).void }
2076
- attr_writer :ledgerable_id
2077
-
2078
- # If the ledger account links to another object in Modern Treasury, the type will
2079
- # be populated here, otherwise null. The value is one of internal_account or
2080
- # external_account.
2081
- sig do
2082
- returns(
2083
- T.nilable(
2084
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::OrSymbol
2085
- )
2086
- )
2087
- end
2088
- attr_reader :ledgerable_type
2089
-
2090
- sig do
2091
- params(
2092
- ledgerable_type:
2093
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::OrSymbol
2094
- ).void
2095
- end
2096
- attr_writer :ledgerable_type
2097
-
2098
- # Additional data represented as key-value pairs. Both the key and value must be
2099
- # strings.
2100
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2101
- attr_reader :metadata
2102
-
2103
- sig { params(metadata: T::Hash[Symbol, String]).void }
2104
- attr_writer :metadata
2105
-
2106
- # Specifies a ledger account object that will be created with the external
2107
- # account. The resulting ledger account is linked to the external account for
2108
- # auto-ledgering Payment objects. See
2109
- # https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects
2110
- # for more details.
2111
- sig do
2112
- params(
2113
- currency: String,
2114
- ledger_id: String,
2115
- name: String,
2116
- normal_balance:
2117
- ModernTreasury::TransactionDirection::OrSymbol,
2118
- currency_exponent: T.nilable(Integer),
2119
- description: T.nilable(String),
2120
- ledger_account_category_ids: T::Array[String],
2121
- ledgerable_id: String,
2122
- ledgerable_type:
2123
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::OrSymbol,
2124
- metadata: T::Hash[Symbol, String]
2125
- ).returns(T.attached_class)
2126
- end
2127
- def self.new(
2128
- # The currency of the ledger account.
2129
- currency:,
2130
- # The id of the ledger that this account belongs to.
2131
- ledger_id:,
2132
- # The name of the ledger account.
2133
- name:,
2134
- # The normal balance of the ledger account.
2135
- normal_balance:,
2136
- # The currency exponent of the ledger account.
2137
- currency_exponent: nil,
2138
- # The description of the ledger account.
2139
- description: nil,
2140
- # The array of ledger account category ids that this ledger account should be a
2141
- # child of.
2142
- ledger_account_category_ids: nil,
2143
- # If the ledger account links to another object in Modern Treasury, the id will be
2144
- # populated here, otherwise null.
2145
- ledgerable_id: nil,
2146
- # If the ledger account links to another object in Modern Treasury, the type will
2147
- # be populated here, otherwise null. The value is one of internal_account or
2148
- # external_account.
2149
- ledgerable_type: nil,
2150
- # Additional data represented as key-value pairs. Both the key and value must be
2151
- # strings.
2152
- metadata: nil
2153
- )
2154
- end
2155
-
2156
- sig do
2157
- override.returns(
2158
- {
2159
- currency: String,
2160
- ledger_id: String,
2161
- name: String,
2162
- normal_balance:
2163
- ModernTreasury::TransactionDirection::OrSymbol,
2164
- currency_exponent: T.nilable(Integer),
2165
- description: T.nilable(String),
2166
- ledger_account_category_ids: T::Array[String],
2167
- ledgerable_id: String,
2168
- ledgerable_type:
2169
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::OrSymbol,
2170
- metadata: T::Hash[Symbol, String]
2171
- }
2172
- )
2173
- end
2174
- def to_hash
2175
- end
2176
1675
 
2177
- # If the ledger account links to another object in Modern Treasury, the type will
2178
- # be populated here, otherwise null. The value is one of internal_account or
2179
- # external_account.
2180
- module LedgerableType
1676
+ module PaymentType
2181
1677
  extend ModernTreasury::Internal::Type::Enum
2182
1678
 
2183
1679
  TaggedSymbol =
2184
1680
  T.type_alias do
2185
1681
  T.all(
2186
1682
  Symbol,
2187
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType
1683
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType
2188
1684
  )
2189
1685
  end
2190
1686
  OrSymbol = T.type_alias { T.any(Symbol, String) }
2191
1687
 
2192
- COUNTERPARTY =
1688
+ ACH =
2193
1689
  T.let(
2194
- :counterparty,
2195
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
1690
+ :ach,
1691
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2196
1692
  )
2197
- EXTERNAL_ACCOUNT =
1693
+ AU_BECS =
2198
1694
  T.let(
2199
- :external_account,
2200
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
1695
+ :au_becs,
1696
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2201
1697
  )
2202
- INTERNAL_ACCOUNT =
1698
+ BACS =
2203
1699
  T.let(
2204
- :internal_account,
2205
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
1700
+ :bacs,
1701
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2206
1702
  )
2207
- VIRTUAL_ACCOUNT =
1703
+ BASE =
2208
1704
  T.let(
2209
- :virtual_account,
2210
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
1705
+ :base,
1706
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2211
1707
  )
2212
-
2213
- sig do
2214
- override.returns(
2215
- T::Array[
2216
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
2217
- ]
1708
+ BOOK =
1709
+ T.let(
1710
+ :book,
1711
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2218
1712
  )
2219
- end
2220
- def self.values
2221
- end
2222
- end
2223
- end
2224
-
2225
- class PartyAddress < ModernTreasury::Internal::Type::BaseModel
2226
- OrHash =
2227
- T.type_alias do
2228
- T.any(
2229
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress,
2230
- ModernTreasury::Internal::AnyHash
1713
+ CARD =
1714
+ T.let(
1715
+ :card,
1716
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2231
1717
  )
2232
- end
2233
-
2234
- # Country code conforms to [ISO 3166-1 alpha-2]
2235
- sig { returns(T.nilable(String)) }
2236
- attr_accessor :country
2237
-
2238
- sig { returns(T.nilable(String)) }
2239
- attr_accessor :line1
2240
-
2241
- sig { returns(T.nilable(String)) }
2242
- attr_accessor :line2
2243
-
2244
- # Locality or City.
2245
- sig { returns(T.nilable(String)) }
2246
- attr_accessor :locality
2247
-
2248
- # The postal code of the address.
2249
- sig { returns(T.nilable(String)) }
2250
- attr_accessor :postal_code
2251
-
2252
- # Region or State.
2253
- sig { returns(T.nilable(String)) }
2254
- attr_accessor :region
2255
-
2256
- # Required if receiving wire payments.
2257
- sig do
2258
- params(
2259
- country: T.nilable(String),
2260
- line1: T.nilable(String),
2261
- line2: T.nilable(String),
2262
- locality: T.nilable(String),
2263
- postal_code: T.nilable(String),
2264
- region: T.nilable(String)
2265
- ).returns(T.attached_class)
2266
- end
2267
- def self.new(
2268
- # Country code conforms to [ISO 3166-1 alpha-2]
2269
- country: nil,
2270
- line1: nil,
2271
- line2: nil,
2272
- # Locality or City.
2273
- locality: nil,
2274
- # The postal code of the address.
2275
- postal_code: nil,
2276
- # Region or State.
2277
- region: nil
2278
- )
2279
- end
2280
-
2281
- sig do
2282
- override.returns(
2283
- {
2284
- country: T.nilable(String),
2285
- line1: T.nilable(String),
2286
- line2: T.nilable(String),
2287
- locality: T.nilable(String),
2288
- postal_code: T.nilable(String),
2289
- region: T.nilable(String)
2290
- }
2291
- )
2292
- end
2293
- def to_hash
2294
- end
2295
- end
2296
-
2297
- # Either `individual` or `business`.
2298
- module PartyType
2299
- extend ModernTreasury::Internal::Type::Enum
2300
-
2301
- TaggedSymbol =
2302
- T.type_alias do
2303
- T.all(
2304
- Symbol,
2305
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType
2306
- )
2307
- end
2308
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2309
-
2310
- BUSINESS =
2311
- T.let(
2312
- :business,
2313
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType::TaggedSymbol
2314
- )
2315
- INDIVIDUAL =
2316
- T.let(
2317
- :individual,
2318
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType::TaggedSymbol
2319
- )
2320
-
2321
- sig do
2322
- override.returns(
2323
- T::Array[
2324
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType::TaggedSymbol
2325
- ]
2326
- )
2327
- end
2328
- def self.values
2329
- end
2330
- end
2331
-
2332
- class RoutingDetail < ModernTreasury::Internal::Type::BaseModel
2333
- OrHash =
2334
- T.type_alias do
2335
- T.any(
2336
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail,
2337
- ModernTreasury::Internal::AnyHash
2338
- )
2339
- end
2340
-
2341
- sig { returns(String) }
2342
- attr_accessor :routing_number
2343
-
2344
- sig do
2345
- returns(
2346
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::OrSymbol
2347
- )
2348
- end
2349
- attr_accessor :routing_number_type
2350
-
2351
- sig do
2352
- returns(
2353
- T.nilable(
2354
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::OrSymbol
2355
- )
2356
- )
2357
- end
2358
- attr_reader :payment_type
2359
-
2360
- sig do
2361
- params(
2362
- payment_type:
2363
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::OrSymbol
2364
- ).void
2365
- end
2366
- attr_writer :payment_type
2367
-
2368
- sig do
2369
- params(
2370
- routing_number: String,
2371
- routing_number_type:
2372
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::OrSymbol,
2373
- payment_type:
2374
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::OrSymbol
2375
- ).returns(T.attached_class)
2376
- end
2377
- def self.new(
2378
- routing_number:,
2379
- routing_number_type:,
2380
- payment_type: nil
2381
- )
2382
- end
2383
-
2384
- sig do
2385
- override.returns(
2386
- {
2387
- routing_number: String,
2388
- routing_number_type:
2389
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::OrSymbol,
2390
- payment_type:
2391
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::OrSymbol
2392
- }
2393
- )
2394
- end
2395
- def to_hash
2396
- end
2397
-
2398
- module RoutingNumberType
2399
- extend ModernTreasury::Internal::Type::Enum
2400
-
2401
- TaggedSymbol =
2402
- T.type_alias do
2403
- T.all(
2404
- Symbol,
2405
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType
2406
- )
2407
- end
2408
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2409
-
2410
- ABA =
2411
- T.let(
2412
- :aba,
2413
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2414
- )
2415
- AU_BSB =
2416
- T.let(
2417
- :au_bsb,
2418
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2419
- )
2420
- BR_CODIGO =
2421
- T.let(
2422
- :br_codigo,
2423
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2424
- )
2425
- CA_CPA =
2426
- T.let(
2427
- :ca_cpa,
2428
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2429
- )
2430
- CHIPS =
2431
- T.let(
2432
- :chips,
2433
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2434
- )
2435
- CNAPS =
2436
- T.let(
2437
- :cnaps,
2438
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2439
- )
2440
- DK_INTERBANK_CLEARING_CODE =
2441
- T.let(
2442
- :dk_interbank_clearing_code,
2443
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2444
- )
2445
- GB_SORT_CODE =
2446
- T.let(
2447
- :gb_sort_code,
2448
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2449
- )
2450
- HK_INTERBANK_CLEARING_CODE =
2451
- T.let(
2452
- :hk_interbank_clearing_code,
2453
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2454
- )
2455
- HU_INTERBANK_CLEARING_CODE =
2456
- T.let(
2457
- :hu_interbank_clearing_code,
2458
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2459
- )
2460
- ID_SKNBI_CODE =
2461
- T.let(
2462
- :id_sknbi_code,
2463
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2464
- )
2465
- IL_BANK_CODE =
2466
- T.let(
2467
- :il_bank_code,
2468
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2469
- )
2470
- IN_IFSC =
2471
- T.let(
2472
- :in_ifsc,
2473
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2474
- )
2475
- JP_ZENGIN_CODE =
2476
- T.let(
2477
- :jp_zengin_code,
2478
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2479
- )
2480
- MY_BRANCH_CODE =
2481
- T.let(
2482
- :my_branch_code,
2483
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2484
- )
2485
- MX_BANK_IDENTIFIER =
2486
- T.let(
2487
- :mx_bank_identifier,
2488
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2489
- )
2490
- NZ_NATIONAL_CLEARING_CODE =
2491
- T.let(
2492
- :nz_national_clearing_code,
2493
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2494
- )
2495
- PL_NATIONAL_CLEARING_CODE =
2496
- T.let(
2497
- :pl_national_clearing_code,
2498
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2499
- )
2500
- SE_BANKGIRO_CLEARING_CODE =
2501
- T.let(
2502
- :se_bankgiro_clearing_code,
2503
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2504
- )
2505
- SG_INTERBANK_CLEARING_CODE =
2506
- T.let(
2507
- :sg_interbank_clearing_code,
2508
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2509
- )
2510
- SWIFT =
2511
- T.let(
2512
- :swift,
2513
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2514
- )
2515
- ZA_NATIONAL_CLEARING_CODE =
2516
- T.let(
2517
- :za_national_clearing_code,
2518
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2519
- )
2520
-
2521
- sig do
2522
- override.returns(
2523
- T::Array[
2524
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2525
- ]
2526
- )
2527
- end
2528
- def self.values
2529
- end
2530
- end
2531
-
2532
- module PaymentType
2533
- extend ModernTreasury::Internal::Type::Enum
2534
-
2535
- TaggedSymbol =
2536
- T.type_alias do
2537
- T.all(
2538
- Symbol,
2539
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType
2540
- )
2541
- end
2542
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2543
-
2544
- ACH =
2545
- T.let(
2546
- :ach,
2547
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2548
- )
2549
- AU_BECS =
2550
- T.let(
2551
- :au_becs,
2552
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2553
- )
2554
- BACS =
2555
- T.let(
2556
- :bacs,
2557
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2558
- )
2559
- BASE =
2560
- T.let(
2561
- :base,
2562
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2563
- )
2564
- BOOK =
2565
- T.let(
2566
- :book,
2567
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2568
- )
2569
- CARD =
2570
- T.let(
2571
- :card,
2572
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2573
- )
2574
- CHATS =
2575
- T.let(
2576
- :chats,
2577
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
1718
+ CHATS =
1719
+ T.let(
1720
+ :chats,
1721
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType::TaggedSymbol
2578
1722
  )
2579
1723
  CHECK =
2580
1724
  T.let(
@@ -2755,1236 +1899,82 @@ module ModernTreasury
2755
1899
 
2756
1900
  # The earliest date the payment may come in. Format: yyyy-mm-dd
2757
1901
  sig { returns(T.nilable(Date)) }
2758
- attr_accessor :date_lower_bound
2759
-
2760
- # The latest date the payment may come in. Format: yyyy-mm-dd
2761
- sig { returns(T.nilable(Date)) }
2762
- attr_accessor :date_upper_bound
2763
-
2764
- # An optional description for internal use.
2765
- sig { returns(T.nilable(String)) }
2766
- attr_accessor :description
2767
-
2768
- # One of credit or debit. When you are receiving money, use credit. When you are
2769
- # being charged, use debit.
2770
- sig do
2771
- returns(
2772
- T.nilable(
2773
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::OrSymbol
2774
- )
2775
- )
2776
- end
2777
- attr_accessor :direction
2778
-
2779
- # The ID of the Internal Account for the expected payment.
2780
- sig { returns(T.nilable(String)) }
2781
- attr_accessor :internal_account_id
2782
-
2783
- # Specifies a ledger transaction object that will be created with the expected
2784
- # payment. If the ledger transaction cannot be created, then the expected payment
2785
- # creation will fail. The resulting ledger transaction will mirror the status of
2786
- # the expected payment.
2787
- sig do
2788
- returns(
2789
- T.nilable(
2790
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction
2791
- )
2792
- )
2793
- end
2794
- attr_reader :ledger_transaction
2795
-
2796
- sig do
2797
- params(
2798
- ledger_transaction:
2799
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::OrHash
2800
- ).void
2801
- end
2802
- attr_writer :ledger_transaction
2803
-
2804
- # Either ledger_transaction or ledger_transaction_id can be provided. Only a
2805
- # pending ledger transaction can be attached upon expected payment creation. Once
2806
- # the expected payment is created, the status of the ledger transaction tracks the
2807
- # expected payment automatically.
2808
- sig { returns(T.nilable(String)) }
2809
- attr_reader :ledger_transaction_id
2810
-
2811
- sig { params(ledger_transaction_id: String).void }
2812
- attr_writer :ledger_transaction_id
2813
-
2814
- sig do
2815
- returns(
2816
- T.nilable(
2817
- T::Array[
2818
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem
2819
- ]
2820
- )
2821
- )
2822
- end
2823
- attr_reader :line_items
2824
-
2825
- sig do
2826
- params(
2827
- line_items:
2828
- T::Array[
2829
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem::OrHash
2830
- ]
2831
- ).void
2832
- end
2833
- attr_writer :line_items
2834
-
2835
- # Additional data represented as key-value pairs. Both the key and value must be
2836
- # strings.
2837
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2838
- attr_reader :metadata
2839
-
2840
- sig { params(metadata: T::Hash[Symbol, String]).void }
2841
- attr_writer :metadata
2842
-
2843
- # The reconciliation filters you have for this payment.
2844
- sig { returns(T.nilable(T.anything)) }
2845
- attr_accessor :reconciliation_filters
2846
-
2847
- # The reconciliation groups you have for this payment.
2848
- sig { returns(T.nilable(T.anything)) }
2849
- attr_accessor :reconciliation_groups
2850
-
2851
- # An array of reconciliation rule variables for this payment.
2852
- sig do
2853
- returns(T.nilable(T::Array[ModernTreasury::ReconciliationRule]))
2854
- end
2855
- attr_accessor :reconciliation_rule_variables
2856
-
2857
- # For `ach`, this field will be passed through on an addenda record. For `wire`
2858
- # payments the field will be passed through as the "Originator to Beneficiary
2859
- # Information", also known as OBI or Fedwire tag 6000.
2860
- sig { returns(T.nilable(String)) }
2861
- attr_accessor :remittance_information
2862
-
2863
- # The statement description you expect to see on the transaction. For ACH
2864
- # payments, this will be the full line item passed from the bank. For wire
2865
- # payments, this will be the OBI field on the wire. For check payments, this will
2866
- # be the memo field.
2867
- sig { returns(T.nilable(String)) }
2868
- attr_accessor :statement_descriptor
2869
-
2870
- # One of: ach, au_becs, bacs, book, check, eft, interac, provxchange, rtp, sen,
2871
- # sepa, signet, wire.
2872
- sig do
2873
- returns(T.nilable(ModernTreasury::ExpectedPaymentType::OrSymbol))
2874
- end
2875
- attr_accessor :type
2876
-
2877
- sig do
2878
- params(
2879
- amount_lower_bound: T.nilable(Integer),
2880
- amount_upper_bound: T.nilable(Integer),
2881
- counterparty_id: T.nilable(String),
2882
- currency: T.nilable(ModernTreasury::Currency::OrSymbol),
2883
- date_lower_bound: T.nilable(Date),
2884
- date_upper_bound: T.nilable(Date),
2885
- description: T.nilable(String),
2886
- direction:
2887
- T.nilable(
2888
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::OrSymbol
2889
- ),
2890
- internal_account_id: T.nilable(String),
2891
- ledger_transaction:
2892
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::OrHash,
2893
- ledger_transaction_id: String,
2894
- line_items:
2895
- T::Array[
2896
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem::OrHash
2897
- ],
2898
- metadata: T::Hash[Symbol, String],
2899
- reconciliation_filters: T.nilable(T.anything),
2900
- reconciliation_groups: T.nilable(T.anything),
2901
- reconciliation_rule_variables:
2902
- T.nilable(T::Array[ModernTreasury::ReconciliationRule::OrHash]),
2903
- remittance_information: T.nilable(String),
2904
- statement_descriptor: T.nilable(String),
2905
- type: T.nilable(ModernTreasury::ExpectedPaymentType::OrSymbol)
2906
- ).returns(T.attached_class)
2907
- end
2908
- def self.new(
2909
- # The lowest amount this expected payment may be equal to. Value in specified
2910
- # currency's smallest unit. e.g. $10 would be represented as 1000.
2911
- amount_lower_bound: nil,
2912
- # The highest amount this expected payment may be equal to. Value in specified
2913
- # currency's smallest unit. e.g. $10 would be represented as 1000.
2914
- amount_upper_bound: nil,
2915
- # The ID of the counterparty you expect for this payment.
2916
- counterparty_id: nil,
2917
- # Must conform to ISO 4217. Defaults to the currency of the internal account.
2918
- currency: nil,
2919
- # The earliest date the payment may come in. Format: yyyy-mm-dd
2920
- date_lower_bound: nil,
2921
- # The latest date the payment may come in. Format: yyyy-mm-dd
2922
- date_upper_bound: nil,
2923
- # An optional description for internal use.
2924
- description: nil,
2925
- # One of credit or debit. When you are receiving money, use credit. When you are
2926
- # being charged, use debit.
2927
- direction: nil,
2928
- # The ID of the Internal Account for the expected payment.
2929
- internal_account_id: nil,
2930
- # Specifies a ledger transaction object that will be created with the expected
2931
- # payment. If the ledger transaction cannot be created, then the expected payment
2932
- # creation will fail. The resulting ledger transaction will mirror the status of
2933
- # the expected payment.
2934
- ledger_transaction: nil,
2935
- # Either ledger_transaction or ledger_transaction_id can be provided. Only a
2936
- # pending ledger transaction can be attached upon expected payment creation. Once
2937
- # the expected payment is created, the status of the ledger transaction tracks the
2938
- # expected payment automatically.
2939
- ledger_transaction_id: nil,
2940
- line_items: nil,
2941
- # Additional data represented as key-value pairs. Both the key and value must be
2942
- # strings.
2943
- metadata: nil,
2944
- # The reconciliation filters you have for this payment.
2945
- reconciliation_filters: nil,
2946
- # The reconciliation groups you have for this payment.
2947
- reconciliation_groups: nil,
2948
- # An array of reconciliation rule variables for this payment.
2949
- reconciliation_rule_variables: nil,
2950
- # For `ach`, this field will be passed through on an addenda record. For `wire`
2951
- # payments the field will be passed through as the "Originator to Beneficiary
2952
- # Information", also known as OBI or Fedwire tag 6000.
2953
- remittance_information: nil,
2954
- # The statement description you expect to see on the transaction. For ACH
2955
- # payments, this will be the full line item passed from the bank. For wire
2956
- # payments, this will be the OBI field on the wire. For check payments, this will
2957
- # be the memo field.
2958
- statement_descriptor: nil,
2959
- # One of: ach, au_becs, bacs, book, check, eft, interac, provxchange, rtp, sen,
2960
- # sepa, signet, wire.
2961
- type: nil
2962
- )
2963
- end
2964
-
2965
- sig do
2966
- override.returns(
2967
- {
2968
- amount_lower_bound: T.nilable(Integer),
2969
- amount_upper_bound: T.nilable(Integer),
2970
- counterparty_id: T.nilable(String),
2971
- currency: T.nilable(ModernTreasury::Currency::OrSymbol),
2972
- date_lower_bound: T.nilable(Date),
2973
- date_upper_bound: T.nilable(Date),
2974
- description: T.nilable(String),
2975
- direction:
2976
- T.nilable(
2977
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::OrSymbol
2978
- ),
2979
- internal_account_id: T.nilable(String),
2980
- ledger_transaction:
2981
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction,
2982
- ledger_transaction_id: String,
2983
- line_items:
2984
- T::Array[
2985
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem
2986
- ],
2987
- metadata: T::Hash[Symbol, String],
2988
- reconciliation_filters: T.nilable(T.anything),
2989
- reconciliation_groups: T.nilable(T.anything),
2990
- reconciliation_rule_variables:
2991
- T.nilable(T::Array[ModernTreasury::ReconciliationRule]),
2992
- remittance_information: T.nilable(String),
2993
- statement_descriptor: T.nilable(String),
2994
- type: T.nilable(ModernTreasury::ExpectedPaymentType::OrSymbol)
2995
- }
2996
- )
2997
- end
2998
- def to_hash
2999
- end
3000
-
3001
- # One of credit or debit. When you are receiving money, use credit. When you are
3002
- # being charged, use debit.
3003
- module Direction
3004
- extend ModernTreasury::Internal::Type::Enum
3005
-
3006
- TaggedSymbol =
3007
- T.type_alias do
3008
- T.all(
3009
- Symbol,
3010
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction
3011
- )
3012
- end
3013
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3014
-
3015
- CREDIT =
3016
- T.let(
3017
- :credit,
3018
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::TaggedSymbol
3019
- )
3020
- DEBIT =
3021
- T.let(
3022
- :debit,
3023
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::TaggedSymbol
3024
- )
3025
-
3026
- sig do
3027
- override.returns(
3028
- T::Array[
3029
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::TaggedSymbol
3030
- ]
3031
- )
3032
- end
3033
- def self.values
3034
- end
3035
- end
3036
-
3037
- class LedgerTransaction < ModernTreasury::Internal::Type::BaseModel
3038
- OrHash =
3039
- T.type_alias do
3040
- T.any(
3041
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction,
3042
- ModernTreasury::Internal::AnyHash
3043
- )
3044
- end
3045
-
3046
- # An array of ledger entry objects.
3047
- sig do
3048
- returns(
3049
- T::Array[
3050
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerEntry
3051
- ]
3052
- )
3053
- end
3054
- attr_accessor :ledger_entries
3055
-
3056
- # An optional description for internal use.
3057
- sig { returns(T.nilable(String)) }
3058
- attr_accessor :description
3059
-
3060
- # The timestamp (ISO8601 format) at which the ledger transaction happened for
3061
- # reporting purposes.
3062
- sig { returns(T.nilable(Time)) }
3063
- attr_reader :effective_at
3064
-
3065
- sig { params(effective_at: Time).void }
3066
- attr_writer :effective_at
3067
-
3068
- # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
3069
- # purposes.
3070
- sig { returns(T.nilable(Date)) }
3071
- attr_reader :effective_date
3072
-
3073
- sig { params(effective_date: Date).void }
3074
- attr_writer :effective_date
3075
-
3076
- # A unique string to represent the ledger transaction. Only one pending or posted
3077
- # ledger transaction may have this ID in the ledger.
3078
- sig { returns(T.nilable(String)) }
3079
- attr_reader :external_id
3080
-
3081
- sig { params(external_id: String).void }
3082
- attr_writer :external_id
3083
-
3084
- # If the ledger transaction can be reconciled to another object in Modern
3085
- # Treasury, the id will be populated here, otherwise null.
3086
- sig { returns(T.nilable(String)) }
3087
- attr_reader :ledgerable_id
3088
-
3089
- sig { params(ledgerable_id: String).void }
3090
- attr_writer :ledgerable_id
3091
-
3092
- # If the ledger transaction can be reconciled to another object in Modern
3093
- # Treasury, the type will be populated here, otherwise null. This can be one of
3094
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
3095
- # reversal.
3096
- sig do
3097
- returns(
3098
- T.nilable(
3099
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::OrSymbol
3100
- )
3101
- )
3102
- end
3103
- attr_reader :ledgerable_type
3104
-
3105
- sig do
3106
- params(
3107
- ledgerable_type:
3108
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::OrSymbol
3109
- ).void
3110
- end
3111
- attr_writer :ledgerable_type
3112
-
3113
- # Additional data represented as key-value pairs. Both the key and value must be
3114
- # strings.
3115
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3116
- attr_reader :metadata
3117
-
3118
- sig { params(metadata: T::Hash[Symbol, String]).void }
3119
- attr_writer :metadata
3120
-
3121
- # To post a ledger transaction at creation, use `posted`.
3122
- sig do
3123
- returns(
3124
- T.nilable(
3125
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status::OrSymbol
3126
- )
3127
- )
3128
- end
3129
- attr_reader :status
3130
-
3131
- sig do
3132
- params(
3133
- status:
3134
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status::OrSymbol
3135
- ).void
3136
- end
3137
- attr_writer :status
3138
-
3139
- # Specifies a ledger transaction object that will be created with the expected
3140
- # payment. If the ledger transaction cannot be created, then the expected payment
3141
- # creation will fail. The resulting ledger transaction will mirror the status of
3142
- # the expected payment.
3143
- sig do
3144
- params(
3145
- ledger_entries:
3146
- T::Array[
3147
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerEntry::OrHash
3148
- ],
3149
- description: T.nilable(String),
3150
- effective_at: Time,
3151
- effective_date: Date,
3152
- external_id: String,
3153
- ledgerable_id: String,
3154
- ledgerable_type:
3155
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::OrSymbol,
3156
- metadata: T::Hash[Symbol, String],
3157
- status:
3158
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status::OrSymbol
3159
- ).returns(T.attached_class)
3160
- end
3161
- def self.new(
3162
- # An array of ledger entry objects.
3163
- ledger_entries:,
3164
- # An optional description for internal use.
3165
- description: nil,
3166
- # The timestamp (ISO8601 format) at which the ledger transaction happened for
3167
- # reporting purposes.
3168
- effective_at: nil,
3169
- # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
3170
- # purposes.
3171
- effective_date: nil,
3172
- # A unique string to represent the ledger transaction. Only one pending or posted
3173
- # ledger transaction may have this ID in the ledger.
3174
- external_id: nil,
3175
- # If the ledger transaction can be reconciled to another object in Modern
3176
- # Treasury, the id will be populated here, otherwise null.
3177
- ledgerable_id: nil,
3178
- # If the ledger transaction can be reconciled to another object in Modern
3179
- # Treasury, the type will be populated here, otherwise null. This can be one of
3180
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
3181
- # reversal.
3182
- ledgerable_type: nil,
3183
- # Additional data represented as key-value pairs. Both the key and value must be
3184
- # strings.
3185
- metadata: nil,
3186
- # To post a ledger transaction at creation, use `posted`.
3187
- status: nil
3188
- )
3189
- end
3190
-
3191
- sig do
3192
- override.returns(
3193
- {
3194
- ledger_entries:
3195
- T::Array[
3196
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerEntry
3197
- ],
3198
- description: T.nilable(String),
3199
- effective_at: Time,
3200
- effective_date: Date,
3201
- external_id: String,
3202
- ledgerable_id: String,
3203
- ledgerable_type:
3204
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::OrSymbol,
3205
- metadata: T::Hash[Symbol, String],
3206
- status:
3207
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status::OrSymbol
3208
- }
3209
- )
3210
- end
3211
- def to_hash
3212
- end
3213
-
3214
- class LedgerEntry < ModernTreasury::Internal::Type::BaseModel
3215
- OrHash =
3216
- T.type_alias do
3217
- T.any(
3218
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerEntry,
3219
- ModernTreasury::Internal::AnyHash
3220
- )
3221
- end
3222
-
3223
- # Value in specified currency's smallest unit. e.g. $10 would be represented
3224
- # as 1000. Can be any integer up to 36 digits.
3225
- sig { returns(Integer) }
3226
- attr_accessor :amount
3227
-
3228
- # One of `credit`, `debit`. Describes the direction money is flowing in the
3229
- # transaction. A `credit` moves money from your account to someone else's. A
3230
- # `debit` pulls money from someone else's account to your own. Note that wire,
3231
- # rtp, and check payments will always be `credit`.
3232
- sig { returns(ModernTreasury::TransactionDirection::OrSymbol) }
3233
- attr_accessor :direction
3234
-
3235
- # The ledger account that this ledger entry is associated with.
3236
- sig { returns(String) }
3237
- attr_accessor :ledger_account_id
3238
-
3239
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3240
- # account’s available balance. If any of these conditions would be false after the
3241
- # transaction is created, the entire call will fail with error code 422.
3242
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
3243
- attr_accessor :available_balance_amount
3244
-
3245
- # Lock version of the ledger account. This can be passed when creating a ledger
3246
- # transaction to only succeed if no ledger transactions have posted since the
3247
- # given version. See our post about Designing the Ledgers API with Optimistic
3248
- # Locking for more details.
3249
- sig { returns(T.nilable(Integer)) }
3250
- attr_accessor :lock_version
3251
-
3252
- # Additional data represented as key-value pairs. Both the key and value must be
3253
- # strings.
3254
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3255
- attr_reader :metadata
3256
-
3257
- sig { params(metadata: T::Hash[Symbol, String]).void }
3258
- attr_writer :metadata
3259
-
3260
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3261
- # account’s pending balance. If any of these conditions would be false after the
3262
- # transaction is created, the entire call will fail with error code 422.
3263
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
3264
- attr_accessor :pending_balance_amount
3265
-
3266
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3267
- # account’s posted balance. If any of these conditions would be false after the
3268
- # transaction is created, the entire call will fail with error code 422.
3269
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
3270
- attr_accessor :posted_balance_amount
3271
-
3272
- # If true, response will include the balance of the associated ledger account for
3273
- # the entry.
3274
- sig { returns(T.nilable(T::Boolean)) }
3275
- attr_accessor :show_resulting_ledger_account_balances
3276
-
3277
- sig do
3278
- params(
3279
- amount: Integer,
3280
- direction: ModernTreasury::TransactionDirection::OrSymbol,
3281
- ledger_account_id: String,
3282
- available_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3283
- lock_version: T.nilable(Integer),
3284
- metadata: T::Hash[Symbol, String],
3285
- pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3286
- posted_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3287
- show_resulting_ledger_account_balances: T.nilable(T::Boolean)
3288
- ).returns(T.attached_class)
3289
- end
3290
- def self.new(
3291
- # Value in specified currency's smallest unit. e.g. $10 would be represented
3292
- # as 1000. Can be any integer up to 36 digits.
3293
- amount:,
3294
- # One of `credit`, `debit`. Describes the direction money is flowing in the
3295
- # transaction. A `credit` moves money from your account to someone else's. A
3296
- # `debit` pulls money from someone else's account to your own. Note that wire,
3297
- # rtp, and check payments will always be `credit`.
3298
- direction:,
3299
- # The ledger account that this ledger entry is associated with.
3300
- ledger_account_id:,
3301
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3302
- # account’s available balance. If any of these conditions would be false after the
3303
- # transaction is created, the entire call will fail with error code 422.
3304
- available_balance_amount: nil,
3305
- # Lock version of the ledger account. This can be passed when creating a ledger
3306
- # transaction to only succeed if no ledger transactions have posted since the
3307
- # given version. See our post about Designing the Ledgers API with Optimistic
3308
- # Locking for more details.
3309
- lock_version: nil,
3310
- # Additional data represented as key-value pairs. Both the key and value must be
3311
- # strings.
3312
- metadata: nil,
3313
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3314
- # account’s pending balance. If any of these conditions would be false after the
3315
- # transaction is created, the entire call will fail with error code 422.
3316
- pending_balance_amount: nil,
3317
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3318
- # account’s posted balance. If any of these conditions would be false after the
3319
- # transaction is created, the entire call will fail with error code 422.
3320
- posted_balance_amount: nil,
3321
- # If true, response will include the balance of the associated ledger account for
3322
- # the entry.
3323
- show_resulting_ledger_account_balances: nil
3324
- )
3325
- end
3326
-
3327
- sig do
3328
- override.returns(
3329
- {
3330
- amount: Integer,
3331
- direction: ModernTreasury::TransactionDirection::OrSymbol,
3332
- ledger_account_id: String,
3333
- available_balance_amount:
3334
- T.nilable(T::Hash[Symbol, Integer]),
3335
- lock_version: T.nilable(Integer),
3336
- metadata: T::Hash[Symbol, String],
3337
- pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3338
- posted_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3339
- show_resulting_ledger_account_balances:
3340
- T.nilable(T::Boolean)
3341
- }
3342
- )
3343
- end
3344
- def to_hash
3345
- end
3346
- end
3347
-
3348
- # If the ledger transaction can be reconciled to another object in Modern
3349
- # Treasury, the type will be populated here, otherwise null. This can be one of
3350
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
3351
- # reversal.
3352
- module LedgerableType
3353
- extend ModernTreasury::Internal::Type::Enum
3354
-
3355
- TaggedSymbol =
3356
- T.type_alias do
3357
- T.all(
3358
- Symbol,
3359
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType
3360
- )
3361
- end
3362
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3363
-
3364
- EXPECTED_PAYMENT =
3365
- T.let(
3366
- :expected_payment,
3367
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
3368
- )
3369
- INCOMING_PAYMENT_DETAIL =
3370
- T.let(
3371
- :incoming_payment_detail,
3372
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
3373
- )
3374
- PAPER_ITEM =
3375
- T.let(
3376
- :paper_item,
3377
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
3378
- )
3379
- PAYMENT_ORDER =
3380
- T.let(
3381
- :payment_order,
3382
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
3383
- )
3384
- RETURN =
3385
- T.let(
3386
- :return,
3387
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
3388
- )
3389
- REVERSAL =
3390
- T.let(
3391
- :reversal,
3392
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
3393
- )
3394
-
3395
- sig do
3396
- override.returns(
3397
- T::Array[
3398
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType::TaggedSymbol
3399
- ]
3400
- )
3401
- end
3402
- def self.values
3403
- end
3404
- end
3405
-
3406
- # To post a ledger transaction at creation, use `posted`.
3407
- module Status
3408
- extend ModernTreasury::Internal::Type::Enum
3409
-
3410
- TaggedSymbol =
3411
- T.type_alias do
3412
- T.all(
3413
- Symbol,
3414
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status
3415
- )
3416
- end
3417
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3418
-
3419
- ARCHIVED =
3420
- T.let(
3421
- :archived,
3422
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status::TaggedSymbol
3423
- )
3424
- PENDING =
3425
- T.let(
3426
- :pending,
3427
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status::TaggedSymbol
3428
- )
3429
- POSTED =
3430
- T.let(
3431
- :posted,
3432
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status::TaggedSymbol
3433
- )
3434
-
3435
- sig do
3436
- override.returns(
3437
- T::Array[
3438
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status::TaggedSymbol
3439
- ]
3440
- )
3441
- end
3442
- def self.values
3443
- end
3444
- end
3445
- end
3446
-
3447
- class LineItem < ModernTreasury::Internal::Type::BaseModel
3448
- OrHash =
3449
- T.type_alias do
3450
- T.any(
3451
- ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem,
3452
- ModernTreasury::Internal::AnyHash
3453
- )
3454
- end
3455
-
3456
- # Value in specified currency's smallest unit. e.g. $10 would be represented
3457
- # as 1000.
3458
- sig { returns(Integer) }
3459
- attr_accessor :amount
3460
-
3461
- # The ID of one of your accounting categories. Note that these will only be
3462
- # accessible if your accounting system has been connected.
3463
- sig { returns(T.nilable(String)) }
3464
- attr_accessor :accounting_category_id
3465
-
3466
- # A free-form description of the line item.
3467
- sig { returns(T.nilable(String)) }
3468
- attr_accessor :description
3469
-
3470
- # Additional data represented as key-value pairs. Both the key and value must be
3471
- # strings.
3472
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3473
- attr_reader :metadata
3474
-
3475
- sig { params(metadata: T::Hash[Symbol, String]).void }
3476
- attr_writer :metadata
3477
-
3478
- sig do
3479
- params(
3480
- amount: Integer,
3481
- accounting_category_id: T.nilable(String),
3482
- description: T.nilable(String),
3483
- metadata: T::Hash[Symbol, String]
3484
- ).returns(T.attached_class)
3485
- end
3486
- def self.new(
3487
- # Value in specified currency's smallest unit. e.g. $10 would be represented
3488
- # as 1000.
3489
- amount:,
3490
- # The ID of one of your accounting categories. Note that these will only be
3491
- # accessible if your accounting system has been connected.
3492
- accounting_category_id: nil,
3493
- # A free-form description of the line item.
3494
- description: nil,
3495
- # Additional data represented as key-value pairs. Both the key and value must be
3496
- # strings.
3497
- metadata: nil
3498
- )
3499
- end
3500
-
3501
- sig do
3502
- override.returns(
3503
- {
3504
- amount: Integer,
3505
- accounting_category_id: T.nilable(String),
3506
- description: T.nilable(String),
3507
- metadata: T::Hash[Symbol, String]
3508
- }
3509
- )
3510
- end
3511
- def to_hash
3512
- end
3513
- end
3514
- end
3515
-
3516
- class LedgerTransactionCreateRequest < ModernTreasury::Internal::Type::BaseModel
3517
- OrHash =
3518
- T.type_alias do
3519
- T.any(
3520
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest,
3521
- ModernTreasury::Internal::AnyHash
3522
- )
3523
- end
3524
-
3525
- # An array of ledger entry objects.
3526
- sig do
3527
- returns(
3528
- T::Array[
3529
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerEntry
3530
- ]
3531
- )
3532
- end
3533
- attr_accessor :ledger_entries
3534
-
3535
- # An optional description for internal use.
3536
- sig { returns(T.nilable(String)) }
3537
- attr_accessor :description
3538
-
3539
- # The timestamp (ISO8601 format) at which the ledger transaction happened for
3540
- # reporting purposes.
3541
- sig { returns(T.nilable(Time)) }
3542
- attr_reader :effective_at
3543
-
3544
- sig { params(effective_at: Time).void }
3545
- attr_writer :effective_at
3546
-
3547
- # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
3548
- # purposes.
3549
- sig { returns(T.nilable(Date)) }
3550
- attr_reader :effective_date
3551
-
3552
- sig { params(effective_date: Date).void }
3553
- attr_writer :effective_date
3554
-
3555
- # A unique string to represent the ledger transaction. Only one pending or posted
3556
- # ledger transaction may have this ID in the ledger.
3557
- sig { returns(T.nilable(String)) }
3558
- attr_reader :external_id
3559
-
3560
- sig { params(external_id: String).void }
3561
- attr_writer :external_id
3562
-
3563
- # If the ledger transaction can be reconciled to another object in Modern
3564
- # Treasury, the id will be populated here, otherwise null.
3565
- sig { returns(T.nilable(String)) }
3566
- attr_reader :ledgerable_id
3567
-
3568
- sig { params(ledgerable_id: String).void }
3569
- attr_writer :ledgerable_id
3570
-
3571
- # If the ledger transaction can be reconciled to another object in Modern
3572
- # Treasury, the type will be populated here, otherwise null. This can be one of
3573
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
3574
- # reversal.
3575
- sig do
3576
- returns(
3577
- T.nilable(
3578
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::OrSymbol
3579
- )
3580
- )
3581
- end
3582
- attr_reader :ledgerable_type
3583
-
3584
- sig do
3585
- params(
3586
- ledgerable_type:
3587
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::OrSymbol
3588
- ).void
3589
- end
3590
- attr_writer :ledgerable_type
3591
-
3592
- # Additional data represented as key-value pairs. Both the key and value must be
3593
- # strings.
3594
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3595
- attr_reader :metadata
3596
-
3597
- sig { params(metadata: T::Hash[Symbol, String]).void }
3598
- attr_writer :metadata
3599
-
3600
- # To post a ledger transaction at creation, use `posted`.
3601
- sig do
3602
- returns(
3603
- T.nilable(
3604
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status::OrSymbol
3605
- )
3606
- )
3607
- end
3608
- attr_reader :status
3609
-
3610
- sig do
3611
- params(
3612
- status:
3613
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status::OrSymbol
3614
- ).void
3615
- end
3616
- attr_writer :status
3617
-
3618
- sig do
3619
- params(
3620
- ledger_entries:
3621
- T::Array[
3622
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerEntry::OrHash
3623
- ],
3624
- description: T.nilable(String),
3625
- effective_at: Time,
3626
- effective_date: Date,
3627
- external_id: String,
3628
- ledgerable_id: String,
3629
- ledgerable_type:
3630
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::OrSymbol,
3631
- metadata: T::Hash[Symbol, String],
3632
- status:
3633
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status::OrSymbol
3634
- ).returns(T.attached_class)
3635
- end
3636
- def self.new(
3637
- # An array of ledger entry objects.
3638
- ledger_entries:,
3639
- # An optional description for internal use.
3640
- description: nil,
3641
- # The timestamp (ISO8601 format) at which the ledger transaction happened for
3642
- # reporting purposes.
3643
- effective_at: nil,
3644
- # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
3645
- # purposes.
3646
- effective_date: nil,
3647
- # A unique string to represent the ledger transaction. Only one pending or posted
3648
- # ledger transaction may have this ID in the ledger.
3649
- external_id: nil,
3650
- # If the ledger transaction can be reconciled to another object in Modern
3651
- # Treasury, the id will be populated here, otherwise null.
3652
- ledgerable_id: nil,
3653
- # If the ledger transaction can be reconciled to another object in Modern
3654
- # Treasury, the type will be populated here, otherwise null. This can be one of
3655
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
3656
- # reversal.
3657
- ledgerable_type: nil,
3658
- # Additional data represented as key-value pairs. Both the key and value must be
3659
- # strings.
3660
- metadata: nil,
3661
- # To post a ledger transaction at creation, use `posted`.
3662
- status: nil
3663
- )
3664
- end
3665
-
3666
- sig do
3667
- override.returns(
3668
- {
3669
- ledger_entries:
3670
- T::Array[
3671
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerEntry
3672
- ],
3673
- description: T.nilable(String),
3674
- effective_at: Time,
3675
- effective_date: Date,
3676
- external_id: String,
3677
- ledgerable_id: String,
3678
- ledgerable_type:
3679
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::OrSymbol,
3680
- metadata: T::Hash[Symbol, String],
3681
- status:
3682
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status::OrSymbol
3683
- }
3684
- )
3685
- end
3686
- def to_hash
3687
- end
3688
-
3689
- class LedgerEntry < ModernTreasury::Internal::Type::BaseModel
3690
- OrHash =
3691
- T.type_alias do
3692
- T.any(
3693
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerEntry,
3694
- ModernTreasury::Internal::AnyHash
3695
- )
3696
- end
3697
-
3698
- # Value in specified currency's smallest unit. e.g. $10 would be represented
3699
- # as 1000. Can be any integer up to 36 digits.
3700
- sig { returns(Integer) }
3701
- attr_accessor :amount
3702
-
3703
- # One of `credit`, `debit`. Describes the direction money is flowing in the
3704
- # transaction. A `credit` moves money from your account to someone else's. A
3705
- # `debit` pulls money from someone else's account to your own. Note that wire,
3706
- # rtp, and check payments will always be `credit`.
3707
- sig { returns(ModernTreasury::TransactionDirection::OrSymbol) }
3708
- attr_accessor :direction
3709
-
3710
- # The ledger account that this ledger entry is associated with.
3711
- sig { returns(String) }
3712
- attr_accessor :ledger_account_id
3713
-
3714
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3715
- # account’s available balance. If any of these conditions would be false after the
3716
- # transaction is created, the entire call will fail with error code 422.
3717
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
3718
- attr_accessor :available_balance_amount
3719
-
3720
- # Lock version of the ledger account. This can be passed when creating a ledger
3721
- # transaction to only succeed if no ledger transactions have posted since the
3722
- # given version. See our post about Designing the Ledgers API with Optimistic
3723
- # Locking for more details.
3724
- sig { returns(T.nilable(Integer)) }
3725
- attr_accessor :lock_version
3726
-
3727
- # Additional data represented as key-value pairs. Both the key and value must be
3728
- # strings.
3729
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3730
- attr_reader :metadata
3731
-
3732
- sig { params(metadata: T::Hash[Symbol, String]).void }
3733
- attr_writer :metadata
3734
-
3735
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3736
- # account’s pending balance. If any of these conditions would be false after the
3737
- # transaction is created, the entire call will fail with error code 422.
3738
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
3739
- attr_accessor :pending_balance_amount
3740
-
3741
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3742
- # account’s posted balance. If any of these conditions would be false after the
3743
- # transaction is created, the entire call will fail with error code 422.
3744
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
3745
- attr_accessor :posted_balance_amount
3746
-
3747
- # If true, response will include the balance of the associated ledger account for
3748
- # the entry.
3749
- sig { returns(T.nilable(T::Boolean)) }
3750
- attr_accessor :show_resulting_ledger_account_balances
3751
-
3752
- sig do
3753
- params(
3754
- amount: Integer,
3755
- direction: ModernTreasury::TransactionDirection::OrSymbol,
3756
- ledger_account_id: String,
3757
- available_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3758
- lock_version: T.nilable(Integer),
3759
- metadata: T::Hash[Symbol, String],
3760
- pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3761
- posted_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3762
- show_resulting_ledger_account_balances: T.nilable(T::Boolean)
3763
- ).returns(T.attached_class)
3764
- end
3765
- def self.new(
3766
- # Value in specified currency's smallest unit. e.g. $10 would be represented
3767
- # as 1000. Can be any integer up to 36 digits.
3768
- amount:,
3769
- # One of `credit`, `debit`. Describes the direction money is flowing in the
3770
- # transaction. A `credit` moves money from your account to someone else's. A
3771
- # `debit` pulls money from someone else's account to your own. Note that wire,
3772
- # rtp, and check payments will always be `credit`.
3773
- direction:,
3774
- # The ledger account that this ledger entry is associated with.
3775
- ledger_account_id:,
3776
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3777
- # account’s available balance. If any of these conditions would be false after the
3778
- # transaction is created, the entire call will fail with error code 422.
3779
- available_balance_amount: nil,
3780
- # Lock version of the ledger account. This can be passed when creating a ledger
3781
- # transaction to only succeed if no ledger transactions have posted since the
3782
- # given version. See our post about Designing the Ledgers API with Optimistic
3783
- # Locking for more details.
3784
- lock_version: nil,
3785
- # Additional data represented as key-value pairs. Both the key and value must be
3786
- # strings.
3787
- metadata: nil,
3788
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3789
- # account’s pending balance. If any of these conditions would be false after the
3790
- # transaction is created, the entire call will fail with error code 422.
3791
- pending_balance_amount: nil,
3792
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
3793
- # account’s posted balance. If any of these conditions would be false after the
3794
- # transaction is created, the entire call will fail with error code 422.
3795
- posted_balance_amount: nil,
3796
- # If true, response will include the balance of the associated ledger account for
3797
- # the entry.
3798
- show_resulting_ledger_account_balances: nil
3799
- )
3800
- end
3801
-
3802
- sig do
3803
- override.returns(
3804
- {
3805
- amount: Integer,
3806
- direction: ModernTreasury::TransactionDirection::OrSymbol,
3807
- ledger_account_id: String,
3808
- available_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3809
- lock_version: T.nilable(Integer),
3810
- metadata: T::Hash[Symbol, String],
3811
- pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3812
- posted_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
3813
- show_resulting_ledger_account_balances: T.nilable(T::Boolean)
3814
- }
3815
- )
3816
- end
3817
- def to_hash
3818
- end
3819
- end
3820
-
3821
- # If the ledger transaction can be reconciled to another object in Modern
3822
- # Treasury, the type will be populated here, otherwise null. This can be one of
3823
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
3824
- # reversal.
3825
- module LedgerableType
3826
- extend ModernTreasury::Internal::Type::Enum
3827
-
3828
- TaggedSymbol =
3829
- T.type_alias do
3830
- T.all(
3831
- Symbol,
3832
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType
3833
- )
3834
- end
3835
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3836
-
3837
- EXPECTED_PAYMENT =
3838
- T.let(
3839
- :expected_payment,
3840
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::TaggedSymbol
3841
- )
3842
- INCOMING_PAYMENT_DETAIL =
3843
- T.let(
3844
- :incoming_payment_detail,
3845
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::TaggedSymbol
3846
- )
3847
- PAPER_ITEM =
3848
- T.let(
3849
- :paper_item,
3850
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::TaggedSymbol
3851
- )
3852
- PAYMENT_ORDER =
3853
- T.let(
3854
- :payment_order,
3855
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::TaggedSymbol
3856
- )
3857
- RETURN =
3858
- T.let(
3859
- :return,
3860
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::TaggedSymbol
3861
- )
3862
- REVERSAL =
3863
- T.let(
3864
- :reversal,
3865
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::TaggedSymbol
3866
- )
3867
-
3868
- sig do
3869
- override.returns(
3870
- T::Array[
3871
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType::TaggedSymbol
3872
- ]
3873
- )
3874
- end
3875
- def self.values
3876
- end
3877
- end
3878
-
3879
- # To post a ledger transaction at creation, use `posted`.
3880
- module Status
3881
- extend ModernTreasury::Internal::Type::Enum
3882
-
3883
- TaggedSymbol =
3884
- T.type_alias do
3885
- T.all(
3886
- Symbol,
3887
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status
3888
- )
3889
- end
3890
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3891
-
3892
- ARCHIVED =
3893
- T.let(
3894
- :archived,
3895
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status::TaggedSymbol
3896
- )
3897
- PENDING =
3898
- T.let(
3899
- :pending,
3900
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status::TaggedSymbol
3901
- )
3902
- POSTED =
3903
- T.let(
3904
- :posted,
3905
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status::TaggedSymbol
3906
- )
3907
-
3908
- sig do
3909
- override.returns(
3910
- T::Array[
3911
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status::TaggedSymbol
3912
- ]
3913
- )
3914
- end
3915
- def self.values
3916
- end
3917
- end
3918
- end
3919
-
3920
- class LedgerAccountCreateRequest < ModernTreasury::Internal::Type::BaseModel
3921
- OrHash =
3922
- T.type_alias do
3923
- T.any(
3924
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest,
3925
- ModernTreasury::Internal::AnyHash
3926
- )
3927
- end
3928
-
3929
- # The currency of the ledger account.
3930
- sig { returns(String) }
3931
- attr_accessor :currency
1902
+ attr_accessor :date_lower_bound
3932
1903
 
3933
- # The id of the ledger that this account belongs to.
3934
- sig { returns(String) }
3935
- attr_accessor :ledger_id
1904
+ # The latest date the payment may come in. Format: yyyy-mm-dd
1905
+ sig { returns(T.nilable(Date)) }
1906
+ attr_accessor :date_upper_bound
3936
1907
 
3937
- # The name of the ledger account.
3938
- sig { returns(String) }
3939
- attr_accessor :name
1908
+ # An optional description for internal use.
1909
+ sig { returns(T.nilable(String)) }
1910
+ attr_accessor :description
3940
1911
 
3941
- # The normal balance of the ledger account.
3942
- sig { returns(ModernTreasury::TransactionDirection::OrSymbol) }
3943
- attr_accessor :normal_balance
1912
+ # One of credit or debit. When you are receiving money, use credit. When you are
1913
+ # being charged, use debit.
1914
+ sig do
1915
+ returns(
1916
+ T.nilable(
1917
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::OrSymbol
1918
+ )
1919
+ )
1920
+ end
1921
+ attr_accessor :direction
3944
1922
 
3945
- # The currency exponent of the ledger account.
3946
- sig { returns(T.nilable(Integer)) }
3947
- attr_accessor :currency_exponent
1923
+ # An optional user-defined 180 character unique identifier.
1924
+ sig { returns(T.nilable(String)) }
1925
+ attr_accessor :external_id
3948
1926
 
3949
- # The description of the ledger account.
1927
+ # The ID of the Internal Account for the expected payment.
3950
1928
  sig { returns(T.nilable(String)) }
3951
- attr_accessor :description
1929
+ attr_accessor :internal_account_id
3952
1930
 
3953
- # The array of ledger account category ids that this ledger account should be a
3954
- # child of.
3955
- sig { returns(T.nilable(T::Array[String])) }
3956
- attr_reader :ledger_account_category_ids
1931
+ # Specifies a ledger transaction object that will be created with the expected
1932
+ # payment. If the ledger transaction cannot be created, then the expected payment
1933
+ # creation will fail. The resulting ledger transaction will mirror the status of
1934
+ # the expected payment.
1935
+ sig do
1936
+ returns(T.nilable(ModernTreasury::LedgerTransactionCreateRequest))
1937
+ end
1938
+ attr_reader :ledger_transaction
3957
1939
 
3958
- sig { params(ledger_account_category_ids: T::Array[String]).void }
3959
- attr_writer :ledger_account_category_ids
1940
+ sig do
1941
+ params(
1942
+ ledger_transaction:
1943
+ ModernTreasury::LedgerTransactionCreateRequest::OrHash
1944
+ ).void
1945
+ end
1946
+ attr_writer :ledger_transaction
3960
1947
 
3961
- # If the ledger account links to another object in Modern Treasury, the id will be
3962
- # populated here, otherwise null.
1948
+ # Either ledger_transaction or ledger_transaction_id can be provided. Only a
1949
+ # pending ledger transaction can be attached upon expected payment creation. Once
1950
+ # the expected payment is created, the status of the ledger transaction tracks the
1951
+ # expected payment automatically.
3963
1952
  sig { returns(T.nilable(String)) }
3964
- attr_reader :ledgerable_id
1953
+ attr_reader :ledger_transaction_id
3965
1954
 
3966
- sig { params(ledgerable_id: String).void }
3967
- attr_writer :ledgerable_id
1955
+ sig { params(ledger_transaction_id: String).void }
1956
+ attr_writer :ledger_transaction_id
3968
1957
 
3969
- # If the ledger account links to another object in Modern Treasury, the type will
3970
- # be populated here, otherwise null. The value is one of internal_account or
3971
- # external_account.
3972
1958
  sig do
3973
1959
  returns(
3974
1960
  T.nilable(
3975
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::OrSymbol
1961
+ T::Array[
1962
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem
1963
+ ]
3976
1964
  )
3977
1965
  )
3978
1966
  end
3979
- attr_reader :ledgerable_type
1967
+ attr_reader :line_items
3980
1968
 
3981
1969
  sig do
3982
1970
  params(
3983
- ledgerable_type:
3984
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::OrSymbol
1971
+ line_items:
1972
+ T::Array[
1973
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem::OrHash
1974
+ ]
3985
1975
  ).void
3986
1976
  end
3987
- attr_writer :ledgerable_type
1977
+ attr_writer :line_items
3988
1978
 
3989
1979
  # Additional data represented as key-value pairs. Both the key and value must be
3990
1980
  # strings.
@@ -3994,114 +1984,269 @@ module ModernTreasury
3994
1984
  sig { params(metadata: T::Hash[Symbol, String]).void }
3995
1985
  attr_writer :metadata
3996
1986
 
1987
+ # The reconciliation filters you have for this payment.
1988
+ sig { returns(T.nilable(T.anything)) }
1989
+ attr_accessor :reconciliation_filters
1990
+
1991
+ # The reconciliation groups you have for this payment.
1992
+ sig { returns(T.nilable(T.anything)) }
1993
+ attr_accessor :reconciliation_groups
1994
+
1995
+ # An array of reconciliation rule variables for this payment.
1996
+ sig do
1997
+ returns(T.nilable(T::Array[ModernTreasury::ReconciliationRule]))
1998
+ end
1999
+ attr_accessor :reconciliation_rule_variables
2000
+
2001
+ # For `ach`, this field will be passed through on an addenda record. For `wire`
2002
+ # payments the field will be passed through as the "Originator to Beneficiary
2003
+ # Information", also known as OBI or Fedwire tag 6000.
2004
+ sig { returns(T.nilable(String)) }
2005
+ attr_accessor :remittance_information
2006
+
2007
+ # The statement description you expect to see on the transaction. For ACH
2008
+ # payments, this will be the full line item passed from the bank. For wire
2009
+ # payments, this will be the OBI field on the wire. For check payments, this will
2010
+ # be the memo field.
2011
+ sig { returns(T.nilable(String)) }
2012
+ attr_accessor :statement_descriptor
2013
+
2014
+ # One of: ach, au_becs, bacs, book, check, eft, interac, provxchange, rtp, sen,
2015
+ # sepa, signet, wire.
2016
+ sig do
2017
+ returns(T.nilable(ModernTreasury::ExpectedPaymentType::OrSymbol))
2018
+ end
2019
+ attr_accessor :type
2020
+
3997
2021
  sig do
3998
2022
  params(
3999
- currency: String,
4000
- ledger_id: String,
4001
- name: String,
4002
- normal_balance: ModernTreasury::TransactionDirection::OrSymbol,
4003
- currency_exponent: T.nilable(Integer),
2023
+ amount_lower_bound: T.nilable(Integer),
2024
+ amount_upper_bound: T.nilable(Integer),
2025
+ counterparty_id: T.nilable(String),
2026
+ currency: T.nilable(ModernTreasury::Currency::OrSymbol),
2027
+ date_lower_bound: T.nilable(Date),
2028
+ date_upper_bound: T.nilable(Date),
4004
2029
  description: T.nilable(String),
4005
- ledger_account_category_ids: T::Array[String],
4006
- ledgerable_id: String,
4007
- ledgerable_type:
4008
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::OrSymbol,
4009
- metadata: T::Hash[Symbol, String]
2030
+ direction:
2031
+ T.nilable(
2032
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::OrSymbol
2033
+ ),
2034
+ external_id: T.nilable(String),
2035
+ internal_account_id: T.nilable(String),
2036
+ ledger_transaction:
2037
+ ModernTreasury::LedgerTransactionCreateRequest::OrHash,
2038
+ ledger_transaction_id: String,
2039
+ line_items:
2040
+ T::Array[
2041
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem::OrHash
2042
+ ],
2043
+ metadata: T::Hash[Symbol, String],
2044
+ reconciliation_filters: T.nilable(T.anything),
2045
+ reconciliation_groups: T.nilable(T.anything),
2046
+ reconciliation_rule_variables:
2047
+ T.nilable(T::Array[ModernTreasury::ReconciliationRule::OrHash]),
2048
+ remittance_information: T.nilable(String),
2049
+ statement_descriptor: T.nilable(String),
2050
+ type: T.nilable(ModernTreasury::ExpectedPaymentType::OrSymbol)
4010
2051
  ).returns(T.attached_class)
4011
2052
  end
4012
2053
  def self.new(
4013
- # The currency of the ledger account.
4014
- currency:,
4015
- # The id of the ledger that this account belongs to.
4016
- ledger_id:,
4017
- # The name of the ledger account.
4018
- name:,
4019
- # The normal balance of the ledger account.
4020
- normal_balance:,
4021
- # The currency exponent of the ledger account.
4022
- currency_exponent: nil,
4023
- # The description of the ledger account.
2054
+ # The lowest amount this expected payment may be equal to. Value in specified
2055
+ # currency's smallest unit. e.g. $10 would be represented as 1000.
2056
+ amount_lower_bound: nil,
2057
+ # The highest amount this expected payment may be equal to. Value in specified
2058
+ # currency's smallest unit. e.g. $10 would be represented as 1000.
2059
+ amount_upper_bound: nil,
2060
+ # The ID of the counterparty you expect for this payment.
2061
+ counterparty_id: nil,
2062
+ # Must conform to ISO 4217. Defaults to the currency of the internal account.
2063
+ currency: nil,
2064
+ # The earliest date the payment may come in. Format: yyyy-mm-dd
2065
+ date_lower_bound: nil,
2066
+ # The latest date the payment may come in. Format: yyyy-mm-dd
2067
+ date_upper_bound: nil,
2068
+ # An optional description for internal use.
4024
2069
  description: nil,
4025
- # The array of ledger account category ids that this ledger account should be a
4026
- # child of.
4027
- ledger_account_category_ids: nil,
4028
- # If the ledger account links to another object in Modern Treasury, the id will be
4029
- # populated here, otherwise null.
4030
- ledgerable_id: nil,
4031
- # If the ledger account links to another object in Modern Treasury, the type will
4032
- # be populated here, otherwise null. The value is one of internal_account or
4033
- # external_account.
4034
- ledgerable_type: nil,
2070
+ # One of credit or debit. When you are receiving money, use credit. When you are
2071
+ # being charged, use debit.
2072
+ direction: nil,
2073
+ # An optional user-defined 180 character unique identifier.
2074
+ external_id: nil,
2075
+ # The ID of the Internal Account for the expected payment.
2076
+ internal_account_id: nil,
2077
+ # Specifies a ledger transaction object that will be created with the expected
2078
+ # payment. If the ledger transaction cannot be created, then the expected payment
2079
+ # creation will fail. The resulting ledger transaction will mirror the status of
2080
+ # the expected payment.
2081
+ ledger_transaction: nil,
2082
+ # Either ledger_transaction or ledger_transaction_id can be provided. Only a
2083
+ # pending ledger transaction can be attached upon expected payment creation. Once
2084
+ # the expected payment is created, the status of the ledger transaction tracks the
2085
+ # expected payment automatically.
2086
+ ledger_transaction_id: nil,
2087
+ line_items: nil,
4035
2088
  # Additional data represented as key-value pairs. Both the key and value must be
4036
2089
  # strings.
4037
- metadata: nil
2090
+ metadata: nil,
2091
+ # The reconciliation filters you have for this payment.
2092
+ reconciliation_filters: nil,
2093
+ # The reconciliation groups you have for this payment.
2094
+ reconciliation_groups: nil,
2095
+ # An array of reconciliation rule variables for this payment.
2096
+ reconciliation_rule_variables: nil,
2097
+ # For `ach`, this field will be passed through on an addenda record. For `wire`
2098
+ # payments the field will be passed through as the "Originator to Beneficiary
2099
+ # Information", also known as OBI or Fedwire tag 6000.
2100
+ remittance_information: nil,
2101
+ # The statement description you expect to see on the transaction. For ACH
2102
+ # payments, this will be the full line item passed from the bank. For wire
2103
+ # payments, this will be the OBI field on the wire. For check payments, this will
2104
+ # be the memo field.
2105
+ statement_descriptor: nil,
2106
+ # One of: ach, au_becs, bacs, book, check, eft, interac, provxchange, rtp, sen,
2107
+ # sepa, signet, wire.
2108
+ type: nil
4038
2109
  )
4039
2110
  end
4040
2111
 
4041
2112
  sig do
4042
2113
  override.returns(
4043
2114
  {
4044
- currency: String,
4045
- ledger_id: String,
4046
- name: String,
4047
- normal_balance: ModernTreasury::TransactionDirection::OrSymbol,
4048
- currency_exponent: T.nilable(Integer),
2115
+ amount_lower_bound: T.nilable(Integer),
2116
+ amount_upper_bound: T.nilable(Integer),
2117
+ counterparty_id: T.nilable(String),
2118
+ currency: T.nilable(ModernTreasury::Currency::OrSymbol),
2119
+ date_lower_bound: T.nilable(Date),
2120
+ date_upper_bound: T.nilable(Date),
4049
2121
  description: T.nilable(String),
4050
- ledger_account_category_ids: T::Array[String],
4051
- ledgerable_id: String,
4052
- ledgerable_type:
4053
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::OrSymbol,
4054
- metadata: T::Hash[Symbol, String]
2122
+ direction:
2123
+ T.nilable(
2124
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::OrSymbol
2125
+ ),
2126
+ external_id: T.nilable(String),
2127
+ internal_account_id: T.nilable(String),
2128
+ ledger_transaction:
2129
+ ModernTreasury::LedgerTransactionCreateRequest,
2130
+ ledger_transaction_id: String,
2131
+ line_items:
2132
+ T::Array[
2133
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem
2134
+ ],
2135
+ metadata: T::Hash[Symbol, String],
2136
+ reconciliation_filters: T.nilable(T.anything),
2137
+ reconciliation_groups: T.nilable(T.anything),
2138
+ reconciliation_rule_variables:
2139
+ T.nilable(T::Array[ModernTreasury::ReconciliationRule]),
2140
+ remittance_information: T.nilable(String),
2141
+ statement_descriptor: T.nilable(String),
2142
+ type: T.nilable(ModernTreasury::ExpectedPaymentType::OrSymbol)
4055
2143
  }
4056
2144
  )
4057
2145
  end
4058
2146
  def to_hash
4059
2147
  end
4060
2148
 
4061
- # If the ledger account links to another object in Modern Treasury, the type will
4062
- # be populated here, otherwise null. The value is one of internal_account or
4063
- # external_account.
4064
- module LedgerableType
2149
+ # One of credit or debit. When you are receiving money, use credit. When you are
2150
+ # being charged, use debit.
2151
+ module Direction
4065
2152
  extend ModernTreasury::Internal::Type::Enum
4066
2153
 
4067
2154
  TaggedSymbol =
4068
2155
  T.type_alias do
4069
2156
  T.all(
4070
2157
  Symbol,
4071
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType
2158
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction
4072
2159
  )
4073
2160
  end
4074
2161
  OrSymbol = T.type_alias { T.any(Symbol, String) }
4075
2162
 
4076
- COUNTERPARTY =
4077
- T.let(
4078
- :counterparty,
4079
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::TaggedSymbol
4080
- )
4081
- EXTERNAL_ACCOUNT =
4082
- T.let(
4083
- :external_account,
4084
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::TaggedSymbol
4085
- )
4086
- INTERNAL_ACCOUNT =
4087
- T.let(
4088
- :internal_account,
4089
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::TaggedSymbol
4090
- )
4091
- VIRTUAL_ACCOUNT =
4092
- T.let(
4093
- :virtual_account,
4094
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::TaggedSymbol
4095
- )
2163
+ CREDIT =
2164
+ T.let(
2165
+ :credit,
2166
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::TaggedSymbol
2167
+ )
2168
+ DEBIT =
2169
+ T.let(
2170
+ :debit,
2171
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::TaggedSymbol
2172
+ )
2173
+
2174
+ sig do
2175
+ override.returns(
2176
+ T::Array[
2177
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction::TaggedSymbol
2178
+ ]
2179
+ )
2180
+ end
2181
+ def self.values
2182
+ end
2183
+ end
2184
+
2185
+ class LineItem < ModernTreasury::Internal::Type::BaseModel
2186
+ OrHash =
2187
+ T.type_alias do
2188
+ T.any(
2189
+ ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem,
2190
+ ModernTreasury::Internal::AnyHash
2191
+ )
2192
+ end
2193
+
2194
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
2195
+ # as 1000.
2196
+ sig { returns(Integer) }
2197
+ attr_accessor :amount
2198
+
2199
+ # The ID of one of your accounting categories. Note that these will only be
2200
+ # accessible if your accounting system has been connected.
2201
+ sig { returns(T.nilable(String)) }
2202
+ attr_accessor :accounting_category_id
2203
+
2204
+ # A free-form description of the line item.
2205
+ sig { returns(T.nilable(String)) }
2206
+ attr_accessor :description
2207
+
2208
+ # Additional data represented as key-value pairs. Both the key and value must be
2209
+ # strings.
2210
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2211
+ attr_reader :metadata
2212
+
2213
+ sig { params(metadata: T::Hash[Symbol, String]).void }
2214
+ attr_writer :metadata
2215
+
2216
+ sig do
2217
+ params(
2218
+ amount: Integer,
2219
+ accounting_category_id: T.nilable(String),
2220
+ description: T.nilable(String),
2221
+ metadata: T::Hash[Symbol, String]
2222
+ ).returns(T.attached_class)
2223
+ end
2224
+ def self.new(
2225
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
2226
+ # as 1000.
2227
+ amount:,
2228
+ # The ID of one of your accounting categories. Note that these will only be
2229
+ # accessible if your accounting system has been connected.
2230
+ accounting_category_id: nil,
2231
+ # A free-form description of the line item.
2232
+ description: nil,
2233
+ # Additional data represented as key-value pairs. Both the key and value must be
2234
+ # strings.
2235
+ metadata: nil
2236
+ )
2237
+ end
4096
2238
 
4097
2239
  sig do
4098
2240
  override.returns(
4099
- T::Array[
4100
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::TaggedSymbol
4101
- ]
2241
+ {
2242
+ amount: Integer,
2243
+ accounting_category_id: T.nilable(String),
2244
+ description: T.nilable(String),
2245
+ metadata: T::Hash[Symbol, String]
2246
+ }
4102
2247
  )
4103
2248
  end
4104
- def self.values
2249
+ def to_hash
4105
2250
  end
4106
2251
  end
4107
2252
  end
@@ -4495,21 +2640,10 @@ module ModernTreasury
4495
2640
  sig { params(id: String).void }
4496
2641
  attr_writer :id
4497
2642
 
4498
- sig do
4499
- returns(
4500
- T.nilable(
4501
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting
4502
- )
4503
- )
4504
- end
2643
+ sig { returns(T.nilable(ModernTreasury::Accounting)) }
4505
2644
  attr_reader :accounting
4506
2645
 
4507
- sig do
4508
- params(
4509
- accounting:
4510
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting::OrHash
4511
- ).void
4512
- end
2646
+ sig { params(accounting: ModernTreasury::Accounting::OrHash).void }
4513
2647
  attr_writer :accounting
4514
2648
 
4515
2649
  # The ID of one of your accounting categories. Note that these will only be
@@ -4828,8 +2962,7 @@ module ModernTreasury
4828
2962
  sig do
4829
2963
  params(
4830
2964
  id: String,
4831
- accounting:
4832
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting::OrHash,
2965
+ accounting: ModernTreasury::Accounting::OrHash,
4833
2966
  accounting_category_id: T.nilable(String),
4834
2967
  accounting_ledger_class_id: T.nilable(String),
4835
2968
  amount: Integer,
@@ -5010,8 +3143,7 @@ module ModernTreasury
5010
3143
  override.returns(
5011
3144
  {
5012
3145
  id: String,
5013
- accounting:
5014
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting,
3146
+ accounting: ModernTreasury::Accounting,
5015
3147
  accounting_category_id: T.nilable(String),
5016
3148
  accounting_ledger_class_id: T.nilable(String),
5017
3149
  amount: Integer,
@@ -5066,52 +3198,6 @@ module ModernTreasury
5066
3198
  def to_hash
5067
3199
  end
5068
3200
 
5069
- class Accounting < ModernTreasury::Internal::Type::BaseModel
5070
- OrHash =
5071
- T.type_alias do
5072
- T.any(
5073
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting,
5074
- ModernTreasury::Internal::AnyHash
5075
- )
5076
- end
5077
-
5078
- # The ID of one of your accounting categories. Note that these will only be
5079
- # accessible if your accounting system has been connected.
5080
- sig { returns(T.nilable(String)) }
5081
- attr_accessor :account_id
5082
-
5083
- # The ID of one of the class objects in your accounting system. Class objects
5084
- # track segments of your business independent of client or project. Note that
5085
- # these will only be accessible if your accounting system has been connected.
5086
- sig { returns(T.nilable(String)) }
5087
- attr_accessor :class_id
5088
-
5089
- sig do
5090
- params(
5091
- account_id: T.nilable(String),
5092
- class_id: T.nilable(String)
5093
- ).returns(T.attached_class)
5094
- end
5095
- def self.new(
5096
- # The ID of one of your accounting categories. Note that these will only be
5097
- # accessible if your accounting system has been connected.
5098
- account_id: nil,
5099
- # The ID of one of the class objects in your accounting system. Class objects
5100
- # track segments of your business independent of client or project. Note that
5101
- # these will only be accessible if your accounting system has been connected.
5102
- class_id: nil
5103
- )
5104
- end
5105
-
5106
- sig do
5107
- override.returns(
5108
- { account_id: T.nilable(String), class_id: T.nilable(String) }
5109
- )
5110
- end
5111
- def to_hash
5112
- end
5113
- end
5114
-
5115
3201
  # The party that will pay the fees for the payment order. See
5116
3202
  # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
5117
3203
  # differences between the options.
@@ -5411,11 +3497,7 @@ module ModernTreasury
5411
3497
 
5412
3498
  sig do
5413
3499
  returns(
5414
- T.nilable(
5415
- T::Array[
5416
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail
5417
- ]
5418
- )
3500
+ T.nilable(T::Array[ModernTreasury::ContactDetailCreateRequest])
5419
3501
  )
5420
3502
  end
5421
3503
  attr_reader :contact_details
@@ -5423,31 +3505,29 @@ module ModernTreasury
5423
3505
  sig do
5424
3506
  params(
5425
3507
  contact_details:
5426
- T::Array[
5427
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::OrHash
5428
- ]
3508
+ T::Array[ModernTreasury::ContactDetailCreateRequest::OrHash]
5429
3509
  ).void
5430
3510
  end
5431
3511
  attr_writer :contact_details
5432
3512
 
3513
+ # An optional user-defined 180 character unique identifier.
3514
+ sig { returns(T.nilable(String)) }
3515
+ attr_accessor :external_id
3516
+
5433
3517
  # Specifies a ledger account object that will be created with the external
5434
3518
  # account. The resulting ledger account is linked to the external account for
5435
3519
  # auto-ledgering Payment objects. See
5436
3520
  # https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects
5437
3521
  # for more details.
5438
3522
  sig do
5439
- returns(
5440
- T.nilable(
5441
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount
5442
- )
5443
- )
3523
+ returns(T.nilable(ModernTreasury::LedgerAccountCreateRequest))
5444
3524
  end
5445
3525
  attr_reader :ledger_account
5446
3526
 
5447
3527
  sig do
5448
3528
  params(
5449
3529
  ledger_account:
5450
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::OrHash
3530
+ ModernTreasury::LedgerAccountCreateRequest::OrHash
5451
3531
  ).void
5452
3532
  end
5453
3533
  attr_writer :ledger_account
@@ -5466,20 +3546,11 @@ module ModernTreasury
5466
3546
  attr_accessor :name
5467
3547
 
5468
3548
  # Required if receiving wire payments.
5469
- sig do
5470
- returns(
5471
- T.nilable(
5472
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress
5473
- )
5474
- )
5475
- end
3549
+ sig { returns(T.nilable(ModernTreasury::AddressRequest)) }
5476
3550
  attr_reader :party_address
5477
3551
 
5478
3552
  sig do
5479
- params(
5480
- party_address:
5481
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress::OrHash
5482
- ).void
3553
+ params(party_address: ModernTreasury::AddressRequest::OrHash).void
5483
3554
  end
5484
3555
  attr_writer :party_address
5485
3556
 
@@ -5546,15 +3617,13 @@ module ModernTreasury
5546
3617
  ],
5547
3618
  account_type: ModernTreasury::ExternalAccountType::OrSymbol,
5548
3619
  contact_details:
5549
- T::Array[
5550
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::OrHash
5551
- ],
3620
+ T::Array[ModernTreasury::ContactDetailCreateRequest::OrHash],
3621
+ external_id: T.nilable(String),
5552
3622
  ledger_account:
5553
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::OrHash,
3623
+ ModernTreasury::LedgerAccountCreateRequest::OrHash,
5554
3624
  metadata: T::Hash[Symbol, String],
5555
3625
  name: T.nilable(String),
5556
- party_address:
5557
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress::OrHash,
3626
+ party_address: ModernTreasury::AddressRequest::OrHash,
5558
3627
  party_identifier: String,
5559
3628
  party_name: String,
5560
3629
  party_type:
@@ -5573,6 +3642,8 @@ module ModernTreasury
5573
3642
  # Can be `checking`, `savings` or `other`.
5574
3643
  account_type: nil,
5575
3644
  contact_details: nil,
3645
+ # An optional user-defined 180 character unique identifier.
3646
+ external_id: nil,
5576
3647
  # Specifies a ledger account object that will be created with the external
5577
3648
  # account. The resulting ledger account is linked to the external account for
5578
3649
  # auto-ledgering Payment objects. See
@@ -5608,15 +3679,12 @@ module ModernTreasury
5608
3679
  ],
5609
3680
  account_type: ModernTreasury::ExternalAccountType::OrSymbol,
5610
3681
  contact_details:
5611
- T::Array[
5612
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail
5613
- ],
5614
- ledger_account:
5615
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount,
3682
+ T::Array[ModernTreasury::ContactDetailCreateRequest],
3683
+ external_id: T.nilable(String),
3684
+ ledger_account: ModernTreasury::LedgerAccountCreateRequest,
5616
3685
  metadata: T::Hash[Symbol, String],
5617
3686
  name: T.nilable(String),
5618
- party_address:
5619
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress,
3687
+ party_address: ModernTreasury::AddressRequest,
5620
3688
  party_identifier: String,
5621
3689
  party_name: String,
5622
3690
  party_type:
@@ -5634,437 +3702,144 @@ module ModernTreasury
5634
3702
  def to_hash
5635
3703
  end
5636
3704
 
5637
- class AccountDetail < ModernTreasury::Internal::Type::BaseModel
5638
- OrHash =
5639
- T.type_alias do
5640
- T.any(
5641
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail,
5642
- ModernTreasury::Internal::AnyHash
5643
- )
5644
- end
5645
-
5646
- sig { returns(String) }
5647
- attr_accessor :account_number
5648
-
5649
- sig do
5650
- returns(
5651
- T.nilable(
5652
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::OrSymbol
5653
- )
5654
- )
5655
- end
5656
- attr_reader :account_number_type
5657
-
5658
- sig do
5659
- params(
5660
- account_number_type:
5661
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::OrSymbol
5662
- ).void
5663
- end
5664
- attr_writer :account_number_type
5665
-
5666
- sig do
5667
- params(
5668
- account_number: String,
5669
- account_number_type:
5670
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::OrSymbol
5671
- ).returns(T.attached_class)
5672
- end
5673
- def self.new(account_number:, account_number_type: nil)
5674
- end
5675
-
5676
- sig do
5677
- override.returns(
5678
- {
5679
- account_number: String,
5680
- account_number_type:
5681
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::OrSymbol
5682
- }
5683
- )
5684
- end
5685
- def to_hash
5686
- end
5687
-
5688
- module AccountNumberType
5689
- extend ModernTreasury::Internal::Type::Enum
5690
-
5691
- TaggedSymbol =
5692
- T.type_alias do
5693
- T.all(
5694
- Symbol,
5695
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType
5696
- )
5697
- end
5698
- OrSymbol = T.type_alias { T.any(Symbol, String) }
5699
-
5700
- AU_NUMBER =
5701
- T.let(
5702
- :au_number,
5703
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5704
- )
5705
- BASE_ADDRESS =
5706
- T.let(
5707
- :base_address,
5708
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5709
- )
5710
- CLABE =
5711
- T.let(
5712
- :clabe,
5713
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5714
- )
5715
- ETHEREUM_ADDRESS =
5716
- T.let(
5717
- :ethereum_address,
5718
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5719
- )
5720
- HK_NUMBER =
5721
- T.let(
5722
- :hk_number,
5723
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5724
- )
5725
- IBAN =
5726
- T.let(
5727
- :iban,
5728
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5729
- )
5730
- ID_NUMBER =
5731
- T.let(
5732
- :id_number,
5733
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5734
- )
5735
- NZ_NUMBER =
5736
- T.let(
5737
- :nz_number,
5738
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5739
- )
5740
- OTHER =
5741
- T.let(
5742
- :other,
5743
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5744
- )
5745
- PAN =
5746
- T.let(
5747
- :pan,
5748
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5749
- )
5750
- POLYGON_ADDRESS =
5751
- T.let(
5752
- :polygon_address,
5753
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5754
- )
5755
- SG_NUMBER =
5756
- T.let(
5757
- :sg_number,
5758
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5759
- )
5760
- SOLANA_ADDRESS =
5761
- T.let(
5762
- :solana_address,
5763
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5764
- )
5765
- WALLET_ADDRESS =
5766
- T.let(
5767
- :wallet_address,
5768
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5769
- )
5770
-
5771
- sig do
5772
- override.returns(
5773
- T::Array[
5774
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5775
- ]
5776
- )
5777
- end
5778
- def self.values
5779
- end
5780
- end
5781
- end
5782
-
5783
- class ContactDetail < ModernTreasury::Internal::Type::BaseModel
3705
+ class AccountDetail < ModernTreasury::Internal::Type::BaseModel
5784
3706
  OrHash =
5785
3707
  T.type_alias do
5786
3708
  T.any(
5787
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail,
3709
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail,
5788
3710
  ModernTreasury::Internal::AnyHash
5789
3711
  )
5790
3712
  end
5791
3713
 
5792
- sig { returns(T.nilable(String)) }
5793
- attr_reader :contact_identifier
5794
-
5795
- sig { params(contact_identifier: String).void }
5796
- attr_writer :contact_identifier
3714
+ sig { returns(String) }
3715
+ attr_accessor :account_number
5797
3716
 
5798
3717
  sig do
5799
3718
  returns(
5800
3719
  T.nilable(
5801
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType::OrSymbol
3720
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::OrSymbol
5802
3721
  )
5803
3722
  )
5804
3723
  end
5805
- attr_reader :contact_identifier_type
3724
+ attr_reader :account_number_type
5806
3725
 
5807
3726
  sig do
5808
3727
  params(
5809
- contact_identifier_type:
5810
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType::OrSymbol
3728
+ account_number_type:
3729
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::OrSymbol
5811
3730
  ).void
5812
3731
  end
5813
- attr_writer :contact_identifier_type
3732
+ attr_writer :account_number_type
5814
3733
 
5815
3734
  sig do
5816
3735
  params(
5817
- contact_identifier: String,
5818
- contact_identifier_type:
5819
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType::OrSymbol
3736
+ account_number: String,
3737
+ account_number_type:
3738
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::OrSymbol
5820
3739
  ).returns(T.attached_class)
5821
3740
  end
5822
- def self.new(
5823
- contact_identifier: nil,
5824
- contact_identifier_type: nil
5825
- )
3741
+ def self.new(account_number:, account_number_type: nil)
5826
3742
  end
5827
3743
 
5828
3744
  sig do
5829
3745
  override.returns(
5830
3746
  {
5831
- contact_identifier: String,
5832
- contact_identifier_type:
5833
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType::OrSymbol
3747
+ account_number: String,
3748
+ account_number_type:
3749
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::OrSymbol
5834
3750
  }
5835
3751
  )
5836
3752
  end
5837
3753
  def to_hash
5838
3754
  end
5839
3755
 
5840
- module ContactIdentifierType
3756
+ module AccountNumberType
5841
3757
  extend ModernTreasury::Internal::Type::Enum
5842
3758
 
5843
3759
  TaggedSymbol =
5844
3760
  T.type_alias do
5845
3761
  T.all(
5846
3762
  Symbol,
5847
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType
3763
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType
5848
3764
  )
5849
3765
  end
5850
3766
  OrSymbol = T.type_alias { T.any(Symbol, String) }
5851
3767
 
5852
- EMAIL =
3768
+ AU_NUMBER =
5853
3769
  T.let(
5854
- :email,
5855
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType::TaggedSymbol
3770
+ :au_number,
3771
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5856
3772
  )
5857
- PHONE_NUMBER =
3773
+ BASE_ADDRESS =
5858
3774
  T.let(
5859
- :phone_number,
5860
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType::TaggedSymbol
3775
+ :base_address,
3776
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5861
3777
  )
5862
- WEBSITE =
3778
+ CLABE =
5863
3779
  T.let(
5864
- :website,
5865
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType::TaggedSymbol
3780
+ :clabe,
3781
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5866
3782
  )
5867
-
5868
- sig do
5869
- override.returns(
5870
- T::Array[
5871
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType::TaggedSymbol
5872
- ]
3783
+ ETHEREUM_ADDRESS =
3784
+ T.let(
3785
+ :ethereum_address,
3786
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5873
3787
  )
5874
- end
5875
- def self.values
5876
- end
5877
- end
5878
- end
5879
-
5880
- class LedgerAccount < ModernTreasury::Internal::Type::BaseModel
5881
- OrHash =
5882
- T.type_alias do
5883
- T.any(
5884
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount,
5885
- ModernTreasury::Internal::AnyHash
3788
+ HK_NUMBER =
3789
+ T.let(
3790
+ :hk_number,
3791
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5886
3792
  )
5887
- end
5888
-
5889
- # The currency of the ledger account.
5890
- sig { returns(String) }
5891
- attr_accessor :currency
5892
-
5893
- # The id of the ledger that this account belongs to.
5894
- sig { returns(String) }
5895
- attr_accessor :ledger_id
5896
-
5897
- # The name of the ledger account.
5898
- sig { returns(String) }
5899
- attr_accessor :name
5900
-
5901
- # The normal balance of the ledger account.
5902
- sig { returns(ModernTreasury::TransactionDirection::OrSymbol) }
5903
- attr_accessor :normal_balance
5904
-
5905
- # The currency exponent of the ledger account.
5906
- sig { returns(T.nilable(Integer)) }
5907
- attr_accessor :currency_exponent
5908
-
5909
- # The description of the ledger account.
5910
- sig { returns(T.nilable(String)) }
5911
- attr_accessor :description
5912
-
5913
- # The array of ledger account category ids that this ledger account should be a
5914
- # child of.
5915
- sig { returns(T.nilable(T::Array[String])) }
5916
- attr_reader :ledger_account_category_ids
5917
-
5918
- sig { params(ledger_account_category_ids: T::Array[String]).void }
5919
- attr_writer :ledger_account_category_ids
5920
-
5921
- # If the ledger account links to another object in Modern Treasury, the id will be
5922
- # populated here, otherwise null.
5923
- sig { returns(T.nilable(String)) }
5924
- attr_reader :ledgerable_id
5925
-
5926
- sig { params(ledgerable_id: String).void }
5927
- attr_writer :ledgerable_id
5928
-
5929
- # If the ledger account links to another object in Modern Treasury, the type will
5930
- # be populated here, otherwise null. The value is one of internal_account or
5931
- # external_account.
5932
- sig do
5933
- returns(
5934
- T.nilable(
5935
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::OrSymbol
3793
+ IBAN =
3794
+ T.let(
3795
+ :iban,
3796
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
5936
3797
  )
5937
- )
5938
- end
5939
- attr_reader :ledgerable_type
5940
-
5941
- sig do
5942
- params(
5943
- ledgerable_type:
5944
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::OrSymbol
5945
- ).void
5946
- end
5947
- attr_writer :ledgerable_type
5948
-
5949
- # Additional data represented as key-value pairs. Both the key and value must be
5950
- # strings.
5951
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
5952
- attr_reader :metadata
5953
-
5954
- sig { params(metadata: T::Hash[Symbol, String]).void }
5955
- attr_writer :metadata
5956
-
5957
- # Specifies a ledger account object that will be created with the external
5958
- # account. The resulting ledger account is linked to the external account for
5959
- # auto-ledgering Payment objects. See
5960
- # https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects
5961
- # for more details.
5962
- sig do
5963
- params(
5964
- currency: String,
5965
- ledger_id: String,
5966
- name: String,
5967
- normal_balance:
5968
- ModernTreasury::TransactionDirection::OrSymbol,
5969
- currency_exponent: T.nilable(Integer),
5970
- description: T.nilable(String),
5971
- ledger_account_category_ids: T::Array[String],
5972
- ledgerable_id: String,
5973
- ledgerable_type:
5974
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::OrSymbol,
5975
- metadata: T::Hash[Symbol, String]
5976
- ).returns(T.attached_class)
5977
- end
5978
- def self.new(
5979
- # The currency of the ledger account.
5980
- currency:,
5981
- # The id of the ledger that this account belongs to.
5982
- ledger_id:,
5983
- # The name of the ledger account.
5984
- name:,
5985
- # The normal balance of the ledger account.
5986
- normal_balance:,
5987
- # The currency exponent of the ledger account.
5988
- currency_exponent: nil,
5989
- # The description of the ledger account.
5990
- description: nil,
5991
- # The array of ledger account category ids that this ledger account should be a
5992
- # child of.
5993
- ledger_account_category_ids: nil,
5994
- # If the ledger account links to another object in Modern Treasury, the id will be
5995
- # populated here, otherwise null.
5996
- ledgerable_id: nil,
5997
- # If the ledger account links to another object in Modern Treasury, the type will
5998
- # be populated here, otherwise null. The value is one of internal_account or
5999
- # external_account.
6000
- ledgerable_type: nil,
6001
- # Additional data represented as key-value pairs. Both the key and value must be
6002
- # strings.
6003
- metadata: nil
6004
- )
6005
- end
6006
-
6007
- sig do
6008
- override.returns(
6009
- {
6010
- currency: String,
6011
- ledger_id: String,
6012
- name: String,
6013
- normal_balance:
6014
- ModernTreasury::TransactionDirection::OrSymbol,
6015
- currency_exponent: T.nilable(Integer),
6016
- description: T.nilable(String),
6017
- ledger_account_category_ids: T::Array[String],
6018
- ledgerable_id: String,
6019
- ledgerable_type:
6020
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::OrSymbol,
6021
- metadata: T::Hash[Symbol, String]
6022
- }
6023
- )
6024
- end
6025
- def to_hash
6026
- end
6027
-
6028
- # If the ledger account links to another object in Modern Treasury, the type will
6029
- # be populated here, otherwise null. The value is one of internal_account or
6030
- # external_account.
6031
- module LedgerableType
6032
- extend ModernTreasury::Internal::Type::Enum
6033
-
6034
- TaggedSymbol =
6035
- T.type_alias do
6036
- T.all(
6037
- Symbol,
6038
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType
6039
- )
6040
- end
6041
- OrSymbol = T.type_alias { T.any(Symbol, String) }
6042
-
6043
- COUNTERPARTY =
3798
+ ID_NUMBER =
3799
+ T.let(
3800
+ :id_number,
3801
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
3802
+ )
3803
+ NZ_NUMBER =
3804
+ T.let(
3805
+ :nz_number,
3806
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
3807
+ )
3808
+ OTHER =
3809
+ T.let(
3810
+ :other,
3811
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
3812
+ )
3813
+ PAN =
3814
+ T.let(
3815
+ :pan,
3816
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
3817
+ )
3818
+ POLYGON_ADDRESS =
6044
3819
  T.let(
6045
- :counterparty,
6046
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
3820
+ :polygon_address,
3821
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
6047
3822
  )
6048
- EXTERNAL_ACCOUNT =
3823
+ SG_NUMBER =
6049
3824
  T.let(
6050
- :external_account,
6051
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
3825
+ :sg_number,
3826
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
6052
3827
  )
6053
- INTERNAL_ACCOUNT =
3828
+ SOLANA_ADDRESS =
6054
3829
  T.let(
6055
- :internal_account,
6056
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
3830
+ :solana_address,
3831
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
6057
3832
  )
6058
- VIRTUAL_ACCOUNT =
3833
+ WALLET_ADDRESS =
6059
3834
  T.let(
6060
- :virtual_account,
6061
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
3835
+ :wallet_address,
3836
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
6062
3837
  )
6063
3838
 
6064
3839
  sig do
6065
3840
  override.returns(
6066
3841
  T::Array[
6067
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType::TaggedSymbol
3842
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
6068
3843
  ]
6069
3844
  )
6070
3845
  end
@@ -6073,78 +3848,6 @@ module ModernTreasury
6073
3848
  end
6074
3849
  end
6075
3850
 
6076
- class PartyAddress < ModernTreasury::Internal::Type::BaseModel
6077
- OrHash =
6078
- T.type_alias do
6079
- T.any(
6080
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress,
6081
- ModernTreasury::Internal::AnyHash
6082
- )
6083
- end
6084
-
6085
- # Country code conforms to [ISO 3166-1 alpha-2]
6086
- sig { returns(T.nilable(String)) }
6087
- attr_accessor :country
6088
-
6089
- sig { returns(T.nilable(String)) }
6090
- attr_accessor :line1
6091
-
6092
- sig { returns(T.nilable(String)) }
6093
- attr_accessor :line2
6094
-
6095
- # Locality or City.
6096
- sig { returns(T.nilable(String)) }
6097
- attr_accessor :locality
6098
-
6099
- # The postal code of the address.
6100
- sig { returns(T.nilable(String)) }
6101
- attr_accessor :postal_code
6102
-
6103
- # Region or State.
6104
- sig { returns(T.nilable(String)) }
6105
- attr_accessor :region
6106
-
6107
- # Required if receiving wire payments.
6108
- sig do
6109
- params(
6110
- country: T.nilable(String),
6111
- line1: T.nilable(String),
6112
- line2: T.nilable(String),
6113
- locality: T.nilable(String),
6114
- postal_code: T.nilable(String),
6115
- region: T.nilable(String)
6116
- ).returns(T.attached_class)
6117
- end
6118
- def self.new(
6119
- # Country code conforms to [ISO 3166-1 alpha-2]
6120
- country: nil,
6121
- line1: nil,
6122
- line2: nil,
6123
- # Locality or City.
6124
- locality: nil,
6125
- # The postal code of the address.
6126
- postal_code: nil,
6127
- # Region or State.
6128
- region: nil
6129
- )
6130
- end
6131
-
6132
- sig do
6133
- override.returns(
6134
- {
6135
- country: T.nilable(String),
6136
- line1: T.nilable(String),
6137
- line2: T.nilable(String),
6138
- locality: T.nilable(String),
6139
- postal_code: T.nilable(String),
6140
- region: T.nilable(String)
6141
- }
6142
- )
6143
- end
6144
- def to_hash
6145
- end
6146
- end
6147
-
6148
3851
  # Either `individual` or `business`.
6149
3852
  module PartyType
6150
3853
  extend ModernTreasury::Internal::Type::Enum
@@ -6720,6 +4423,10 @@ module ModernTreasury
6720
4423
  end
6721
4424
  attr_accessor :direction
6722
4425
 
4426
+ # An optional user-defined 180 character unique identifier.
4427
+ sig { returns(T.nilable(String)) }
4428
+ attr_accessor :external_id
4429
+
6723
4430
  # The ID of the Internal Account for the expected payment.
6724
4431
  sig { returns(T.nilable(String)) }
6725
4432
  attr_accessor :internal_account_id
@@ -6791,6 +4498,7 @@ module ModernTreasury
6791
4498
  T.nilable(
6792
4499
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID::Direction::OrSymbol
6793
4500
  ),
4501
+ external_id: T.nilable(String),
6794
4502
  internal_account_id: T.nilable(String),
6795
4503
  metadata: T::Hash[Symbol, String],
6796
4504
  reconciliation_filters: T.nilable(T.anything),
@@ -6827,6 +4535,8 @@ module ModernTreasury
6827
4535
  # One of credit or debit. When you are receiving money, use credit. When you are
6828
4536
  # being charged, use debit.
6829
4537
  direction: nil,
4538
+ # An optional user-defined 180 character unique identifier.
4539
+ external_id: nil,
6830
4540
  # The ID of the Internal Account for the expected payment.
6831
4541
  internal_account_id: nil,
6832
4542
  # Additional data represented as key-value pairs. Both the key and value must be
@@ -6871,6 +4581,7 @@ module ModernTreasury
6871
4581
  T.nilable(
6872
4582
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID::Direction::OrSymbol
6873
4583
  ),
4584
+ external_id: T.nilable(String),
6874
4585
  internal_account_id: T.nilable(String),
6875
4586
  metadata: T::Hash[Symbol, String],
6876
4587
  reconciliation_filters: T.nilable(T.anything),
@@ -7031,11 +4742,7 @@ module ModernTreasury
7031
4742
  # An array of ledger entry objects.
7032
4743
  sig do
7033
4744
  returns(
7034
- T.nilable(
7035
- T::Array[
7036
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry
7037
- ]
7038
- )
4745
+ T.nilable(T::Array[ModernTreasury::LedgerEntryCreateRequest])
7039
4746
  )
7040
4747
  end
7041
4748
  attr_reader :ledger_entries
@@ -7043,9 +4750,7 @@ module ModernTreasury
7043
4750
  sig do
7044
4751
  params(
7045
4752
  ledger_entries:
7046
- T::Array[
7047
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry::OrHash
7048
- ]
4753
+ T::Array[ModernTreasury::LedgerEntryCreateRequest::OrHash]
7049
4754
  ).void
7050
4755
  end
7051
4756
  attr_writer :ledger_entries
@@ -7060,8 +4765,7 @@ module ModernTreasury
7060
4765
 
7061
4766
  # If the ledger transaction can be reconciled to another object in Modern
7062
4767
  # Treasury, the type will be populated here, otherwise null. This can be one of
7063
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
7064
- # reversal.
4768
+ # payment_order, incoming_payment_detail, expected_payment, return, or reversal.
7065
4769
  sig do
7066
4770
  returns(
7067
4771
  T.nilable(
@@ -7111,9 +4815,7 @@ module ModernTreasury
7111
4815
  description: T.nilable(String),
7112
4816
  effective_at: Time,
7113
4817
  ledger_entries:
7114
- T::Array[
7115
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry::OrHash
7116
- ],
4818
+ T::Array[ModernTreasury::LedgerEntryCreateRequest::OrHash],
7117
4819
  ledgerable_id: String,
7118
4820
  ledgerable_type:
7119
4821
  ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerableType::OrSymbol,
@@ -7136,8 +4838,7 @@ module ModernTreasury
7136
4838
  ledgerable_id: nil,
7137
4839
  # If the ledger transaction can be reconciled to another object in Modern
7138
4840
  # Treasury, the type will be populated here, otherwise null. This can be one of
7139
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
7140
- # reversal.
4841
+ # payment_order, incoming_payment_detail, expected_payment, return, or reversal.
7141
4842
  ledgerable_type: nil,
7142
4843
  # Additional data represented as key-value pairs. Both the key and value must be
7143
4844
  # strings.
@@ -7154,9 +4855,7 @@ module ModernTreasury
7154
4855
  description: T.nilable(String),
7155
4856
  effective_at: Time,
7156
4857
  ledger_entries:
7157
- T::Array[
7158
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry
7159
- ],
4858
+ T::Array[ModernTreasury::LedgerEntryCreateRequest],
7160
4859
  ledgerable_id: String,
7161
4860
  ledgerable_type:
7162
4861
  ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerableType::OrSymbol,
@@ -7169,142 +4868,9 @@ module ModernTreasury
7169
4868
  def to_hash
7170
4869
  end
7171
4870
 
7172
- class LedgerEntry < ModernTreasury::Internal::Type::BaseModel
7173
- OrHash =
7174
- T.type_alias do
7175
- T.any(
7176
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry,
7177
- ModernTreasury::Internal::AnyHash
7178
- )
7179
- end
7180
-
7181
- # Value in specified currency's smallest unit. e.g. $10 would be represented
7182
- # as 1000. Can be any integer up to 36 digits.
7183
- sig { returns(Integer) }
7184
- attr_accessor :amount
7185
-
7186
- # One of `credit`, `debit`. Describes the direction money is flowing in the
7187
- # transaction. A `credit` moves money from your account to someone else's. A
7188
- # `debit` pulls money from someone else's account to your own. Note that wire,
7189
- # rtp, and check payments will always be `credit`.
7190
- sig { returns(ModernTreasury::TransactionDirection::OrSymbol) }
7191
- attr_accessor :direction
7192
-
7193
- # The ledger account that this ledger entry is associated with.
7194
- sig { returns(String) }
7195
- attr_accessor :ledger_account_id
7196
-
7197
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
7198
- # account’s available balance. If any of these conditions would be false after the
7199
- # transaction is created, the entire call will fail with error code 422.
7200
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
7201
- attr_accessor :available_balance_amount
7202
-
7203
- # Lock version of the ledger account. This can be passed when creating a ledger
7204
- # transaction to only succeed if no ledger transactions have posted since the
7205
- # given version. See our post about Designing the Ledgers API with Optimistic
7206
- # Locking for more details.
7207
- sig { returns(T.nilable(Integer)) }
7208
- attr_accessor :lock_version
7209
-
7210
- # Additional data represented as key-value pairs. Both the key and value must be
7211
- # strings.
7212
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
7213
- attr_reader :metadata
7214
-
7215
- sig { params(metadata: T::Hash[Symbol, String]).void }
7216
- attr_writer :metadata
7217
-
7218
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
7219
- # account’s pending balance. If any of these conditions would be false after the
7220
- # transaction is created, the entire call will fail with error code 422.
7221
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
7222
- attr_accessor :pending_balance_amount
7223
-
7224
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
7225
- # account’s posted balance. If any of these conditions would be false after the
7226
- # transaction is created, the entire call will fail with error code 422.
7227
- sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
7228
- attr_accessor :posted_balance_amount
7229
-
7230
- # If true, response will include the balance of the associated ledger account for
7231
- # the entry.
7232
- sig { returns(T.nilable(T::Boolean)) }
7233
- attr_accessor :show_resulting_ledger_account_balances
7234
-
7235
- sig do
7236
- params(
7237
- amount: Integer,
7238
- direction: ModernTreasury::TransactionDirection::OrSymbol,
7239
- ledger_account_id: String,
7240
- available_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
7241
- lock_version: T.nilable(Integer),
7242
- metadata: T::Hash[Symbol, String],
7243
- pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
7244
- posted_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
7245
- show_resulting_ledger_account_balances: T.nilable(T::Boolean)
7246
- ).returns(T.attached_class)
7247
- end
7248
- def self.new(
7249
- # Value in specified currency's smallest unit. e.g. $10 would be represented
7250
- # as 1000. Can be any integer up to 36 digits.
7251
- amount:,
7252
- # One of `credit`, `debit`. Describes the direction money is flowing in the
7253
- # transaction. A `credit` moves money from your account to someone else's. A
7254
- # `debit` pulls money from someone else's account to your own. Note that wire,
7255
- # rtp, and check payments will always be `credit`.
7256
- direction:,
7257
- # The ledger account that this ledger entry is associated with.
7258
- ledger_account_id:,
7259
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
7260
- # account’s available balance. If any of these conditions would be false after the
7261
- # transaction is created, the entire call will fail with error code 422.
7262
- available_balance_amount: nil,
7263
- # Lock version of the ledger account. This can be passed when creating a ledger
7264
- # transaction to only succeed if no ledger transactions have posted since the
7265
- # given version. See our post about Designing the Ledgers API with Optimistic
7266
- # Locking for more details.
7267
- lock_version: nil,
7268
- # Additional data represented as key-value pairs. Both the key and value must be
7269
- # strings.
7270
- metadata: nil,
7271
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
7272
- # account’s pending balance. If any of these conditions would be false after the
7273
- # transaction is created, the entire call will fail with error code 422.
7274
- pending_balance_amount: nil,
7275
- # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
7276
- # account’s posted balance. If any of these conditions would be false after the
7277
- # transaction is created, the entire call will fail with error code 422.
7278
- posted_balance_amount: nil,
7279
- # If true, response will include the balance of the associated ledger account for
7280
- # the entry.
7281
- show_resulting_ledger_account_balances: nil
7282
- )
7283
- end
7284
-
7285
- sig do
7286
- override.returns(
7287
- {
7288
- amount: Integer,
7289
- direction: ModernTreasury::TransactionDirection::OrSymbol,
7290
- ledger_account_id: String,
7291
- available_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
7292
- lock_version: T.nilable(Integer),
7293
- metadata: T::Hash[Symbol, String],
7294
- pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
7295
- posted_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
7296
- show_resulting_ledger_account_balances: T.nilable(T::Boolean)
7297
- }
7298
- )
7299
- end
7300
- def to_hash
7301
- end
7302
- end
7303
-
7304
4871
  # If the ledger transaction can be reconciled to another object in Modern
7305
4872
  # Treasury, the type will be populated here, otherwise null. This can be one of
7306
- # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
7307
- # reversal.
4873
+ # payment_order, incoming_payment_detail, expected_payment, return, or reversal.
7308
4874
  module LedgerableType
7309
4875
  extend ModernTreasury::Internal::Type::Enum
7310
4876
 
@@ -7327,11 +4893,6 @@ module ModernTreasury
7327
4893
  :incoming_payment_detail,
7328
4894
  ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerableType::TaggedSymbol
7329
4895
  )
7330
- PAPER_ITEM =
7331
- T.let(
7332
- :paper_item,
7333
- ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerableType::TaggedSymbol
7334
- )
7335
4896
  PAYMENT_ORDER =
7336
4897
  T.let(
7337
4898
  :payment_order,