modern_treasury 0.1.0.pre.alpha.20 → 0.1.0.pre.alpha.22

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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/README.md +3 -3
  4. data/lib/modern_treasury/errors.rb +22 -0
  5. data/lib/modern_treasury/internal/transport/base_client.rb +10 -2
  6. data/lib/modern_treasury/internal/type/array_of.rb +6 -1
  7. data/lib/modern_treasury/internal/type/base_model.rb +77 -23
  8. data/lib/modern_treasury/internal/type/boolean.rb +7 -1
  9. data/lib/modern_treasury/internal/type/converter.rb +42 -34
  10. data/lib/modern_treasury/internal/type/enum.rb +16 -5
  11. data/lib/modern_treasury/internal/type/file_input.rb +6 -1
  12. data/lib/modern_treasury/internal/type/hash_of.rb +6 -1
  13. data/lib/modern_treasury/internal/type/union.rb +19 -9
  14. data/lib/modern_treasury/internal/type/unknown.rb +7 -1
  15. data/lib/modern_treasury/internal/util.rb +13 -10
  16. data/lib/modern_treasury/models/bulk_request_create_params.rb +143 -18
  17. data/lib/modern_treasury/models/bulk_result.rb +5 -3
  18. data/lib/modern_treasury/models/counterparty_create_params.rb +1 -0
  19. data/lib/modern_treasury/models/external_account_create_params.rb +1 -0
  20. data/lib/modern_treasury/models/incoming_payment_detail.rb +1 -0
  21. data/lib/modern_treasury/models/internal_account.rb +146 -3
  22. data/lib/modern_treasury/models/internal_account_create_params.rb +138 -1
  23. data/lib/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rb +23 -0
  24. data/lib/modern_treasury/models/invoice.rb +10 -1
  25. data/lib/modern_treasury/models/ledger_account.rb +9 -1
  26. data/lib/modern_treasury/models/ledger_account_category.rb +9 -1
  27. data/lib/modern_treasury/models/ledger_account_category_list_params.rb +8 -1
  28. data/lib/modern_treasury/models/ledger_account_list_params.rb +15 -1
  29. data/lib/modern_treasury/models/payment_order.rb +21 -9
  30. data/lib/modern_treasury/models/payment_order_create_async_params.rb +8 -7
  31. data/lib/modern_treasury/models/payment_order_create_params.rb +8 -7
  32. data/lib/modern_treasury/models/payment_order_list_params.rb +9 -1
  33. data/lib/modern_treasury/models/payment_order_update_params.rb +9 -7
  34. data/lib/modern_treasury/models/payment_reference.rb +4 -1
  35. data/lib/modern_treasury/models/return_create_params.rb +75 -1
  36. data/lib/modern_treasury/models/return_object.rb +80 -2
  37. data/lib/modern_treasury/models/routing_detail.rb +1 -0
  38. data/lib/modern_treasury/models/routing_detail_create_params.rb +1 -0
  39. data/lib/modern_treasury/models/transaction.rb +1 -0
  40. data/lib/modern_treasury/models/transaction_create_params.rb +9 -1
  41. data/lib/modern_treasury/models/transactions/transaction_line_item.rb +9 -1
  42. data/lib/modern_treasury/models/validation_validate_routing_number_params.rb +1 -0
  43. data/lib/modern_treasury/models/virtual_account_create_params.rb +1 -0
  44. data/lib/modern_treasury/models.rb +4 -22
  45. data/lib/modern_treasury/resources/bulk_requests.rb +1 -1
  46. data/lib/modern_treasury/resources/internal_accounts/balance_reports.rb +2 -2
  47. data/lib/modern_treasury/resources/internal_accounts.rb +3 -1
  48. data/lib/modern_treasury/resources/ledger_account_categories.rb +3 -1
  49. data/lib/modern_treasury/resources/ledger_accounts.rb +5 -1
  50. data/lib/modern_treasury/resources/ledger_event_handlers.rb +0 -111
  51. data/lib/modern_treasury/resources/ledgerable_events.rb +0 -51
  52. data/lib/modern_treasury/resources/payment_orders.rb +6 -4
  53. data/lib/modern_treasury/resources/returns.rb +3 -1
  54. data/lib/modern_treasury/resources/transactions.rb +3 -1
  55. data/lib/modern_treasury/version.rb +1 -1
  56. data/lib/modern_treasury.rb +3 -10
  57. data/rbi/modern_treasury/errors.rbi +16 -0
  58. data/rbi/modern_treasury/internal/type/boolean.rbi +2 -0
  59. data/rbi/modern_treasury/internal/type/converter.rbi +15 -15
  60. data/rbi/modern_treasury/internal/type/union.rbi +5 -0
  61. data/rbi/modern_treasury/internal/type/unknown.rbi +2 -0
  62. data/rbi/modern_treasury/internal/util.rbi +2 -0
  63. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +234 -18
  64. data/rbi/modern_treasury/models/bulk_result.rbi +2 -0
  65. data/rbi/modern_treasury/models/counterparty_create_params.rbi +5 -0
  66. data/rbi/modern_treasury/models/external_account_create_params.rbi +5 -0
  67. data/rbi/modern_treasury/models/incoming_payment_detail.rbi +5 -0
  68. data/rbi/modern_treasury/models/internal_account.rbi +328 -5
  69. data/rbi/modern_treasury/models/internal_account_create_params.rbi +333 -0
  70. data/rbi/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbi +37 -0
  71. data/rbi/modern_treasury/models/invoice.rbi +10 -0
  72. data/rbi/modern_treasury/models/ledger_account.rbi +8 -0
  73. data/rbi/modern_treasury/models/ledger_account_category.rbi +8 -0
  74. data/rbi/modern_treasury/models/ledger_account_category_list_params.rbi +9 -0
  75. data/rbi/modern_treasury/models/ledger_account_list_params.rbi +22 -0
  76. data/rbi/modern_treasury/models/payment_order.rbi +39 -14
  77. data/rbi/modern_treasury/models/payment_order_create_async_params.rbi +14 -9
  78. data/rbi/modern_treasury/models/payment_order_create_params.rbi +14 -9
  79. data/rbi/modern_treasury/models/payment_order_list_params.rbi +14 -0
  80. data/rbi/modern_treasury/models/payment_order_update_params.rbi +19 -9
  81. data/rbi/modern_treasury/models/payment_reference.rbi +20 -5
  82. data/rbi/modern_treasury/models/return_create_params.rbi +114 -0
  83. data/rbi/modern_treasury/models/return_object.rbi +131 -5
  84. data/rbi/modern_treasury/models/routing_detail.rbi +5 -0
  85. data/rbi/modern_treasury/models/routing_detail_create_params.rbi +5 -0
  86. data/rbi/modern_treasury/models/transaction.rbi +5 -0
  87. data/rbi/modern_treasury/models/transaction_create_params.rbi +8 -0
  88. data/rbi/modern_treasury/models/transactions/transaction_line_item.rbi +8 -0
  89. data/rbi/modern_treasury/models/validation_validate_routing_number_params.rbi +5 -0
  90. data/rbi/modern_treasury/models/virtual_account_create_params.rbi +5 -0
  91. data/rbi/modern_treasury/models.rbi +0 -25
  92. data/rbi/modern_treasury/resources/bulk_requests.rbi +1 -0
  93. data/rbi/modern_treasury/resources/internal_accounts/balance_reports.rbi +7 -3
  94. data/rbi/modern_treasury/resources/internal_accounts.rbi +7 -0
  95. data/rbi/modern_treasury/resources/ledger_account_categories.rbi +2 -0
  96. data/rbi/modern_treasury/resources/ledger_accounts.rbi +4 -0
  97. data/rbi/modern_treasury/resources/ledger_event_handlers.rbi +0 -97
  98. data/rbi/modern_treasury/resources/ledgerable_events.rbi +0 -38
  99. data/rbi/modern_treasury/resources/payment_orders.rbi +11 -9
  100. data/rbi/modern_treasury/resources/returns.rbi +6 -0
  101. data/rbi/modern_treasury/resources/transactions.rbi +3 -0
  102. data/sig/modern_treasury/errors.rbs +9 -0
  103. data/sig/modern_treasury/internal/type/converter.rbs +7 -1
  104. data/sig/modern_treasury/models/bulk_request_create_params.rbs +101 -0
  105. data/sig/modern_treasury/models/bulk_result.rbs +1 -0
  106. data/sig/modern_treasury/models/counterparty_create_params.rbs +2 -0
  107. data/sig/modern_treasury/models/external_account_create_params.rbs +2 -0
  108. data/sig/modern_treasury/models/incoming_payment_detail.rbs +2 -0
  109. data/sig/modern_treasury/models/internal_account.rbs +147 -3
  110. data/sig/modern_treasury/models/internal_account_create_params.rbs +143 -0
  111. data/sig/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbs +10 -0
  112. data/sig/modern_treasury/models/invoice.rbs +5 -0
  113. data/sig/modern_treasury/models/ledger_account.rbs +5 -0
  114. data/sig/modern_treasury/models/ledger_account_category.rbs +5 -0
  115. data/sig/modern_treasury/models/ledger_account_category_list_params.rbs +7 -0
  116. data/sig/modern_treasury/models/ledger_account_list_params.rbs +16 -0
  117. data/sig/modern_treasury/models/payment_order.rbs +15 -2
  118. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +2 -0
  119. data/sig/modern_treasury/models/payment_order_create_params.rbs +2 -0
  120. data/sig/modern_treasury/models/payment_order_list_params.rbs +9 -0
  121. data/sig/modern_treasury/models/payment_order_update_params.rbs +4 -0
  122. data/sig/modern_treasury/models/payment_reference.rbs +8 -2
  123. data/sig/modern_treasury/models/return_create_params.rbs +47 -0
  124. data/sig/modern_treasury/models/return_object.rbs +55 -2
  125. data/sig/modern_treasury/models/routing_detail.rbs +2 -0
  126. data/sig/modern_treasury/models/routing_detail_create_params.rbs +2 -0
  127. data/sig/modern_treasury/models/transaction.rbs +2 -0
  128. data/sig/modern_treasury/models/transaction_create_params.rbs +5 -0
  129. data/sig/modern_treasury/models/transactions/transaction_line_item.rbs +5 -0
  130. data/sig/modern_treasury/models/validation_validate_routing_number_params.rbs +2 -0
  131. data/sig/modern_treasury/models/virtual_account_create_params.rbs +2 -0
  132. data/sig/modern_treasury/models.rbs +0 -18
  133. data/sig/modern_treasury/resources/internal_accounts/balance_reports.rbs +1 -1
  134. data/sig/modern_treasury/resources/internal_accounts.rbs +1 -0
  135. data/sig/modern_treasury/resources/ledger_account_categories.rbs +1 -0
  136. data/sig/modern_treasury/resources/ledger_accounts.rbs +2 -0
  137. data/sig/modern_treasury/resources/ledger_event_handlers.rbs +0 -30
  138. data/sig/modern_treasury/resources/ledgerable_events.rbs +0 -13
  139. data/sig/modern_treasury/resources/payment_orders.rbs +1 -0
  140. data/sig/modern_treasury/resources/returns.rbs +1 -0
  141. data/sig/modern_treasury/resources/transactions.rbs +1 -0
  142. metadata +2 -29
  143. data/lib/modern_treasury/models/ledger_event_handler.rb +0 -222
  144. data/lib/modern_treasury/models/ledger_event_handler_create_params.rb +0 -177
  145. data/lib/modern_treasury/models/ledger_event_handler_delete_params.rb +0 -14
  146. data/lib/modern_treasury/models/ledger_event_handler_list_params.rb +0 -58
  147. data/lib/modern_treasury/models/ledger_event_handler_retrieve_params.rb +0 -14
  148. data/lib/modern_treasury/models/ledger_event_handler_variable.rb +0 -59
  149. data/lib/modern_treasury/models/ledgerable_event.rb +0 -92
  150. data/lib/modern_treasury/models/ledgerable_event_create_params.rb +0 -50
  151. data/lib/modern_treasury/models/ledgerable_event_retrieve_params.rb +0 -14
  152. data/rbi/modern_treasury/models/ledger_event_handler.rbi +0 -322
  153. data/rbi/modern_treasury/models/ledger_event_handler_create_params.rbi +0 -303
  154. data/rbi/modern_treasury/models/ledger_event_handler_delete_params.rbi +0 -32
  155. data/rbi/modern_treasury/models/ledger_event_handler_list_params.rbi +0 -92
  156. data/rbi/modern_treasury/models/ledger_event_handler_retrieve_params.rbi +0 -32
  157. data/rbi/modern_treasury/models/ledger_event_handler_variable.rbi +0 -98
  158. data/rbi/modern_treasury/models/ledgerable_event.rbi +0 -108
  159. data/rbi/modern_treasury/models/ledgerable_event_create_params.rbi +0 -75
  160. data/rbi/modern_treasury/models/ledgerable_event_retrieve_params.rbi +0 -32
  161. data/sig/modern_treasury/models/ledger_event_handler.rbs +0 -149
  162. data/sig/modern_treasury/models/ledger_event_handler_create_params.rbs +0 -127
  163. data/sig/modern_treasury/models/ledger_event_handler_delete_params.rbs +0 -15
  164. data/sig/modern_treasury/models/ledger_event_handler_list_params.rbs +0 -54
  165. data/sig/modern_treasury/models/ledger_event_handler_retrieve_params.rbs +0 -15
  166. data/sig/modern_treasury/models/ledger_event_handler_variable.rbs +0 -36
  167. data/sig/modern_treasury/models/ledgerable_event.rbs +0 -65
  168. data/sig/modern_treasury/models/ledgerable_event_create_params.rbs +0 -43
  169. data/sig/modern_treasury/models/ledgerable_event_retrieve_params.rbs +0 -15
@@ -35,6 +35,7 @@ module ModernTreasury
35
35
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest,
36
36
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest,
37
37
  ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest,
38
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest,
38
39
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest,
39
40
  ModernTreasury::BulkRequestCreateParams::Resource::ID,
40
41
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID,
@@ -67,6 +68,7 @@ module ModernTreasury
67
68
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::OrHash,
68
69
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::OrHash,
69
70
  ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::OrHash,
71
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::OrHash,
70
72
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest::OrHash,
71
73
  ModernTreasury::BulkRequestCreateParams::Resource::ID::OrHash,
72
74
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::OrHash,
@@ -107,6 +109,7 @@ module ModernTreasury
107
109
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest,
108
110
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest,
109
111
  ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest,
112
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest,
110
113
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest,
111
114
  ModernTreasury::BulkRequestCreateParams::Resource::ID,
112
115
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID,
@@ -226,6 +229,7 @@ module ModernTreasury
226
229
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest,
227
230
  ModernTreasury::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest,
228
231
  ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest,
232
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest,
229
233
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest,
230
234
  ModernTreasury::BulkRequestCreateParams::Resource::ID,
231
235
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID,
@@ -297,9 +301,9 @@ module ModernTreasury
297
301
  sig { returns(T.nilable(String)) }
298
302
  attr_accessor :accounting_ledger_class_id
299
303
 
300
- # The party that will pay the fees for the payment order. Only applies to wire
301
- # payment orders. Can be one of shared, sender, or receiver, which correspond
302
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
304
+ # The party that will pay the fees for the payment order. See
305
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
306
+ # differences between the options.
303
307
  sig do
304
308
  returns(
305
309
  T.nilable(
@@ -638,9 +642,9 @@ module ModernTreasury
638
642
  # The ID of one of your accounting ledger classes. Note that these will only be
639
643
  # accessible if your accounting system has been connected.
640
644
  accounting_ledger_class_id: nil,
641
- # The party that will pay the fees for the payment order. Only applies to wire
642
- # payment orders. Can be one of shared, sender, or receiver, which correspond
643
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
645
+ # The party that will pay the fees for the payment order. See
646
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
647
+ # differences between the options.
644
648
  charge_bearer: nil,
645
649
  # Defaults to the currency of the originating account.
646
650
  currency: nil,
@@ -885,9 +889,9 @@ module ModernTreasury
885
889
  end
886
890
  end
887
891
 
888
- # The party that will pay the fees for the payment order. Only applies to wire
889
- # payment orders. Can be one of shared, sender, or receiver, which correspond
890
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
892
+ # The party that will pay the fees for the payment order. See
893
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
894
+ # differences between the options.
891
895
  module ChargeBearer
892
896
  extend ModernTreasury::Internal::Type::Enum
893
897
 
@@ -2458,6 +2462,11 @@ module ModernTreasury
2458
2462
  :id_sknbi_code,
2459
2463
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2460
2464
  )
2465
+ IL_BANK_CODE =
2466
+ T.let(
2467
+ :il_bank_code,
2468
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
2469
+ )
2461
2470
  IN_IFSC =
2462
2471
  T.let(
2463
2472
  :in_ifsc,
@@ -3908,6 +3917,195 @@ module ModernTreasury
3908
3917
  end
3909
3918
  end
3910
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
3932
+
3933
+ # The id of the ledger that this account belongs to.
3934
+ sig { returns(String) }
3935
+ attr_accessor :ledger_id
3936
+
3937
+ # The name of the ledger account.
3938
+ sig { returns(String) }
3939
+ attr_accessor :name
3940
+
3941
+ # The normal balance of the ledger account.
3942
+ sig { returns(ModernTreasury::TransactionDirection::OrSymbol) }
3943
+ attr_accessor :normal_balance
3944
+
3945
+ # The currency exponent of the ledger account.
3946
+ sig { returns(T.nilable(Integer)) }
3947
+ attr_accessor :currency_exponent
3948
+
3949
+ # The description of the ledger account.
3950
+ sig { returns(T.nilable(String)) }
3951
+ attr_accessor :description
3952
+
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
3957
+
3958
+ sig { params(ledger_account_category_ids: T::Array[String]).void }
3959
+ attr_writer :ledger_account_category_ids
3960
+
3961
+ # If the ledger account links to another object in Modern Treasury, the id will be
3962
+ # populated here, otherwise null.
3963
+ sig { returns(T.nilable(String)) }
3964
+ attr_reader :ledgerable_id
3965
+
3966
+ sig { params(ledgerable_id: String).void }
3967
+ attr_writer :ledgerable_id
3968
+
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
+ sig do
3973
+ returns(
3974
+ T.nilable(
3975
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::OrSymbol
3976
+ )
3977
+ )
3978
+ end
3979
+ attr_reader :ledgerable_type
3980
+
3981
+ sig do
3982
+ params(
3983
+ ledgerable_type:
3984
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::OrSymbol
3985
+ ).void
3986
+ end
3987
+ attr_writer :ledgerable_type
3988
+
3989
+ # Additional data represented as key-value pairs. Both the key and value must be
3990
+ # strings.
3991
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3992
+ attr_reader :metadata
3993
+
3994
+ sig { params(metadata: T::Hash[Symbol, String]).void }
3995
+ attr_writer :metadata
3996
+
3997
+ sig do
3998
+ params(
3999
+ currency: String,
4000
+ ledger_id: String,
4001
+ name: String,
4002
+ normal_balance: ModernTreasury::TransactionDirection::OrSymbol,
4003
+ currency_exponent: T.nilable(Integer),
4004
+ 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]
4010
+ ).returns(T.attached_class)
4011
+ end
4012
+ 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.
4024
+ 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,
4035
+ # Additional data represented as key-value pairs. Both the key and value must be
4036
+ # strings.
4037
+ metadata: nil
4038
+ )
4039
+ end
4040
+
4041
+ sig do
4042
+ override.returns(
4043
+ {
4044
+ currency: String,
4045
+ ledger_id: String,
4046
+ name: String,
4047
+ normal_balance: ModernTreasury::TransactionDirection::OrSymbol,
4048
+ currency_exponent: T.nilable(Integer),
4049
+ 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]
4055
+ }
4056
+ )
4057
+ end
4058
+ def to_hash
4059
+ end
4060
+
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
4065
+ extend ModernTreasury::Internal::Type::Enum
4066
+
4067
+ TaggedSymbol =
4068
+ T.type_alias do
4069
+ T.all(
4070
+ Symbol,
4071
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType
4072
+ )
4073
+ end
4074
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4075
+
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
+ )
4096
+
4097
+ sig do
4098
+ override.returns(
4099
+ T::Array[
4100
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType::TaggedSymbol
4101
+ ]
4102
+ )
4103
+ end
4104
+ def self.values
4105
+ end
4106
+ end
4107
+ end
4108
+
3911
4109
  class TransactionCreateRequest < ModernTreasury::Internal::Type::BaseModel
3912
4110
  OrHash =
3913
4111
  T.type_alias do
@@ -3972,6 +4170,10 @@ module ModernTreasury
3972
4170
  end
3973
4171
  attr_accessor :type
3974
4172
 
4173
+ # An identifier given to this transaction by the bank, often `null`.
4174
+ sig { returns(T.nilable(String)) }
4175
+ attr_accessor :vendor_customer_id
4176
+
3975
4177
  # The transaction detail text that often appears in on your bank statement and in
3976
4178
  # your banking portal.
3977
4179
  sig { returns(T.nilable(String)) }
@@ -3991,6 +4193,7 @@ module ModernTreasury
3991
4193
  T.nilable(
3992
4194
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest::Type::OrSymbol
3993
4195
  ),
4196
+ vendor_customer_id: T.nilable(String),
3994
4197
  vendor_description: T.nilable(String)
3995
4198
  ).returns(T.attached_class)
3996
4199
  end
@@ -4020,6 +4223,8 @@ module ModernTreasury
4020
4223
  # The type of the transaction. Examples could be
4021
4224
  # `card, `ach`, `wire`, `check`, `rtp`, `book`, or `sen`.
4022
4225
  type: nil,
4226
+ # An identifier given to this transaction by the bank, often `null`.
4227
+ vendor_customer_id: nil,
4023
4228
  # The transaction detail text that often appears in on your bank statement and in
4024
4229
  # your banking portal.
4025
4230
  vendor_description: nil
@@ -4041,6 +4246,7 @@ module ModernTreasury
4041
4246
  T.nilable(
4042
4247
  ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest::Type::OrSymbol
4043
4248
  ),
4249
+ vendor_customer_id: T.nilable(String),
4044
4250
  vendor_description: T.nilable(String)
4045
4251
  }
4046
4252
  )
@@ -4324,9 +4530,9 @@ module ModernTreasury
4324
4530
  sig { params(amount: Integer).void }
4325
4531
  attr_writer :amount
4326
4532
 
4327
- # The party that will pay the fees for the payment order. Only applies to wire
4328
- # payment orders. Can be one of shared, sender, or receiver, which correspond
4329
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
4533
+ # The party that will pay the fees for the payment order. See
4534
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
4535
+ # differences between the options.
4330
4536
  sig do
4331
4537
  returns(
4332
4538
  T.nilable(
@@ -4685,9 +4891,9 @@ module ModernTreasury
4685
4891
  # Value in specified currency's smallest unit. e.g. $10 would be represented as
4686
4892
  # 1000 (cents). For RTP, the maximum amount allowed by the network is $100,000.
4687
4893
  amount: nil,
4688
- # The party that will pay the fees for the payment order. Only applies to wire
4689
- # payment orders. Can be one of shared, sender, or receiver, which correspond
4690
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
4894
+ # The party that will pay the fees for the payment order. See
4895
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
4896
+ # differences between the options.
4691
4897
  charge_bearer: nil,
4692
4898
  # Required when receiving_account_id is passed the ID of an external account.
4693
4899
  counterparty_id: nil,
@@ -4906,9 +5112,9 @@ module ModernTreasury
4906
5112
  end
4907
5113
  end
4908
5114
 
4909
- # The party that will pay the fees for the payment order. Only applies to wire
4910
- # payment orders. Can be one of shared, sender, or receiver, which correspond
4911
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
5115
+ # The party that will pay the fees for the payment order. See
5116
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
5117
+ # differences between the options.
4912
5118
  module ChargeBearer
4913
5119
  extend ModernTreasury::Internal::Type::Enum
4914
5120
 
@@ -6107,6 +6313,11 @@ module ModernTreasury
6107
6313
  :id_sknbi_code,
6108
6314
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
6109
6315
  )
6316
+ IL_BANK_CODE =
6317
+ T.let(
6318
+ :il_bank_code,
6319
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::RoutingNumberType::TaggedSymbol
6320
+ )
6110
6321
  IN_IFSC =
6111
6322
  T.let(
6112
6323
  :in_ifsc,
@@ -6435,6 +6646,11 @@ module ModernTreasury
6435
6646
  :sent,
6436
6647
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Status::TaggedSymbol
6437
6648
  )
6649
+ STOPPED =
6650
+ T.let(
6651
+ :stopped,
6652
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Status::TaggedSymbol
6653
+ )
6438
6654
 
6439
6655
  sig do
6440
6656
  override.returns(
@@ -70,6 +70,7 @@ module ModernTreasury
70
70
  ModernTreasury::PaymentOrder::OrHash,
71
71
  ModernTreasury::ExpectedPayment::OrHash,
72
72
  ModernTreasury::LedgerTransaction::OrHash,
73
+ ModernTreasury::LedgerAccount::OrHash,
73
74
  ModernTreasury::Transaction::OrHash,
74
75
  ModernTreasury::BulkResult::Entity::BulkError::OrHash
75
76
  ),
@@ -150,6 +151,7 @@ module ModernTreasury
150
151
  ModernTreasury::PaymentOrder,
151
152
  ModernTreasury::ExpectedPayment,
152
153
  ModernTreasury::LedgerTransaction,
154
+ ModernTreasury::LedgerAccount,
153
155
  ModernTreasury::Transaction,
154
156
  ModernTreasury::BulkResult::Entity::BulkError
155
157
  )
@@ -1227,6 +1227,11 @@ module ModernTreasury
1227
1227
  :id_sknbi_code,
1228
1228
  ModernTreasury::CounterpartyCreateParams::Account::RoutingDetail::RoutingNumberType::TaggedSymbol
1229
1229
  )
1230
+ IL_BANK_CODE =
1231
+ T.let(
1232
+ :il_bank_code,
1233
+ ModernTreasury::CounterpartyCreateParams::Account::RoutingDetail::RoutingNumberType::TaggedSymbol
1234
+ )
1230
1235
  IN_IFSC =
1231
1236
  T.let(
1232
1237
  :in_ifsc,
@@ -935,6 +935,11 @@ module ModernTreasury
935
935
  :id_sknbi_code,
936
936
  ModernTreasury::ExternalAccountCreateParams::RoutingDetail::RoutingNumberType::TaggedSymbol
937
937
  )
938
+ IL_BANK_CODE =
939
+ T.let(
940
+ :il_bank_code,
941
+ ModernTreasury::ExternalAccountCreateParams::RoutingDetail::RoutingNumberType::TaggedSymbol
942
+ )
938
943
  IN_IFSC =
939
944
  T.let(
940
945
  :in_ifsc,
@@ -436,6 +436,11 @@ module ModernTreasury
436
436
  :id_sknbi_code,
437
437
  ModernTreasury::IncomingPaymentDetail::OriginatingRoutingNumberType::TaggedSymbol
438
438
  )
439
+ IL_BANK_CODE =
440
+ T.let(
441
+ :il_bank_code,
442
+ ModernTreasury::IncomingPaymentDetail::OriginatingRoutingNumberType::TaggedSymbol
443
+ )
439
444
  IN_IFSC =
440
445
  T.let(
441
446
  :in_ifsc,