Class: ModernTreasury::Models::Invoice

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/modern_treasury/models/invoice.rb

Overview

Defined Under Namespace

Modules: PaymentMethod, PaymentType, Status Classes: CounterpartyBillingAddress, CounterpartyShippingAddress, InvoicerAddress

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, inspect, #inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(country: , line1: , locality: , postal_code: , region: , line2: nil) ⇒ Object

The invoice issuer’s business address.

Parameters:

  • country (String) (defaults to: )

    Country code conforms to [ISO 3166-1 alpha-2]

  • line1 (String) (defaults to: )
  • locality (String) (defaults to: )

    Locality or City.

  • postal_code (String) (defaults to: )

    The postal code of the address.

  • region (String) (defaults to: )

    Region or State.

  • line2 (String) (defaults to: nil)


# File 'lib/modern_treasury/models/invoice.rb', line 253


Instance Attribute Details

#amount_paidInteger

Amount paid on the invoice in specified currency’s smallest unit, e.g., $10 USD would be represented as 1000.

Returns:

  • (Integer)


17
# File 'lib/modern_treasury/models/invoice.rb', line 17

required :amount_paid, Integer

#amount_remainingInteger

Amount remaining due on the invoice in specified currency’s smallest unit, e.g., $10 USD would be represented as 1000.

Returns:

  • (Integer)


24
# File 'lib/modern_treasury/models/invoice.rb', line 24

required :amount_remaining, Integer

#contact_detailsArray<ModernTreasury::Models::ContactDetail>

The invoicer’s contact details displayed at the top of the invoice.



30
# File 'lib/modern_treasury/models/invoice.rb', line 30

required :contact_details, -> { ModernTreasury::Internal::Type::ArrayOf[ModernTreasury::ContactDetail] }

#counterparty_billing_addressModernTreasury::Models::Invoice::CounterpartyBillingAddress?

The counterparty’s billing address.



36
37
38
# File 'lib/modern_treasury/models/invoice.rb', line 36

required :counterparty_billing_address,
-> { ModernTreasury::Invoice::CounterpartyBillingAddress },
nil?: true

#counterparty_idString

The ID of the counterparty receiving the invoice.

Returns:

  • (String)


44
# File 'lib/modern_treasury/models/invoice.rb', line 44

required :counterparty_id, String

#counterparty_shipping_addressModernTreasury::Models::Invoice::CounterpartyShippingAddress?

The counterparty’s shipping address where physical goods should be delivered.



50
51
52
# File 'lib/modern_treasury/models/invoice.rb', line 50

required :counterparty_shipping_address,
-> { ModernTreasury::Invoice::CounterpartyShippingAddress },
nil?: true

#created_atTime

Returns:

  • (Time)


57
# File 'lib/modern_treasury/models/invoice.rb', line 57

required :created_at, Time

#currencySymbol, ModernTreasury::Models::Currency

Currency that the invoice is denominated in. Defaults to ‘USD` if not provided.



63
# File 'lib/modern_treasury/models/invoice.rb', line 63

required :currency, enum: -> { ModernTreasury::Currency }

#descriptionString

An optional free-form description of the invoice.

Returns:

  • (String)


69
# File 'lib/modern_treasury/models/invoice.rb', line 69

required :description, String

#due_dateTime

A future date by when the invoice needs to be paid.

Returns:

  • (Time)


75
# File 'lib/modern_treasury/models/invoice.rb', line 75

required :due_date, Time

#expected_paymentsArray<ModernTreasury::Models::ExpectedPayment>

The expected payments created for an unpaid invoice.



81
82
# File 'lib/modern_treasury/models/invoice.rb', line 81

required :expected_payments,
-> { ModernTreasury::Internal::Type::ArrayOf[ModernTreasury::ExpectedPayment] }

#fallback_payment_methodString?

When payment_method is automatic, the fallback payment method to use when an automatic payment fails. One of ‘manual` or `ui`.

Returns:

  • (String, nil)


89
# File 'lib/modern_treasury/models/invoice.rb', line 89

required :fallback_payment_method, String, nil?: true

#hosted_urlString

The URL of the hosted web UI where the invoice can be viewed.

Returns:

  • (String)


95
# File 'lib/modern_treasury/models/invoice.rb', line 95

required :hosted_url, String

#idString

Returns:

  • (String)


10
# File 'lib/modern_treasury/models/invoice.rb', line 10

required :id, String

#invoicer_addressModernTreasury::Models::Invoice::InvoicerAddress?

The invoice issuer’s business address.



101
# File 'lib/modern_treasury/models/invoice.rb', line 101

required :invoicer_address, -> { ModernTreasury::Invoice::InvoicerAddress }, nil?: true

#invoicer_nameString?

The name of the issuer for the invoice. Defaults to the name of the Organization.

Returns:

  • (String, nil)


108
# File 'lib/modern_treasury/models/invoice.rb', line 108

required :invoicer_name, String, nil?: true

#ledger_account_settlement_idString?

The ledger account settlement object linked to the invoice.

Returns:

  • (String, nil)


114
# File 'lib/modern_treasury/models/invoice.rb', line 114

required :ledger_account_settlement_id, String, nil?: true

#live_modeBoolean

This field will be true if this object exists in the live environment or false if it exists in the test environment.

Returns:

  • (Boolean)


121
# File 'lib/modern_treasury/models/invoice.rb', line 121

required :live_mode, ModernTreasury::Internal::Type::Boolean

#metadataHash{Symbol=>String}?

Additional data represented as key-value pairs. Both the key and value must be strings.

Returns:

  • (Hash{Symbol=>String}, nil)


128
# File 'lib/modern_treasury/models/invoice.rb', line 128

required :metadata, ModernTreasury::Internal::Type::HashOf[String], nil?: true

#notification_email_addressesArray<String>?

Emails in addition to the counterparty email to send invoice status notifications to. At least one email is required if notifications are enabled and the counterparty doesn’t have an email.

Returns:

  • (Array<String>, nil)


136
# File 'lib/modern_treasury/models/invoice.rb', line 136

required :notification_email_addresses, ModernTreasury::Internal::Type::ArrayOf[String], nil?: true

#notifications_enabledBoolean

If true, the invoice will send email notifications to the invoice recipients about invoice status changes.

Returns:

  • (Boolean)


143
# File 'lib/modern_treasury/models/invoice.rb', line 143

required :notifications_enabled, ModernTreasury::Internal::Type::Boolean

#numberString

A unique record number assigned to each invoice that is issued.

Returns:

  • (String)


149
# File 'lib/modern_treasury/models/invoice.rb', line 149

required :number, String

#objectString

Returns:

  • (String)


154
# File 'lib/modern_treasury/models/invoice.rb', line 154

required :object, String

#originating_account_idString

The ID of the internal account the invoice should be paid to.

Returns:

  • (String)


160
# File 'lib/modern_treasury/models/invoice.rb', line 160

required :originating_account_id, String

#payment_effective_dateDate?

Date transactions are to be posted to the participants’ account. Defaults to the current business day or the next business day if the current day is a bank holiday or weekend. Format: yyyy-mm-dd.

Returns:

  • (Date, nil)


168
# File 'lib/modern_treasury/models/invoice.rb', line 168

required :payment_effective_date, Date, nil?: true

#payment_methodSymbol, ...

When opening an invoice, whether to show the embedded payment UI , automatically debit the recipient, or rely on manual payment from the recipient.



175
# File 'lib/modern_treasury/models/invoice.rb', line 175

required :payment_method, enum: -> { ModernTreasury::Invoice::PaymentMethod }, nil?: true

#payment_ordersArray<ModernTreasury::Models::PaymentOrder>

The payment orders created for paying the invoice through the invoice payment UI.



182
# File 'lib/modern_treasury/models/invoice.rb', line 182

required :payment_orders, -> { ModernTreasury::Internal::Type::ArrayOf[ModernTreasury::PaymentOrder] }

#payment_typeSymbol, ...

One of ‘ach` or `eft`.



188
# File 'lib/modern_treasury/models/invoice.rb', line 188

required :payment_type, enum: -> { ModernTreasury::Invoice::PaymentType }, nil?: true

#pdf_urlString?

The URL where the invoice PDF can be downloaded.

Returns:

  • (String, nil)


194
# File 'lib/modern_treasury/models/invoice.rb', line 194

required :pdf_url, String, nil?: true

#receiving_account_idString?

The receiving account ID. Can be an ‘internal_account`.

Returns:

  • (String, nil)


200
# File 'lib/modern_treasury/models/invoice.rb', line 200

required :receiving_account_id, String, nil?: true

#recipient_emailString?

The email of the recipient of the invoice. Leaving this value as null will fallback to using the counterparty’s name.

Returns:

  • (String, nil)


207
# File 'lib/modern_treasury/models/invoice.rb', line 207

required :recipient_email, String, nil?: true

#recipient_nameString?

The name of the recipient of the invoice. Leaving this value as null will fallback to using the counterparty’s name.

Returns:

  • (String, nil)


214
# File 'lib/modern_treasury/models/invoice.rb', line 214

required :recipient_name, String, nil?: true

#remind_after_overdue_daysArray<Integer>?

Number of days after due date when overdue reminder emails will be sent out to invoice recipients.

Returns:

  • (Array<Integer>, nil)


221
# File 'lib/modern_treasury/models/invoice.rb', line 221

required :remind_after_overdue_days, ModernTreasury::Internal::Type::ArrayOf[Integer], nil?: true

#statusSymbol, ModernTreasury::Models::Invoice::Status

The status of the invoice.



227
# File 'lib/modern_treasury/models/invoice.rb', line 227

required :status, enum: -> { ModernTreasury::Invoice::Status }

#total_amountInteger

Total amount due in specified currency’s smallest unit, e.g., $10 USD would be represented as 1000.

Returns:

  • (Integer)


234
# File 'lib/modern_treasury/models/invoice.rb', line 234

required :total_amount, Integer

#transaction_line_item_idsArray<String>

IDs of transaction line items associated with an invoice.

Returns:

  • (Array<String>)


240
# File 'lib/modern_treasury/models/invoice.rb', line 240

required :transaction_line_item_ids, ModernTreasury::Internal::Type::ArrayOf[String]

#updated_atTime

Returns:

  • (Time)


245
# File 'lib/modern_treasury/models/invoice.rb', line 245

required :updated_at, Time

#virtual_account_idString?

The ID of the virtual account the invoice should be paid to.

Returns:

  • (String, nil)


251
# File 'lib/modern_treasury/models/invoice.rb', line 251

required :virtual_account_id, String, nil?: true

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/modern_treasury/models/invoice.rb', line 500