modern_treasury 0.5.0 → 0.6.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 (27) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/modern_treasury/models/bulk_request_create_params.rb +108 -2
  5. data/lib/modern_treasury/models/counterparty_create_params.rb +2 -0
  6. data/lib/modern_treasury/models/line_item.rb +55 -1
  7. data/lib/modern_treasury/models/payment_order.rb +52 -1
  8. data/lib/modern_treasury/models/payment_order_create_async_params.rb +51 -1
  9. data/lib/modern_treasury/models/payment_order_create_params.rb +50 -1
  10. data/lib/modern_treasury/models/payment_order_update_params.rb +50 -1
  11. data/lib/modern_treasury/resources/payment_orders.rb +15 -3
  12. data/lib/modern_treasury/version.rb +1 -1
  13. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +156 -0
  14. data/rbi/modern_treasury/models/line_item.rbi +69 -0
  15. data/rbi/modern_treasury/models/payment_order.rbi +69 -0
  16. data/rbi/modern_treasury/models/payment_order_create_async_params.rbi +76 -0
  17. data/rbi/modern_treasury/models/payment_order_create_params.rbi +73 -0
  18. data/rbi/modern_treasury/models/payment_order_update_params.rbi +73 -0
  19. data/rbi/modern_treasury/resources/payment_orders.rbi +21 -0
  20. data/sig/modern_treasury/models/bulk_request_create_params.rbs +52 -0
  21. data/sig/modern_treasury/models/line_item.rbs +22 -0
  22. data/sig/modern_treasury/models/payment_order.rbs +22 -0
  23. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +26 -0
  24. data/sig/modern_treasury/models/payment_order_create_params.rbs +26 -0
  25. data/sig/modern_treasury/models/payment_order_update_params.rbs +26 -0
  26. data/sig/modern_treasury/resources/payment_orders.rbs +6 -0
  27. metadata +2 -2
@@ -7,6 +7,12 @@ module ModernTreasury
7
7
  extend ModernTreasury::Internal::Type::RequestParameters::Converter
8
8
  include ModernTreasury::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute accounting
11
+ # @deprecated
12
+ #
13
+ # @return [ModernTreasury::Models::PaymentOrderUpdateParams::Accounting, nil]
14
+ optional :accounting, -> { ModernTreasury::PaymentOrderUpdateParams::Accounting }
15
+
10
16
  # @!attribute accounting_category_id
11
17
  # @deprecated
12
18
  #
@@ -16,6 +22,15 @@ module ModernTreasury
16
22
  # @return [String, nil]
17
23
  optional :accounting_category_id, String, nil?: true
18
24
 
25
+ # @!attribute accounting_ledger_class_id
26
+ # @deprecated
27
+ #
28
+ # The ID of one of your accounting ledger classes. Note that these will only be
29
+ # accessible if your accounting system has been connected.
30
+ #
31
+ # @return [String, nil]
32
+ optional :accounting_ledger_class_id, String, nil?: true
33
+
19
34
  # @!attribute amount
20
35
  # Value in specified currency's smallest unit. e.g. $10 would be represented as
21
36
  # 1000 (cents). For RTP, the maximum amount allowed by the network is $100,000.
@@ -258,12 +273,16 @@ module ModernTreasury
258
273
  # @return [String, nil]
259
274
  optional :ultimate_receiving_party_name, String, nil?: true
260
275
 
261
- # @!method initialize(accounting_category_id: nil, amount: nil, charge_bearer: nil, counterparty_id: nil, currency: nil, description: nil, direction: nil, effective_date: nil, expires_at: nil, fallback_type: nil, foreign_exchange_contract: nil, foreign_exchange_indicator: nil, line_items: nil, metadata: nil, nsf_protected: nil, originating_account_id: nil, originating_party_name: nil, priority: nil, process_after: nil, purpose: nil, receiving_account: nil, receiving_account_id: nil, remittance_information: nil, send_remittance_advice: nil, statement_descriptor: nil, status: nil, subtype: nil, type: nil, ultimate_originating_party_identifier: nil, ultimate_originating_party_name: nil, ultimate_receiving_party_identifier: nil, ultimate_receiving_party_name: nil, request_options: {})
276
+ # @!method initialize(accounting: nil, accounting_category_id: nil, accounting_ledger_class_id: nil, amount: nil, charge_bearer: nil, counterparty_id: nil, currency: nil, description: nil, direction: nil, effective_date: nil, expires_at: nil, fallback_type: nil, foreign_exchange_contract: nil, foreign_exchange_indicator: nil, line_items: nil, metadata: nil, nsf_protected: nil, originating_account_id: nil, originating_party_name: nil, priority: nil, process_after: nil, purpose: nil, receiving_account: nil, receiving_account_id: nil, remittance_information: nil, send_remittance_advice: nil, statement_descriptor: nil, status: nil, subtype: nil, type: nil, ultimate_originating_party_identifier: nil, ultimate_originating_party_name: nil, ultimate_receiving_party_identifier: nil, ultimate_receiving_party_name: nil, request_options: {})
262
277
  # Some parameter documentations has been truncated, see
263
278
  # {ModernTreasury::Models::PaymentOrderUpdateParams} for more details.
264
279
  #
280
+ # @param accounting [ModernTreasury::Models::PaymentOrderUpdateParams::Accounting]
281
+ #
265
282
  # @param accounting_category_id [String, nil] The ID of one of your accounting categories. Note that these will only be access
266
283
  #
284
+ # @param accounting_ledger_class_id [String, nil] The ID of one of your accounting ledger classes. Note that these will only be ac
285
+ #
267
286
  # @param amount [Integer] Value in specified currency's smallest unit. e.g. $10 would be represented as 10
268
287
  #
269
288
  # @param charge_bearer [Symbol, ModernTreasury::Models::PaymentOrderUpdateParams::ChargeBearer, nil] The party that will pay the fees for the payment order. See https://docs.modernt
@@ -328,6 +347,36 @@ module ModernTreasury
328
347
  #
329
348
  # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}]
330
349
 
350
+ # @deprecated
351
+ class Accounting < ModernTreasury::Internal::Type::BaseModel
352
+ # @!attribute account_id
353
+ # @deprecated
354
+ #
355
+ # The ID of one of your accounting categories. Note that these will only be
356
+ # accessible if your accounting system has been connected.
357
+ #
358
+ # @return [String, nil]
359
+ optional :account_id, String, nil?: true
360
+
361
+ # @!attribute class_id
362
+ # @deprecated
363
+ #
364
+ # The ID of one of the class objects in your accounting system. Class objects
365
+ # track segments of your business independent of client or project. Note that
366
+ # these will only be accessible if your accounting system has been connected.
367
+ #
368
+ # @return [String, nil]
369
+ optional :class_id, String, nil?: true
370
+
371
+ # @!method initialize(account_id: nil, class_id: nil)
372
+ # Some parameter documentations has been truncated, see
373
+ # {ModernTreasury::Models::PaymentOrderUpdateParams::Accounting} for more details.
374
+ #
375
+ # @param account_id [String, nil] The ID of one of your accounting categories. Note that these will only be access
376
+ #
377
+ # @param class_id [String, nil] The ID of one of the class objects in your accounting system. Class objects trac
378
+ end
379
+
331
380
  # The party that will pay the fees for the payment order. See
332
381
  # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
333
382
  # differences between the options.
@@ -11,7 +11,7 @@ module ModernTreasury
11
11
  #
12
12
  # Create a new Payment Order
13
13
  #
14
- # @overload create(amount:, direction:, originating_account_id:, type:, accounting_category_id: nil, charge_bearer: nil, currency: nil, description: nil, documents: nil, effective_date: nil, expires_at: nil, fallback_type: nil, foreign_exchange_contract: nil, foreign_exchange_indicator: nil, ledger_transaction: nil, ledger_transaction_id: nil, line_items: nil, metadata: nil, nsf_protected: nil, originating_party_name: nil, priority: nil, process_after: nil, purpose: nil, receiving_account: nil, receiving_account_id: nil, remittance_information: nil, send_remittance_advice: nil, statement_descriptor: nil, subtype: nil, transaction_monitoring_enabled: nil, ultimate_originating_party_identifier: nil, ultimate_originating_party_name: nil, ultimate_receiving_party_identifier: nil, ultimate_receiving_party_name: nil, request_options: {})
14
+ # @overload create(amount:, direction:, originating_account_id:, type:, accounting: nil, accounting_category_id: nil, accounting_ledger_class_id: nil, charge_bearer: nil, currency: nil, description: nil, documents: nil, effective_date: nil, expires_at: nil, fallback_type: nil, foreign_exchange_contract: nil, foreign_exchange_indicator: nil, ledger_transaction: nil, ledger_transaction_id: nil, line_items: nil, metadata: nil, nsf_protected: nil, originating_party_name: nil, priority: nil, process_after: nil, purpose: nil, receiving_account: nil, receiving_account_id: nil, remittance_information: nil, send_remittance_advice: nil, statement_descriptor: nil, subtype: nil, transaction_monitoring_enabled: nil, ultimate_originating_party_identifier: nil, ultimate_originating_party_name: nil, ultimate_receiving_party_identifier: nil, ultimate_receiving_party_name: nil, request_options: {})
15
15
  #
16
16
  # @param amount [Integer] Value in specified currency's smallest unit. e.g. $10 would be represented as 10
17
17
  #
@@ -21,8 +21,12 @@ module ModernTreasury
21
21
  #
22
22
  # @param type [Symbol, ModernTreasury::Models::PaymentOrderType] One of `ach`, `se_bankgirot`, `eft`, `wire`, `check`, `sen`, `book`, `rtp`, `sep
23
23
  #
24
+ # @param accounting [ModernTreasury::Models::PaymentOrderCreateParams::Accounting]
25
+ #
24
26
  # @param accounting_category_id [String, nil] The ID of one of your accounting categories. Note that these will only be access
25
27
  #
28
+ # @param accounting_ledger_class_id [String, nil] The ID of one of your accounting ledger classes. Note that these will only be ac
29
+ #
26
30
  # @param charge_bearer [Symbol, ModernTreasury::Models::PaymentOrderCreateParams::ChargeBearer, nil] The party that will pay the fees for the payment order. See https://docs.modernt
27
31
  #
28
32
  # @param currency [Symbol, ModernTreasury::Models::Currency] Defaults to the currency of the originating account.
@@ -121,12 +125,16 @@ module ModernTreasury
121
125
  #
122
126
  # Update a payment order
123
127
  #
124
- # @overload update(id, accounting_category_id: nil, amount: nil, charge_bearer: nil, counterparty_id: nil, currency: nil, description: nil, direction: nil, effective_date: nil, expires_at: nil, fallback_type: nil, foreign_exchange_contract: nil, foreign_exchange_indicator: nil, line_items: nil, metadata: nil, nsf_protected: nil, originating_account_id: nil, originating_party_name: nil, priority: nil, process_after: nil, purpose: nil, receiving_account: nil, receiving_account_id: nil, remittance_information: nil, send_remittance_advice: nil, statement_descriptor: nil, status: nil, subtype: nil, type: nil, ultimate_originating_party_identifier: nil, ultimate_originating_party_name: nil, ultimate_receiving_party_identifier: nil, ultimate_receiving_party_name: nil, request_options: {})
128
+ # @overload update(id, accounting: nil, accounting_category_id: nil, accounting_ledger_class_id: nil, amount: nil, charge_bearer: nil, counterparty_id: nil, currency: nil, description: nil, direction: nil, effective_date: nil, expires_at: nil, fallback_type: nil, foreign_exchange_contract: nil, foreign_exchange_indicator: nil, line_items: nil, metadata: nil, nsf_protected: nil, originating_account_id: nil, originating_party_name: nil, priority: nil, process_after: nil, purpose: nil, receiving_account: nil, receiving_account_id: nil, remittance_information: nil, send_remittance_advice: nil, statement_descriptor: nil, status: nil, subtype: nil, type: nil, ultimate_originating_party_identifier: nil, ultimate_originating_party_name: nil, ultimate_receiving_party_identifier: nil, ultimate_receiving_party_name: nil, request_options: {})
125
129
  #
126
130
  # @param id [String]
127
131
  #
132
+ # @param accounting [ModernTreasury::Models::PaymentOrderUpdateParams::Accounting]
133
+ #
128
134
  # @param accounting_category_id [String, nil] The ID of one of your accounting categories. Note that these will only be access
129
135
  #
136
+ # @param accounting_ledger_class_id [String, nil] The ID of one of your accounting ledger classes. Note that these will only be ac
137
+ #
130
138
  # @param amount [Integer] Value in specified currency's smallest unit. e.g. $10 would be represented as 10
131
139
  #
132
140
  # @param charge_bearer [Symbol, ModernTreasury::Models::PaymentOrderUpdateParams::ChargeBearer, nil] The party that will pay the fees for the payment order. See https://docs.modernt
@@ -270,7 +278,7 @@ module ModernTreasury
270
278
  #
271
279
  # Create a new payment order asynchronously
272
280
  #
273
- # @overload create_async(amount:, direction:, originating_account_id:, type:, accounting_category_id: nil, charge_bearer: nil, currency: nil, description: nil, effective_date: nil, expires_at: nil, fallback_type: nil, foreign_exchange_contract: nil, foreign_exchange_indicator: nil, ledger_transaction: nil, ledger_transaction_id: nil, line_items: nil, metadata: nil, nsf_protected: nil, originating_party_name: nil, priority: nil, process_after: nil, purpose: nil, receiving_account: nil, receiving_account_id: nil, remittance_information: nil, send_remittance_advice: nil, statement_descriptor: nil, subtype: nil, transaction_monitoring_enabled: nil, ultimate_originating_party_identifier: nil, ultimate_originating_party_name: nil, ultimate_receiving_party_identifier: nil, ultimate_receiving_party_name: nil, request_options: {})
281
+ # @overload create_async(amount:, direction:, originating_account_id:, type:, accounting: nil, accounting_category_id: nil, accounting_ledger_class_id: nil, charge_bearer: nil, currency: nil, description: nil, effective_date: nil, expires_at: nil, fallback_type: nil, foreign_exchange_contract: nil, foreign_exchange_indicator: nil, ledger_transaction: nil, ledger_transaction_id: nil, line_items: nil, metadata: nil, nsf_protected: nil, originating_party_name: nil, priority: nil, process_after: nil, purpose: nil, receiving_account: nil, receiving_account_id: nil, remittance_information: nil, send_remittance_advice: nil, statement_descriptor: nil, subtype: nil, transaction_monitoring_enabled: nil, ultimate_originating_party_identifier: nil, ultimate_originating_party_name: nil, ultimate_receiving_party_identifier: nil, ultimate_receiving_party_name: nil, request_options: {})
274
282
  #
275
283
  # @param amount [Integer] Value in specified currency's smallest unit. e.g. $10 would be represented as 10
276
284
  #
@@ -280,8 +288,12 @@ module ModernTreasury
280
288
  #
281
289
  # @param type [Symbol, ModernTreasury::Models::PaymentOrderType] One of `ach`, `se_bankgirot`, `eft`, `wire`, `check`, `sen`, `book`, `rtp`, `sep
282
290
  #
291
+ # @param accounting [ModernTreasury::Models::PaymentOrderCreateAsyncParams::Accounting]
292
+ #
283
293
  # @param accounting_category_id [String, nil] The ID of one of your accounting categories. Note that these will only be access
284
294
  #
295
+ # @param accounting_ledger_class_id [String, nil] The ID of one of your accounting ledger classes. Note that these will only be ac
296
+ #
285
297
  # @param charge_bearer [Symbol, ModernTreasury::Models::PaymentOrderCreateAsyncParams::ChargeBearer, nil] The party that will pay the fees for the payment order. See https://docs.modernt
286
298
  #
287
299
  # @param currency [Symbol, ModernTreasury::Models::Currency] Defaults to the currency of the originating account.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModernTreasury
4
- VERSION = "0.5.0"
4
+ VERSION = "0.6.0"
5
5
  end
@@ -274,11 +274,33 @@ 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
284
+ attr_reader :accounting
285
+
286
+ sig do
287
+ params(
288
+ accounting:
289
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting::OrHash
290
+ ).void
291
+ end
292
+ attr_writer :accounting
293
+
277
294
  # The ID of one of your accounting categories. Note that these will only be
278
295
  # accessible if your accounting system has been connected.
279
296
  sig { returns(T.nilable(String)) }
280
297
  attr_accessor :accounting_category_id
281
298
 
299
+ # The ID of one of your accounting ledger classes. Note that these will only be
300
+ # accessible if your accounting system has been connected.
301
+ sig { returns(T.nilable(String)) }
302
+ attr_accessor :accounting_ledger_class_id
303
+
282
304
  # The party that will pay the fees for the payment order. See
283
305
  # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
284
306
  # differences between the options.
@@ -547,7 +569,10 @@ module ModernTreasury
547
569
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Direction::OrSymbol,
548
570
  originating_account_id: String,
549
571
  type: ModernTreasury::PaymentOrderType::OrSymbol,
572
+ accounting:
573
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting::OrHash,
550
574
  accounting_category_id: T.nilable(String),
575
+ accounting_ledger_class_id: T.nilable(String),
551
576
  charge_bearer:
552
577
  T.nilable(
553
578
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ChargeBearer::OrSymbol
@@ -606,9 +631,13 @@ module ModernTreasury
606
631
  # `sepa`, `bacs`, `au_becs`, `interac`, `neft`, `nics`,
607
632
  # `nz_national_clearing_code`, `sic`, `signet`, `provexchange`, `zengin`.
608
633
  type:,
634
+ accounting: nil,
609
635
  # The ID of one of your accounting categories. Note that these will only be
610
636
  # accessible if your accounting system has been connected.
611
637
  accounting_category_id: nil,
638
+ # The ID of one of your accounting ledger classes. Note that these will only be
639
+ # accessible if your accounting system has been connected.
640
+ accounting_ledger_class_id: nil,
612
641
  # The party that will pay the fees for the payment order. See
613
642
  # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
614
643
  # differences between the options.
@@ -720,7 +749,10 @@ module ModernTreasury
720
749
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Direction::OrSymbol,
721
750
  originating_account_id: String,
722
751
  type: ModernTreasury::PaymentOrderType::OrSymbol,
752
+ accounting:
753
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting,
723
754
  accounting_category_id: T.nilable(String),
755
+ accounting_ledger_class_id: T.nilable(String),
724
756
  charge_bearer:
725
757
  T.nilable(
726
758
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ChargeBearer::OrSymbol
@@ -807,6 +839,52 @@ module ModernTreasury
807
839
  end
808
840
  end
809
841
 
842
+ class Accounting < ModernTreasury::Internal::Type::BaseModel
843
+ OrHash =
844
+ T.type_alias do
845
+ T.any(
846
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting,
847
+ ModernTreasury::Internal::AnyHash
848
+ )
849
+ end
850
+
851
+ # The ID of one of your accounting categories. Note that these will only be
852
+ # accessible if your accounting system has been connected.
853
+ sig { returns(T.nilable(String)) }
854
+ attr_accessor :account_id
855
+
856
+ # The ID of one of the class objects in your accounting system. Class objects
857
+ # track segments of your business independent of client or project. Note that
858
+ # these will only be accessible if your accounting system has been connected.
859
+ sig { returns(T.nilable(String)) }
860
+ attr_accessor :class_id
861
+
862
+ sig do
863
+ params(
864
+ account_id: T.nilable(String),
865
+ class_id: T.nilable(String)
866
+ ).returns(T.attached_class)
867
+ end
868
+ def self.new(
869
+ # The ID of one of your accounting categories. Note that these will only be
870
+ # accessible if your accounting system has been connected.
871
+ account_id: nil,
872
+ # The ID of one of the class objects in your accounting system. Class objects
873
+ # track segments of your business independent of client or project. Note that
874
+ # these will only be accessible if your accounting system has been connected.
875
+ class_id: nil
876
+ )
877
+ end
878
+
879
+ sig do
880
+ override.returns(
881
+ { account_id: T.nilable(String), class_id: T.nilable(String) }
882
+ )
883
+ end
884
+ def to_hash
885
+ end
886
+ end
887
+
810
888
  # The party that will pay the fees for the payment order. See
811
889
  # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
812
890
  # differences between the options.
@@ -2631,11 +2709,33 @@ module ModernTreasury
2631
2709
  sig { params(id: String).void }
2632
2710
  attr_writer :id
2633
2711
 
2712
+ sig do
2713
+ returns(
2714
+ T.nilable(
2715
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting
2716
+ )
2717
+ )
2718
+ end
2719
+ attr_reader :accounting
2720
+
2721
+ sig do
2722
+ params(
2723
+ accounting:
2724
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting::OrHash
2725
+ ).void
2726
+ end
2727
+ attr_writer :accounting
2728
+
2634
2729
  # The ID of one of your accounting categories. Note that these will only be
2635
2730
  # accessible if your accounting system has been connected.
2636
2731
  sig { returns(T.nilable(String)) }
2637
2732
  attr_accessor :accounting_category_id
2638
2733
 
2734
+ # The ID of one of your accounting ledger classes. Note that these will only be
2735
+ # accessible if your accounting system has been connected.
2736
+ sig { returns(T.nilable(String)) }
2737
+ attr_accessor :accounting_ledger_class_id
2738
+
2639
2739
  # Value in specified currency's smallest unit. e.g. $10 would be represented as
2640
2740
  # 1000 (cents). For RTP, the maximum amount allowed by the network is $100,000.
2641
2741
  sig { returns(T.nilable(Integer)) }
@@ -2942,7 +3042,10 @@ module ModernTreasury
2942
3042
  sig do
2943
3043
  params(
2944
3044
  id: String,
3045
+ accounting:
3046
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting::OrHash,
2945
3047
  accounting_category_id: T.nilable(String),
3048
+ accounting_ledger_class_id: T.nilable(String),
2946
3049
  amount: Integer,
2947
3050
  charge_bearer:
2948
3051
  T.nilable(
@@ -2992,9 +3095,13 @@ module ModernTreasury
2992
3095
  end
2993
3096
  def self.new(
2994
3097
  id: nil,
3098
+ accounting: nil,
2995
3099
  # The ID of one of your accounting categories. Note that these will only be
2996
3100
  # accessible if your accounting system has been connected.
2997
3101
  accounting_category_id: nil,
3102
+ # The ID of one of your accounting ledger classes. Note that these will only be
3103
+ # accessible if your accounting system has been connected.
3104
+ accounting_ledger_class_id: nil,
2998
3105
  # Value in specified currency's smallest unit. e.g. $10 would be represented as
2999
3106
  # 1000 (cents). For RTP, the maximum amount allowed by the network is $100,000.
3000
3107
  amount: nil,
@@ -3117,7 +3224,10 @@ module ModernTreasury
3117
3224
  override.returns(
3118
3225
  {
3119
3226
  id: String,
3227
+ accounting:
3228
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting,
3120
3229
  accounting_category_id: T.nilable(String),
3230
+ accounting_ledger_class_id: T.nilable(String),
3121
3231
  amount: Integer,
3122
3232
  charge_bearer:
3123
3233
  T.nilable(
@@ -3170,6 +3280,52 @@ module ModernTreasury
3170
3280
  def to_hash
3171
3281
  end
3172
3282
 
3283
+ class Accounting < ModernTreasury::Internal::Type::BaseModel
3284
+ OrHash =
3285
+ T.type_alias do
3286
+ T.any(
3287
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting,
3288
+ ModernTreasury::Internal::AnyHash
3289
+ )
3290
+ end
3291
+
3292
+ # The ID of one of your accounting categories. Note that these will only be
3293
+ # accessible if your accounting system has been connected.
3294
+ sig { returns(T.nilable(String)) }
3295
+ attr_accessor :account_id
3296
+
3297
+ # The ID of one of the class objects in your accounting system. Class objects
3298
+ # track segments of your business independent of client or project. Note that
3299
+ # these will only be accessible if your accounting system has been connected.
3300
+ sig { returns(T.nilable(String)) }
3301
+ attr_accessor :class_id
3302
+
3303
+ sig do
3304
+ params(
3305
+ account_id: T.nilable(String),
3306
+ class_id: T.nilable(String)
3307
+ ).returns(T.attached_class)
3308
+ end
3309
+ def self.new(
3310
+ # The ID of one of your accounting categories. Note that these will only be
3311
+ # accessible if your accounting system has been connected.
3312
+ account_id: nil,
3313
+ # The ID of one of the class objects in your accounting system. Class objects
3314
+ # track segments of your business independent of client or project. Note that
3315
+ # these will only be accessible if your accounting system has been connected.
3316
+ class_id: nil
3317
+ )
3318
+ end
3319
+
3320
+ sig do
3321
+ override.returns(
3322
+ { account_id: T.nilable(String), class_id: T.nilable(String) }
3323
+ )
3324
+ end
3325
+ def to_hash
3326
+ end
3327
+ end
3328
+
3173
3329
  # The party that will pay the fees for the payment order. See
3174
3330
  # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
3175
3331
  # differences between the options.
@@ -11,11 +11,25 @@ module ModernTreasury
11
11
  sig { returns(String) }
12
12
  attr_accessor :id
13
13
 
14
+ sig { returns(ModernTreasury::LineItem::Accounting) }
15
+ attr_reader :accounting
16
+
17
+ sig do
18
+ params(accounting: ModernTreasury::LineItem::Accounting::OrHash).void
19
+ end
20
+ attr_writer :accounting
21
+
14
22
  # The ID of one of your accounting categories. Note that these will only be
15
23
  # accessible if your accounting system has been connected.
16
24
  sig { returns(T.nilable(String)) }
17
25
  attr_accessor :accounting_category_id
18
26
 
27
+ # The ID of one of the class objects in your accounting system. Class objects
28
+ # track segments of your business independent of client or project. Note that
29
+ # these will only be accessible if your accounting system has been connected.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :accounting_ledger_class_id
32
+
19
33
  # Value in specified currency's smallest unit. e.g. $10 would be represented
20
34
  # as 1000.
21
35
  sig { returns(Integer) }
@@ -55,7 +69,9 @@ module ModernTreasury
55
69
  sig do
56
70
  params(
57
71
  id: String,
72
+ accounting: ModernTreasury::LineItem::Accounting::OrHash,
58
73
  accounting_category_id: T.nilable(String),
74
+ accounting_ledger_class_id: T.nilable(String),
59
75
  amount: Integer,
60
76
  created_at: Time,
61
77
  description: T.nilable(String),
@@ -69,9 +85,14 @@ module ModernTreasury
69
85
  end
70
86
  def self.new(
71
87
  id:,
88
+ accounting:,
72
89
  # The ID of one of your accounting categories. Note that these will only be
73
90
  # accessible if your accounting system has been connected.
74
91
  accounting_category_id:,
92
+ # The ID of one of the class objects in your accounting system. Class objects
93
+ # track segments of your business independent of client or project. Note that
94
+ # these will only be accessible if your accounting system has been connected.
95
+ accounting_ledger_class_id:,
75
96
  # Value in specified currency's smallest unit. e.g. $10 would be represented
76
97
  # as 1000.
77
98
  amount:,
@@ -97,7 +118,9 @@ module ModernTreasury
97
118
  override.returns(
98
119
  {
99
120
  id: String,
121
+ accounting: ModernTreasury::LineItem::Accounting,
100
122
  accounting_category_id: T.nilable(String),
123
+ accounting_ledger_class_id: T.nilable(String),
101
124
  amount: Integer,
102
125
  created_at: Time,
103
126
  description: T.nilable(String),
@@ -114,6 +137,52 @@ module ModernTreasury
114
137
  def to_hash
115
138
  end
116
139
 
140
+ class Accounting < ModernTreasury::Internal::Type::BaseModel
141
+ OrHash =
142
+ T.type_alias do
143
+ T.any(
144
+ ModernTreasury::LineItem::Accounting,
145
+ ModernTreasury::Internal::AnyHash
146
+ )
147
+ end
148
+
149
+ # The ID of one of your accounting categories. Note that these will only be
150
+ # accessible if your accounting system has been connected.
151
+ sig { returns(T.nilable(String)) }
152
+ attr_accessor :account_id
153
+
154
+ # The ID of one of the class objects in your accounting system. Class objects
155
+ # track segments of your business independent of client or project. Note that
156
+ # these will only be accessible if your accounting system has been connected.
157
+ sig { returns(T.nilable(String)) }
158
+ attr_accessor :class_id
159
+
160
+ sig do
161
+ params(
162
+ account_id: T.nilable(String),
163
+ class_id: T.nilable(String)
164
+ ).returns(T.attached_class)
165
+ end
166
+ def self.new(
167
+ # The ID of one of your accounting categories. Note that these will only be
168
+ # accessible if your accounting system has been connected.
169
+ account_id: nil,
170
+ # The ID of one of the class objects in your accounting system. Class objects
171
+ # track segments of your business independent of client or project. Note that
172
+ # these will only be accessible if your accounting system has been connected.
173
+ class_id: nil
174
+ )
175
+ end
176
+
177
+ sig do
178
+ override.returns(
179
+ { account_id: T.nilable(String), class_id: T.nilable(String) }
180
+ )
181
+ end
182
+ def to_hash
183
+ end
184
+ end
185
+
117
186
  # One of `payment_orders` or `expected_payments`.
118
187
  module ItemizableType
119
188
  extend ModernTreasury::Internal::Type::Enum
@@ -11,11 +11,26 @@ module ModernTreasury
11
11
  sig { returns(String) }
12
12
  attr_accessor :id
13
13
 
14
+ sig { returns(ModernTreasury::PaymentOrder::Accounting) }
15
+ attr_reader :accounting
16
+
17
+ sig do
18
+ params(
19
+ accounting: ModernTreasury::PaymentOrder::Accounting::OrHash
20
+ ).void
21
+ end
22
+ attr_writer :accounting
23
+
14
24
  # The ID of one of your accounting categories. Note that these will only be
15
25
  # accessible if your accounting system has been connected.
16
26
  sig { returns(T.nilable(String)) }
17
27
  attr_accessor :accounting_category_id
18
28
 
29
+ # The ID of one of your accounting ledger classes. Note that these will only be
30
+ # accessible if your accounting system has been connected.
31
+ sig { returns(T.nilable(String)) }
32
+ attr_accessor :accounting_ledger_class_id
33
+
19
34
  # Value in specified currency's smallest unit. e.g. $10 would be represented as
20
35
  # 1000 (cents). For RTP, the maximum amount allowed by the network is $100,000.
21
36
  sig { returns(Integer) }
@@ -277,7 +292,9 @@ module ModernTreasury
277
292
  sig do
278
293
  params(
279
294
  id: String,
295
+ accounting: ModernTreasury::PaymentOrder::Accounting::OrHash,
280
296
  accounting_category_id: T.nilable(String),
297
+ accounting_ledger_class_id: T.nilable(String),
281
298
  amount: Integer,
282
299
  charge_bearer:
283
300
  T.nilable(ModernTreasury::PaymentOrder::ChargeBearer::OrSymbol),
@@ -342,9 +359,13 @@ module ModernTreasury
342
359
  end
343
360
  def self.new(
344
361
  id:,
362
+ accounting:,
345
363
  # The ID of one of your accounting categories. Note that these will only be
346
364
  # accessible if your accounting system has been connected.
347
365
  accounting_category_id:,
366
+ # The ID of one of your accounting ledger classes. Note that these will only be
367
+ # accessible if your accounting system has been connected.
368
+ accounting_ledger_class_id:,
348
369
  # Value in specified currency's smallest unit. e.g. $10 would be represented as
349
370
  # 1000 (cents). For RTP, the maximum amount allowed by the network is $100,000.
350
371
  amount:,
@@ -479,7 +500,9 @@ module ModernTreasury
479
500
  override.returns(
480
501
  {
481
502
  id: String,
503
+ accounting: ModernTreasury::PaymentOrder::Accounting,
482
504
  accounting_category_id: T.nilable(String),
505
+ accounting_ledger_class_id: T.nilable(String),
483
506
  amount: Integer,
484
507
  charge_bearer:
485
508
  T.nilable(
@@ -546,6 +569,52 @@ module ModernTreasury
546
569
  def to_hash
547
570
  end
548
571
 
572
+ class Accounting < ModernTreasury::Internal::Type::BaseModel
573
+ OrHash =
574
+ T.type_alias do
575
+ T.any(
576
+ ModernTreasury::PaymentOrder::Accounting,
577
+ ModernTreasury::Internal::AnyHash
578
+ )
579
+ end
580
+
581
+ # The ID of one of your accounting categories. Note that these will only be
582
+ # accessible if your accounting system has been connected.
583
+ sig { returns(T.nilable(String)) }
584
+ attr_accessor :account_id
585
+
586
+ # The ID of one of the class objects in your accounting system. Class objects
587
+ # track segments of your business independent of client or project. Note that
588
+ # these will only be accessible if your accounting system has been connected.
589
+ sig { returns(T.nilable(String)) }
590
+ attr_accessor :class_id
591
+
592
+ sig do
593
+ params(
594
+ account_id: T.nilable(String),
595
+ class_id: T.nilable(String)
596
+ ).returns(T.attached_class)
597
+ end
598
+ def self.new(
599
+ # The ID of one of your accounting categories. Note that these will only be
600
+ # accessible if your accounting system has been connected.
601
+ account_id: nil,
602
+ # The ID of one of the class objects in your accounting system. Class objects
603
+ # track segments of your business independent of client or project. Note that
604
+ # these will only be accessible if your accounting system has been connected.
605
+ class_id: nil
606
+ )
607
+ end
608
+
609
+ sig do
610
+ override.returns(
611
+ { account_id: T.nilable(String), class_id: T.nilable(String) }
612
+ )
613
+ end
614
+ def to_hash
615
+ end
616
+ end
617
+
549
618
  # The party that will pay the fees for the payment order. See
550
619
  # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
551
620
  # differences between the options.