Class: GOBL::Bill::Invoice

Inherits:
Object show all
Includes:
Extensions::Bill::InvoiceHelper
Defined in:
lib/generated/gobl/bill/invoice.rb

Overview

Invoice represents a payment claim for goods or services supplied under conditions agreed between the supplier and the customer.

Constant Summary collapse

SCHEMA_ID =

The Schema ID of the GOBL Invoice structure

'https://gobl.org/draft-0/bill/invoice'
TYPE_ENUM =

Enumeration of possible values for #type with their corresponding descriptions

{
  'standard' => 'A regular commercial invoice document between a supplier and customer.',
  'proforma' => 'For a clients validation before sending a final invoice.',
  'corrective' => 'Corrected invoice that completely *replaces* the preceding document.',
  'credit-note' => 'Reflects a refund either partial or complete of the preceding document. A 
credit note effectively *extends* the previous document.',
  'debit-note' => 'An additional set of charges to be added to the preceding document.'
}.freeze

Instance Attribute Summary collapse

Method Summary

Methods included from Extensions::Bill::InvoiceHelper

#regime, #scenario_summary

Methods inherited from Object

new

Methods inherited from Struct

#as_json, from_data, from_json!, #to_json

Instance Attribute Details

#chargesArray<Charge> (readonly)

Charges or surcharges applied to the complete invoice

Returns:



107
# File 'lib/generated/gobl/bill/invoice.rb', line 107

property :charges, [Charge]

#codeString (readonly)

Sequential code used to identify this invoice in tax declarations.

Returns:

  • (String)


45
# File 'lib/generated/gobl/bill/invoice.rb', line 45

property :code, String

#complementsArray<GOBL::Schema::Object> (readonly)

Additional complementary objects that add relevant information to the invoice.

Returns:



142
# File 'lib/generated/gobl/bill/invoice.rb', line 142

property :complements, [GOBL::Schema::Object]

#currencyGOBL::Currency::Code (readonly)

Currency for all invoice totals.



66
# File 'lib/generated/gobl/bill/invoice.rb', line 66

property :currency, GOBL::Currency::Code

#customerGOBL::Org::Party (readonly)

Legal entity receiving the goods or services, may be empty in certain circumstances such as simplified invoices.

Returns:



92
# File 'lib/generated/gobl/bill/invoice.rb', line 92

property :customer, GOBL::Org::Party

#deliveryDelivery (readonly)

Specific details on delivery of the goods referenced in the invoice.

Returns:



127
# File 'lib/generated/gobl/bill/invoice.rb', line 127

property :delivery, Delivery

#discountsArray<Discount> (readonly)

Discounts or allowances applied to the complete invoice

Returns:



102
# File 'lib/generated/gobl/bill/invoice.rb', line 102

property :discounts, [Discount]

#exchange_ratesArray<GOBL::Currency::ExchangeRate> (readonly)

Exchange rates to be used when converting the invoices monetary values into other currencies.

Returns:



71
# File 'lib/generated/gobl/bill/invoice.rb', line 71

property :exchange_rates, [GOBL::Currency::ExchangeRate]

#issue_dateGOBL::Cal::Date (readonly)

When the invoice was created.

Returns:



51
# File 'lib/generated/gobl/bill/invoice.rb', line 51

property :issue_date, GOBL::Cal::Date

#linesArray<Line> (readonly)

List of invoice lines representing each of the items sold to the customer.

Returns:



97
# File 'lib/generated/gobl/bill/invoice.rb', line 97

property :lines, [Line]

#metaGOBL::CBC::Meta (readonly)

Additional semi-structured data that doesn’t fit into the body of the invoice.

Returns:



147
# File 'lib/generated/gobl/bill/invoice.rb', line 147

property :meta, GOBL::CBC::Meta

#notesArray<GOBL::CBC::Note> (readonly)

Unstructured information that is relevant to the invoice, such as correction or additional legal details.

Returns:



137
# File 'lib/generated/gobl/bill/invoice.rb', line 137

property :notes, [GOBL::CBC::Note]

#op_dateGOBL::Cal::Date (readonly)

Date when the operation defined by the invoice became effective.

Returns:



56
# File 'lib/generated/gobl/bill/invoice.rb', line 56

property :op_date, GOBL::Cal::Date

#orderingOrdering (readonly)

Ordering details including document references and buyer or seller parties.

Returns:



117
# File 'lib/generated/gobl/bill/invoice.rb', line 117

property :ordering, Ordering

#outlaysArray<Outlay> (readonly)

Expenses paid for by the supplier but invoiced directly to the customer.

Returns:



112
# File 'lib/generated/gobl/bill/invoice.rb', line 112

property :outlays, [Outlay]

#paymentPayment (readonly)

Information on when, how, and to whom the invoice should be paid.

Returns:



122
# File 'lib/generated/gobl/bill/invoice.rb', line 122

property :payment, Payment

#precedingArray<Preceding> (readonly)

Key information regarding previous invoices and potentially details as to why they were corrected.

Returns:



76
# File 'lib/generated/gobl/bill/invoice.rb', line 76

property :preceding, [Preceding]

#seriesString (readonly)

Used as a prefix to group codes.

Returns:

  • (String)


40
# File 'lib/generated/gobl/bill/invoice.rb', line 40

property :series, String

#supplierGOBL::Org::Party (readonly)

The taxable entity supplying the goods or services.

Returns:



86
# File 'lib/generated/gobl/bill/invoice.rb', line 86

property :supplier, GOBL::Org::Party

#taxTax (readonly)

Special tax configuration for billing.

Returns:



81
# File 'lib/generated/gobl/bill/invoice.rb', line 81

property :tax, Tax

#totalsTotals (readonly)

Summary of all the invoice totals, including taxes (calculated).

Returns:



132
# File 'lib/generated/gobl/bill/invoice.rb', line 132

property :totals, Totals

#typeGOBL::CBC::Key (readonly)

Type of invoice document subject to the requirements of the local tax regime.

Returns:



34
# File 'lib/generated/gobl/bill/invoice.rb', line 34

property :type, GOBL::CBC::Key

#uuidGOBL::UUID::UUID (readonly)

Unique document ID. Not required, but always recommended in addition to the Code.

Returns:



19
# File 'lib/generated/gobl/bill/invoice.rb', line 19

property :uuid, GOBL::UUID::UUID

#value_dateGOBL::Cal::Date (readonly)

When the taxes of this invoice become accountable, if none set, the issue date is used.

Returns:



61
# File 'lib/generated/gobl/bill/invoice.rb', line 61

property :value_date, GOBL::Cal::Date