Class: Orb::Models::Invoice
- Inherits:
-
Internal::Type::BaseModel
- Object
- Internal::Type::BaseModel
- Orb::Models::Invoice
- Defined in:
- lib/orb/models/invoice.rb
Defined Under Namespace
Modules: InvoiceSource, Status Classes: AutoCollection, CreditNote, CustomerBalanceTransaction, LineItem, PaymentAttempt
Instance Attribute Summary collapse
-
#amount_due ⇒ String
This is the final amount required to be charged to the customer and reflects the application of the customer balance to the ‘total` of the invoice.
- #auto_collection ⇒ Orb::Models::Invoice::AutoCollection
- #billing_address ⇒ Orb::Models::Address?
-
#created_at ⇒ Time
The creation time of the resource in Orb.
-
#credit_notes ⇒ Array<Orb::Models::Invoice::CreditNote>
A list of credit notes associated with the invoice.
-
#currency ⇒ String
An ISO 4217 currency string or ‘credits`.
- #customer ⇒ Orb::Models::CustomerMinified
- #customer_balance_transactions ⇒ Array<Orb::Models::Invoice::CustomerBalanceTransaction>
-
#customer_tax_id ⇒ Orb::Models::CustomerTaxID?
Tax IDs are commonly required to be displayed on customer invoices, which are added to the headers of invoices.
- #discount ⇒ Object deprecated Deprecated.
- #discounts ⇒ Array<Orb::Models::PercentageDiscount, Orb::Models::AmountDiscount, Orb::Models::TrialDiscount>
-
#due_date ⇒ Time?
When the invoice payment is due.
-
#eligible_to_issue_at ⇒ Time?
If the invoice has a status of ‘draft`, this will be the time that the invoice will be eligible to be issued, otherwise it will be `null`.
-
#hosted_invoice_url ⇒ String?
A URL for the customer-facing invoice portal.
- #id ⇒ String
-
#invoice_date ⇒ Time
The scheduled date of the invoice.
-
#invoice_number ⇒ String
Automatically generated invoice number to help track and reconcile invoices.
-
#invoice_pdf ⇒ String?
The link to download the PDF representation of the ‘Invoice`.
- #invoice_source ⇒ Symbol, Orb::Models::Invoice::InvoiceSource
-
#issue_failed_at ⇒ Time?
If the invoice failed to issue, this will be the last time it failed to issue (even if it is now in a different state.).
-
#issued_at ⇒ Time?
If the invoice has been issued, this will be the time it transitioned to ‘issued` (even if it is now in a different state.).
-
#line_items ⇒ Array<Orb::Models::Invoice::LineItem>
The breakdown of prices in this invoice.
- #maximum ⇒ Orb::Models::Maximum?
- #maximum_amount ⇒ String?
-
#memo ⇒ String?
Free-form text which is available on the invoice PDF and the Orb invoice portal.
-
#metadata ⇒ Hash{Symbol=>String}
User specified key-value pairs for the resource.
- #minimum ⇒ Orb::Models::Minimum?
- #minimum_amount ⇒ String?
-
#paid_at ⇒ Time?
If the invoice has a status of ‘paid`, this gives a timestamp when the invoice was paid.
-
#payment_attempts ⇒ Array<Orb::Models::Invoice::PaymentAttempt>
A list of payment attempts associated with the invoice.
-
#payment_failed_at ⇒ Time?
If payment was attempted on this invoice but failed, this will be the time of the most recent attempt.
-
#payment_started_at ⇒ Time?
If payment was attempted on this invoice, this will be the start time of the most recent attempt.
-
#scheduled_issue_at ⇒ Time?
If the invoice is in draft, this timestamp will reflect when the invoice is scheduled to be issued.
- #shipping_address ⇒ Orb::Models::Address?
- #status ⇒ Symbol, Orb::Models::Invoice::Status
- #subscription ⇒ Orb::Models::SubscriptionMinified?
-
#subtotal ⇒ String
The total before any discounts and minimums are applied.
-
#sync_failed_at ⇒ Time?
If the invoice failed to sync, this will be the last time an external invoicing provider sync was attempted.
-
#total ⇒ String
The total after any minimums and discounts have been applied.
-
#voided_at ⇒ Time?
If the invoice has a status of ‘void`, this gives a timestamp when the invoice was voided.
-
#will_auto_issue ⇒ Boolean
This is true if the invoice will be automatically issued in the future, and false otherwise.
Class Method Summary collapse
- .values ⇒ Array<Symbol>
- .variants ⇒ Array(Orb::Models::MatrixSubLineItem, Orb::Models::TierSubLineItem, Orb::Models::OtherSubLineItem)
Instance Method Summary collapse
-
#initialize(id: , credit_note_number: , memo: , reason: , total: , type: , voided_at: ) ⇒ Object
constructor
Some parameter documentations has been truncated, see CreditNote for more details.
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(id: , credit_note_number: , memo: , reason: , total: , type: , voided_at: ) ⇒ Object
Some parameter documentations has been truncated, see CreditNote for more details.
|
|
# File 'lib/orb/models/invoice.rb', line 407
|
Instance Attribute Details
#amount_due ⇒ String
This is the final amount required to be charged to the customer and reflects the application of the customer balance to the ‘total` of the invoice.
16 |
# File 'lib/orb/models/invoice.rb', line 16 required :amount_due, String |
#auto_collection ⇒ Orb::Models::Invoice::AutoCollection
21 |
# File 'lib/orb/models/invoice.rb', line 21 required :auto_collection, -> { Orb::Invoice::AutoCollection } |
#billing_address ⇒ Orb::Models::Address?
26 |
# File 'lib/orb/models/invoice.rb', line 26 required :billing_address, -> { Orb::Address }, nil?: true |
#created_at ⇒ Time
The creation time of the resource in Orb.
32 |
# File 'lib/orb/models/invoice.rb', line 32 required :created_at, Time |
#credit_notes ⇒ Array<Orb::Models::Invoice::CreditNote>
A list of credit notes associated with the invoice
38 |
# File 'lib/orb/models/invoice.rb', line 38 required :credit_notes, -> { Orb::Internal::Type::ArrayOf[Orb::Invoice::CreditNote] } |
#currency ⇒ String
An ISO 4217 currency string or ‘credits`
44 |
# File 'lib/orb/models/invoice.rb', line 44 required :currency, String |
#customer ⇒ Orb::Models::CustomerMinified
49 |
# File 'lib/orb/models/invoice.rb', line 49 required :customer, -> { Orb::CustomerMinified } |
#customer_balance_transactions ⇒ Array<Orb::Models::Invoice::CustomerBalanceTransaction>
54 55 |
# File 'lib/orb/models/invoice.rb', line 54 required :customer_balance_transactions, -> { Orb::Internal::Type::ArrayOf[Orb::Invoice::CustomerBalanceTransaction] } |
#customer_tax_id ⇒ Orb::Models::CustomerTaxID?
Tax IDs are commonly required to be displayed on customer invoices, which are added to the headers of invoices.
### Supported Tax ID Countries and Types
| Country | Type | Description | | ———————- | ———— | ——————————————————————————————————- | | Albania | ‘al_tin` | Albania Tax Identification Number | | Andorra | `ad_nrt` | Andorran NRT Number | | Angola | `ao_tin` | Angola Tax Identification Number | | Argentina | `ar_cuit` | Argentinian Tax ID Number | | Armenia | `am_tin` | Armenia Tax Identification Number | | Aruba | `aw_tin` | Aruba Tax Identification Number | | Australia | `au_abn` | Australian Business Number (AU ABN) | | Australia | `au_arn` | Australian Taxation Office Reference Number | | Austria | `eu_vat` | European VAT Number | | Azerbaijan | `az_tin` | Azerbaijan Tax Identification Number | | Bahamas | `bs_tin` | Bahamas Tax Identification Number | | Bahrain | `bh_vat` | Bahraini VAT Number | | Bangladesh | `bd_bin` | Bangladesh Business Identification Number | | Barbados | `bb_tin` | Barbados Tax Identification Number | | Belarus | `by_tin` | Belarus TIN Number | | Belgium | `eu_vat` | European VAT Number | | Benin | `bj_ifu` | Benin Tax Identification Number (Identifiant Fiscal Unique) | | Bolivia | `bo_tin` | Bolivian Tax ID | | Bosnia and Herzegovina | `ba_tin` | Bosnia and Herzegovina Tax Identification Number | | Brazil | `br_cnpj` | Brazilian CNPJ Number | | Brazil | `br_cpf` | Brazilian CPF Number | | Bulgaria | `bg_uic` | Bulgaria Unified Identification Code | | Bulgaria | `eu_vat` | European VAT Number | | Burkina Faso | `bf_ifu` | Burkina Faso Tax Identification Number (Numéro d’Identifiant Fiscal Unique) | | Cambodia | ‘kh_tin` | Cambodia Tax Identification Number | | Cameroon | `cm_niu` | Cameroon Tax Identification Number (Numéro d’Identifiant fiscal Unique) | | Canada | ‘ca_bn` | Canadian BN | | Canada | `ca_gst_hst` | Canadian GST/HST Number | | Canada | `ca_pst_bc` | Canadian PST Number (British Columbia) | | Canada | `ca_pst_mb` | Canadian PST Number (Manitoba) | | Canada | `ca_pst_sk` | Canadian PST Number (Saskatchewan) | | Canada | `ca_qst` | Canadian QST Number (Québec) | | Cape Verde | `cv_nif` | Cape Verde Tax Identification Number (Número de Identificação Fiscal) | | Chile | `cl_tin` | Chilean TIN | | China | `cn_tin` | Chinese Tax ID | | Colombia | `co_nit` | Colombian NIT Number | | Congo-Kinshasa | `cd_nif` | Congo (DR) Tax Identification Number (Número de Identificação Fiscal) | | Costa Rica | `cr_tin` | Costa Rican Tax ID | | Croatia | `eu_vat` | European VAT Number | | Croatia | `hr_oib` | Croatian Personal Identification Number (OIB) | | Cyprus | `eu_vat` | European VAT Number | | Czech Republic | `eu_vat` | European VAT Number | | Denmark | `eu_vat` | European VAT Number | | Dominican Republic | `do_rcn` | Dominican RCN Number | | Ecuador | `ec_ruc` | Ecuadorian RUC Number | | Egypt | `eg_tin` | Egyptian Tax Identification Number | | El Salvador | `sv_nit` | El Salvadorian NIT Number | | Estonia | `eu_vat` | European VAT Number | | Ethiopia | `et_tin` | Ethiopia Tax Identification Number | | European Union | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme | | Finland | `eu_vat` | European VAT Number | | France | `eu_vat` | European VAT Number | | Georgia | `ge_vat` | Georgian VAT | | Germany | `de_stn` | German Tax Number (Steuernummer) | | Germany | `eu_vat` | European VAT Number | | Greece | `eu_vat` | European VAT Number | | Guinea | `gn_nif` | Guinea Tax Identification Number (Número de Identificação Fiscal) | | Hong Kong | `hk_br` | Hong Kong BR Number | | Hungary | `eu_vat` | European VAT Number | | Hungary | `hu_tin` | Hungary Tax Number (adószám) | | Iceland | `is_vat` | Icelandic VAT | | India | `in_gst` | Indian GST Number | | Indonesia | `id_npwp` | Indonesian NPWP Number | | Ireland | `eu_vat` | European VAT Number | | Israel | `il_vat` | Israel VAT | | Italy | `eu_vat` | European VAT Number | | Japan | `jp_cn` | Japanese Corporate Number (_Hōjin Bangō_) | | Japan | `jp_rn` | Japanese Registered Foreign Businesses’ Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) | | Japan | ‘jp_trn` | Japanese Tax Registration Number (_Tōroku Bangō_) | | Kazakhstan | `kz_bin` | Kazakhstani Business Identification Number | | Kenya | `ke_pin` | Kenya Revenue Authority Personal Identification Number | | Kyrgyzstan | `kg_tin` | Kyrgyzstan Tax Identification Number | | Laos | `la_tin` | Laos Tax Identification Number | | Latvia | `eu_vat` | European VAT Number | | Liechtenstein | `li_uid` | Liechtensteinian UID Number | | Liechtenstein | `li_vat` | Liechtenstein VAT Number | | Lithuania | `eu_vat` | European VAT Number | | Luxembourg | `eu_vat` | European VAT Number | | Malaysia | `my_frp` | Malaysian FRP Number | | Malaysia | `my_itn` | Malaysian ITN | | Malaysia | `my_sst` | Malaysian SST Number | | Malta | `eu_vat` | European VAT Number | | Mauritania | `mr_nif` | Mauritania Tax Identification Number (Número de Identificação Fiscal) | | Mexico | `mx_rfc` | Mexican RFC Number | | Moldova | `md_vat` | Moldova VAT Number | | Montenegro | `me_pib` | Montenegro PIB Number | | Morocco | `ma_vat` | Morocco VAT Number | | Nepal | `np_pan` | Nepal PAN Number | | Netherlands | `eu_vat` | European VAT Number | | New Zealand | `nz_gst` | New Zealand GST Number | | Nigeria | `ng_tin` | Nigerian Tax Identification Number | | North Macedonia | `mk_vat` | North Macedonia VAT Number | | Northern Ireland | `eu_vat` | Northern Ireland VAT Number | | Norway | `no_vat` | Norwegian VAT Number | | Norway | `no_voec` | Norwegian VAT on e-commerce Number | | Oman | `om_vat` | Omani VAT Number | | Peru | `pe_ruc` | Peruvian RUC Number | | Philippines | `ph_tin` | Philippines Tax Identification Number | | Poland | `eu_vat` | European VAT Number | | Portugal | `eu_vat` | European VAT Number | | Romania | `eu_vat` | European VAT Number | | Romania | `ro_tin` | Romanian Tax ID Number | | Russia | `ru_inn` | Russian INN | | Russia | `ru_kpp` | Russian KPP | | Saudi Arabia | `sa_vat` | Saudi Arabia VAT | | Senegal | `sn_ninea` | Senegal NINEA Number | | Serbia | `rs_pib` | Serbian PIB Number | | Singapore | `sg_gst` | Singaporean GST | | Singapore | `sg_uen` | Singaporean UEN | | Slovakia | `eu_vat` | European VAT Number | | Slovenia | `eu_vat` | European VAT Number | | Slovenia | `si_tin` | Slovenia Tax Number (davčna številka) | | South Africa | `za_vat` | South African VAT Number | | South Korea | `kr_brn` | Korean BRN | | Spain | `es_cif` | Spanish NIF Number (previously Spanish CIF Number) | | Spain | `eu_vat` | European VAT Number | | Suriname | `sr_fin` | Suriname FIN Number | | Sweden | `eu_vat` | European VAT Number | | Switzerland | `ch_uid` | Switzerland UID Number | | Switzerland | `ch_vat` | Switzerland VAT Number | | Taiwan | `tw_vat` | Taiwanese VAT | | Tajikistan | `tj_tin` | Tajikistan Tax Identification Number | | Tanzania | `tz_vat` | Tanzania VAT Number | | Thailand | `th_vat` | Thai VAT | | Turkey | `tr_tin` | Turkish Tax Identification Number | | Uganda | `ug_tin` | Uganda Tax Identification Number | | Ukraine | `ua_vat` | Ukrainian VAT | | United Arab Emirates | `ae_trn` | United Arab Emirates TRN | | United Kingdom | `gb_vat` | United Kingdom VAT Number | | United States | `us_ein` | United States EIN | | Uruguay | `uy_ruc` | Uruguayan RUC Number | | Uzbekistan | `uz_tin` | Uzbekistan TIN Number | | Uzbekistan | `uz_vat` | Uzbekistan VAT Number | | Venezuela | `ve_rif` | Venezuelan RIF Number | | Vietnam | `vn_tin` | Vietnamese Tax ID Number | | Zambia | `zm_tin` | Zambia Tax Identification Number | | Zimbabwe | `zw_tin` | Zimbabwe Tax Identification Number |
204 |
# File 'lib/orb/models/invoice.rb', line 204 required :customer_tax_id, -> { Orb::CustomerTaxID }, nil?: true |
#discount ⇒ Object
This field is deprecated in favor of ‘discounts`. If a `discounts` list is provided, the first discount in the list will be returned. If the list is empty, `None` will be returned.
214 |
# File 'lib/orb/models/invoice.rb', line 214 required :discount, Orb::Internal::Type::Unknown |
#discounts ⇒ Array<Orb::Models::PercentageDiscount, Orb::Models::AmountDiscount, Orb::Models::TrialDiscount>
219 |
# File 'lib/orb/models/invoice.rb', line 219 required :discounts, -> { Orb::Internal::Type::ArrayOf[union: Orb::InvoiceLevelDiscount] } |
#due_date ⇒ Time?
When the invoice payment is due. The due date is null if the invoice is not yet finalized.
226 |
# File 'lib/orb/models/invoice.rb', line 226 required :due_date, Time, nil?: true |
#eligible_to_issue_at ⇒ Time?
If the invoice has a status of ‘draft`, this will be the time that the invoice will be eligible to be issued, otherwise it will be `null`. If `auto-issue` is true, the invoice will automatically begin issuing at this time.
234 |
# File 'lib/orb/models/invoice.rb', line 234 required :eligible_to_issue_at, Time, nil?: true |
#hosted_invoice_url ⇒ String?
A URL for the customer-facing invoice portal. This URL expires 30 days after the invoice’s due date, or 60 days after being re-generated through the UI.
241 |
# File 'lib/orb/models/invoice.rb', line 241 required :hosted_invoice_url, String, nil?: true |
#id ⇒ String
9 |
# File 'lib/orb/models/invoice.rb', line 9 required :id, String |
#invoice_date ⇒ Time
The scheduled date of the invoice
247 |
# File 'lib/orb/models/invoice.rb', line 247 required :invoice_date, Time |
#invoice_number ⇒ String
Automatically generated invoice number to help track and reconcile invoices. Invoice numbers have a prefix such as ‘RFOBWG`. These can be sequential per account or customer.
255 |
# File 'lib/orb/models/invoice.rb', line 255 required :invoice_number, String |
#invoice_pdf ⇒ String?
The link to download the PDF representation of the ‘Invoice`.
261 |
# File 'lib/orb/models/invoice.rb', line 261 required :invoice_pdf, String, nil?: true |
#invoice_source ⇒ Symbol, Orb::Models::Invoice::InvoiceSource
266 |
# File 'lib/orb/models/invoice.rb', line 266 required :invoice_source, enum: -> { Orb::Invoice::InvoiceSource } |
#issue_failed_at ⇒ Time?
If the invoice failed to issue, this will be the last time it failed to issue (even if it is now in a different state.)
273 |
# File 'lib/orb/models/invoice.rb', line 273 required :issue_failed_at, Time, nil?: true |
#issued_at ⇒ Time?
If the invoice has been issued, this will be the time it transitioned to ‘issued` (even if it is now in a different state.)
280 |
# File 'lib/orb/models/invoice.rb', line 280 required :issued_at, Time, nil?: true |
#line_items ⇒ Array<Orb::Models::Invoice::LineItem>
The breakdown of prices in this invoice.
286 |
# File 'lib/orb/models/invoice.rb', line 286 required :line_items, -> { Orb::Internal::Type::ArrayOf[Orb::Invoice::LineItem] } |
#maximum ⇒ Orb::Models::Maximum?
291 |
# File 'lib/orb/models/invoice.rb', line 291 required :maximum, -> { Orb::Maximum }, nil?: true |
#maximum_amount ⇒ String?
296 |
# File 'lib/orb/models/invoice.rb', line 296 required :maximum_amount, String, nil?: true |
#memo ⇒ String?
Free-form text which is available on the invoice PDF and the Orb invoice portal.
302 |
# File 'lib/orb/models/invoice.rb', line 302 required :memo, String, nil?: true |
#metadata ⇒ Hash{Symbol=>String}
User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to ‘null`, and the entire metadata mapping can be cleared by setting `metadata` to `null`.
311 |
# File 'lib/orb/models/invoice.rb', line 311 required :metadata, Orb::Internal::Type::HashOf[String] |
#minimum ⇒ Orb::Models::Minimum?
316 |
# File 'lib/orb/models/invoice.rb', line 316 required :minimum, -> { Orb::Minimum }, nil?: true |
#minimum_amount ⇒ String?
321 |
# File 'lib/orb/models/invoice.rb', line 321 required :minimum_amount, String, nil?: true |
#paid_at ⇒ Time?
If the invoice has a status of ‘paid`, this gives a timestamp when the invoice was paid.
328 |
# File 'lib/orb/models/invoice.rb', line 328 required :paid_at, Time, nil?: true |
#payment_attempts ⇒ Array<Orb::Models::Invoice::PaymentAttempt>
A list of payment attempts associated with the invoice
334 |
# File 'lib/orb/models/invoice.rb', line 334 required :payment_attempts, -> { Orb::Internal::Type::ArrayOf[Orb::Invoice::PaymentAttempt] } |
#payment_failed_at ⇒ Time?
If payment was attempted on this invoice but failed, this will be the time of the most recent attempt.
341 |
# File 'lib/orb/models/invoice.rb', line 341 required :payment_failed_at, Time, nil?: true |
#payment_started_at ⇒ Time?
If payment was attempted on this invoice, this will be the start time of the most recent attempt. This field is especially useful for delayed-notification payment mechanisms (like bank transfers), where payment can take 3 days or more.
349 |
# File 'lib/orb/models/invoice.rb', line 349 required :payment_started_at, Time, nil?: true |
#scheduled_issue_at ⇒ Time?
If the invoice is in draft, this timestamp will reflect when the invoice is scheduled to be issued.
356 |
# File 'lib/orb/models/invoice.rb', line 356 required :scheduled_issue_at, Time, nil?: true |
#shipping_address ⇒ Orb::Models::Address?
361 |
# File 'lib/orb/models/invoice.rb', line 361 required :shipping_address, -> { Orb::Address }, nil?: true |
#status ⇒ Symbol, Orb::Models::Invoice::Status
366 |
# File 'lib/orb/models/invoice.rb', line 366 required :status, enum: -> { Orb::Invoice::Status } |
#subscription ⇒ Orb::Models::SubscriptionMinified?
371 |
# File 'lib/orb/models/invoice.rb', line 371 required :subscription, -> { Orb::SubscriptionMinified }, nil?: true |
#subtotal ⇒ String
The total before any discounts and minimums are applied.
377 |
# File 'lib/orb/models/invoice.rb', line 377 required :subtotal, String |
#sync_failed_at ⇒ Time?
If the invoice failed to sync, this will be the last time an external invoicing provider sync was attempted. This field will always be ‘null` for invoices using Orb Invoicing.
385 |
# File 'lib/orb/models/invoice.rb', line 385 required :sync_failed_at, Time, nil?: true |
#total ⇒ String
The total after any minimums and discounts have been applied.
391 |
# File 'lib/orb/models/invoice.rb', line 391 required :total, String |
#voided_at ⇒ Time?
If the invoice has a status of ‘void`, this gives a timestamp when the invoice was voided.
398 |
# File 'lib/orb/models/invoice.rb', line 398 required :voided_at, Time, nil?: true |
Class Method Details
.values ⇒ Array<Symbol>
|
|
# File 'lib/orb/models/invoice.rb', line 711
|
.variants ⇒ Array(Orb::Models::MatrixSubLineItem, Orb::Models::TierSubLineItem, Orb::Models::OtherSubLineItem)
|
|
# File 'lib/orb/models/invoice.rb', line 966
|