Class: LockstepSdk::InvoiceModel

Inherits:
Object
  • Object
show all
Defined in:
lib/lockstep_sdk/models/invoice_model.rb

Overview

An Invoice represents a bill sent from one company to another. The creator of the invoice is identified by the `CompanyId` field, and the recipient of the invoice is identified by the `CustomerId` field. Most invoices are uniquely identified both by a Lockstep Platform ID number and a customer ERP “key” that was generated by the system that originated the invoice. Invoices have a total amount and a due date, and when some payments have been made on the Invoice the `TotalAmount` and the `OutstandingBalanceAmount` may be different.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ InvoiceModel

Initialize the InvoiceModel using the provided prototype



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 31

def initialize(params = {})
    @group_key = params.dig(:group_key)
    @invoice_id = params.dig(:invoice_id)
    @company_id = params.dig(:company_id)
    @customer_id = params.dig(:customer_id)
    @erp_key = params.dig(:erp_key)
    @purchase_order_code = params.dig(:purchase_order_code)
    @reference_code = params.dig(:reference_code)
    @salesperson_code = params.dig(:salesperson_code)
    @salesperson_name = params.dig(:salesperson_name)
    @invoice_type_code = params.dig(:invoice_type_code)
    @invoice_status_code = params.dig(:invoice_status_code)
    @terms_code = params.dig(:terms_code)
    @special_terms = params.dig(:special_terms)
    @currency_code = params.dig(:currency_code)
    @total_amount = params.dig(:total_amount)
    @sales_tax_amount = params.dig(:sales_tax_amount)
    @discount_amount = params.dig(:discount_amount)
    @outstanding_balance_amount = params.dig(:outstanding_balance_amount)
    @invoice_date = params.dig(:invoice_date)
    @discount_date = params.dig(:discount_date)
    @posted_date = params.dig(:posted_date)
    @invoice_closed_date = params.dig(:invoice_closed_date)
    @payment_due_date = params.dig(:payment_due_date)
    @imported_date = params.dig(:imported_date)
    @primary_origin_address_id = params.dig(:primary_origin_address_id)
    @primary_bill_to_address_id = params.dig(:primary_bill_to_address_id)
    @primary_ship_to_address_id = params.dig(:primary_ship_to_address_id)
    @created = params.dig(:created)
    @created_user_id = params.dig(:created_user_id)
    @modified = params.dig(:modified)
    @modified_user_id = params.dig(:modified_user_id)
    @app_enrollment_id = params.dig(:app_enrollment_id)
    @is_voided = params.dig(:is_voided)
    @in_dispute = params.dig(:in_dispute)
    @exclude_from_aging = params.dig(:exclude_from_aging)
    @addresses = params.dig(:addresses)
    @lines = params.dig(:lines)
    @payments = params.dig(:payments)
    @notes = params.dig(:notes)
    @attachments = params.dig(:attachments)
    @company = params.dig(:company)
    @customer = params.dig(:customer)
    @customer_primary_contact = params.dig(:customer_primary_contact)
    @credit_memos = params.dig(:credit_memos)
    @custom_field_values = params.dig(:custom_field_values)
    @custom_field_definitions = params.dig(:custom_field_definitions)
end

Instance Attribute Details

#addressesInvoiceAddressModel

Returns All addresses connected to this invoice. To retrieve this collection, specify `Addresses` in the “Include” parameter for your query.

Returns:

  • (InvoiceAddressModel)

    All addresses connected to this invoice. To retrieve this collection, specify `Addresses` in the “Include” parameter for your query.



151
152
153
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 151

def addresses
  @addresses
end

#app_enrollment_idUuid

Returns AppEnrollmentId for this record; used for mapping purposes.

Returns:

  • (Uuid)

    AppEnrollmentId for this record; used for mapping purposes.



143
144
145
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 143

def app_enrollment_id
  @app_enrollment_id
end

#attachmentsAttachmentModel

Returns All attachments attached to this invoice. To retrieve this collection, specify `Attachments` in the “Include” parameter for your query.

Returns:

  • (AttachmentModel)

    All attachments attached to this invoice. To retrieve this collection, specify `Attachments` in the “Include” parameter for your query.



159
160
161
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 159

def attachments
  @attachments
end

#companyCompanyModel

Returns The Company associated to this invoice. To retrieve this item, specify `Company` in the “Include” parameter for your query.

Returns:

  • (CompanyModel)

    The Company associated to this invoice. To retrieve this item, specify `Company` in the “Include” parameter for your query.



161
162
163
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 161

def company
  @company
end

#company_idUuid

Returns The ID number of the company that created this invoice.

Returns:

  • (Uuid)

    The ID number of the company that created this invoice.



85
86
87
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 85

def company_id
  @company_id
end

#createdDate-time

Returns The date on which this address record was created.

Returns:

  • (Date-time)

    The date on which this address record was created.



135
136
137
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 135

def created
  @created
end

#created_user_idUuid

Returns The ID number of the user who created this address.

Returns:

  • (Uuid)

    The ID number of the user who created this address.



137
138
139
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 137

def created_user_id
  @created_user_id
end

#credit_memosCreditMemoInvoiceModel

Returns The credit memos associated to this invoice. To retrieve this item, specify `CreditMemos` in the “Include” parameter for your query.

Returns:

  • (CreditMemoInvoiceModel)

    The credit memos associated to this invoice. To retrieve this item, specify `CreditMemos` in the “Include” parameter for your query.



167
168
169
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 167

def credit_memos
  @credit_memos
end

#currency_codeString

Returns The three-character ISO 4217 currency code used for this invoice.

Returns:

  • (String)

    The three-character ISO 4217 currency code used for this invoice.



107
108
109
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 107

def currency_code
  @currency_code
end

#custom_field_definitionsCustomFieldDefinitionModel

Returns All custom field definitions.

Returns:



171
172
173
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 171

def custom_field_definitions
  @custom_field_definitions
end

#custom_field_valuesCustomFieldValueModel

Returns All custom field values associated with this invoice To retrieve this item, specify `CustomFieldValues` in the “Include” parameter for your query.

Returns:

  • (CustomFieldValueModel)

    All custom field values associated with this invoice To retrieve this item, specify `CustomFieldValues` in the “Include” parameter for your query.



169
170
171
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 169

def custom_field_values
  @custom_field_values
end

#customerCompanyModel

Returns The Customer associated to the invoice customer To retrieve this item, specify `Customer` in the “Include” parameter for your query.

Returns:

  • (CompanyModel)

    The Customer associated to the invoice customer To retrieve this item, specify `Customer` in the “Include” parameter for your query.



163
164
165
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 163

def customer
  @customer
end

#customer_idUuid

Returns The ID number of the counterparty for the invoice, for example, a customer or vendor.

Returns:

  • (Uuid)

    The ID number of the counterparty for the invoice, for example, a customer or vendor.



87
88
89
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 87

def customer_id
  @customer_id
end

#customer_primary_contactContactModel

Returns The Contact associated to the invoice customer To retrieve this item, specify `Customer` in the “Include” parameter for your query.

Returns:

  • (ContactModel)

    The Contact associated to the invoice customer To retrieve this item, specify `Customer` in the “Include” parameter for your query.



165
166
167
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 165

def customer_primary_contact
  @customer_primary_contact
end

#discount_amountDouble

Returns The total discounts given by the seller to the buyer on this invoice.

Returns:

  • (Double)

    The total discounts given by the seller to the buyer on this invoice.



113
114
115
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 113

def discount_amount
  @discount_amount
end

#discount_dateDate

Returns The date when discounts were adjusted for this invoice.

Returns:

  • (Date)

    The date when discounts were adjusted for this invoice.



119
120
121
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 119

def discount_date
  @discount_date
end

#erp_keyString

Returns The unique ID of this record as it was known in its originating financial system. If this company record was imported from a financial system, it will have the value `ErpKey` set to the original primary key number of the record as it was known in the originating financial system. If this record was not imported, this value will be `null`. For more information, see [Identity Columns](developer.lockstep.io/docs/identity-columns).

Returns:

  • (String)

    The unique ID of this record as it was known in its originating financial system. If this company record was imported from a financial system, it will have the value `ErpKey` set to the original primary key number of the record as it was known in the originating financial system. If this record was not imported, this value will be `null`. For more information, see [Identity Columns](developer.lockstep.io/docs/identity-columns).



89
90
91
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 89

def erp_key
  @erp_key
end

#exclude_from_agingBoolean

Returns Should the invoice be excluded from aging calculations?.

Returns:

  • (Boolean)

    Should the invoice be excluded from aging calculations?



149
150
151
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 149

def exclude_from_aging
  @exclude_from_aging
end

#group_keyUuid

Returns The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](developer.lockstep.io/docs/accounts-and-groupkeys).

Returns:

  • (Uuid)

    The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](developer.lockstep.io/docs/accounts-and-groupkeys).



81
82
83
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 81

def group_key
  @group_key
end

#imported_dateDate-time

Returns The date and time when this record was imported from the user's ERP or accounting system.

Returns:

  • (Date-time)

    The date and time when this record was imported from the user's ERP or accounting system.



127
128
129
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 127

def imported_date
  @imported_date
end

#in_disputeBoolean

Returns Is the invoice in dispute?.

Returns:

  • (Boolean)

    Is the invoice in dispute?



147
148
149
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 147

def in_dispute
  @in_dispute
end

#invoice_closed_dateDate

Returns The date when the invoice was closed and finalized after completion of all payments and delivery of all products and services.

Returns:

  • (Date)

    The date when the invoice was closed and finalized after completion of all payments and delivery of all products and services.



123
124
125
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 123

def invoice_closed_date
  @invoice_closed_date
end

#invoice_dateDate

Returns The reporting date for this invoice.

Returns:

  • (Date)

    The reporting date for this invoice.



117
118
119
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 117

def invoice_date
  @invoice_date
end

#invoice_idUuid

Returns The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform. For the ID of this record in its originating financial system, see `ErpKey`.

Returns:

  • (Uuid)

    The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform. For the ID of this record in its originating financial system, see `ErpKey`.



83
84
85
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 83

def invoice_id
  @invoice_id
end

#invoice_status_codeString

Returns A code identifying the status of this invoice.

Returns:

  • (String)

    A code identifying the status of this invoice.



101
102
103
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 101

def invoice_status_code
  @invoice_status_code
end

#invoice_type_codeString

Returns A code identifying the type of this invoice.

Returns:

  • (String)

    A code identifying the type of this invoice.



99
100
101
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 99

def invoice_type_code
  @invoice_type_code
end

#is_voidedBoolean

Returns Is the invoice voided?.

Returns:

  • (Boolean)

    Is the invoice voided?



145
146
147
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 145

def is_voided
  @is_voided
end

#linesInvoiceLineModel

Returns All lines attached to this invoice. To retrieve this collection, specify `Lines` in the “Include” parameter for your query.

Returns:

  • (InvoiceLineModel)

    All lines attached to this invoice. To retrieve this collection, specify `Lines` in the “Include” parameter for your query.



153
154
155
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 153

def lines
  @lines
end

#modifiedDate-time

Returns The date on which this address record was last modified.

Returns:

  • (Date-time)

    The date on which this address record was last modified.



139
140
141
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 139

def modified
  @modified
end

#modified_user_idUuid

Returns The ID number of the user who most recently modified this address.

Returns:

  • (Uuid)

    The ID number of the user who most recently modified this address.



141
142
143
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 141

def modified_user_id
  @modified_user_id
end

#notesNoteModel

Returns All notes attached to this invoice. To retrieve this collection, specify `Notes` in the “Include” parameter for your query.

Returns:

  • (NoteModel)

    All notes attached to this invoice. To retrieve this collection, specify `Notes` in the “Include” parameter for your query.



157
158
159
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 157

def notes
  @notes
end

#outstanding_balance_amountDouble

Returns The remaining balance value of this invoice.

Returns:

  • (Double)

    The remaining balance value of this invoice.



115
116
117
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 115

def outstanding_balance_amount
  @outstanding_balance_amount
end

#payment_due_dateDate

Returns The date when the remaining outstanding balance is due.

Returns:

  • (Date)

    The date when the remaining outstanding balance is due.



125
126
127
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 125

def payment_due_date
  @payment_due_date
end

#paymentsInvoicePaymentDetailModel

Returns All payments attached to this invoice, the amount of the payment applied to this Invoice, and the date the Payment was applied. To retrieve this collection, specify `Payments` in the “Include” parameter for your query.

Returns:

  • (InvoicePaymentDetailModel)

    All payments attached to this invoice, the amount of the payment applied to this Invoice, and the date the Payment was applied. To retrieve this collection, specify `Payments` in the “Include” parameter for your query.



155
156
157
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 155

def payments
  @payments
end

#posted_dateDate

Returns The date when this invoice posted to the company's general ledger.

Returns:

  • (Date)

    The date when this invoice posted to the company's general ledger.



121
122
123
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 121

def posted_date
  @posted_date
end

#primary_bill_to_address_idUuid

Returns The ID number of the invoice's bill-to address.

Returns:

  • (Uuid)

    The ID number of the invoice's bill-to address



131
132
133
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 131

def primary_bill_to_address_id
  @primary_bill_to_address_id
end

#primary_origin_address_idUuid

Returns The ID number of the invoice's origination address.

Returns:

  • (Uuid)

    The ID number of the invoice's origination address



129
130
131
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 129

def primary_origin_address_id
  @primary_origin_address_id
end

#primary_ship_to_address_idUuid

Returns The ID number of the invoice's ship-to address.

Returns:

  • (Uuid)

    The ID number of the invoice's ship-to address



133
134
135
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 133

def primary_ship_to_address_id
  @primary_ship_to_address_id
end

#purchase_order_codeString

Returns The purchase order code as it exists in the user's ERP or accounting system.

Returns:

  • (String)

    The purchase order code as it exists in the user's ERP or accounting system.



91
92
93
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 91

def purchase_order_code
  @purchase_order_code
end

#reference_codeString

Returns An additional reference code that is sometimes used to identify this invoice. The meaning of this field is specific to the ERP or accounting system used by the user.

Returns:

  • (String)

    An additional reference code that is sometimes used to identify this invoice. The meaning of this field is specific to the ERP or accounting system used by the user.



93
94
95
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 93

def reference_code
  @reference_code
end

#sales_tax_amountDouble

Returns The total sales (or transactional) tax calculated for this invoice.

Returns:

  • (Double)

    The total sales (or transactional) tax calculated for this invoice.



111
112
113
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 111

def sales_tax_amount
  @sales_tax_amount
end

#salesperson_codeString

Returns A code identifying the salesperson responsible for writing this quote, invoice, or order.

Returns:

  • (String)

    A code identifying the salesperson responsible for writing this quote, invoice, or order.



95
96
97
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 95

def salesperson_code
  @salesperson_code
end

#salesperson_nameString

Returns A string identifying the salesperson responsible for writing this quote, invoice, or order.

Returns:

  • (String)

    A string identifying the salesperson responsible for writing this quote, invoice, or order.



97
98
99
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 97

def salesperson_name
  @salesperson_name
end

#special_termsString

Returns If the customer negotiated any special terms different from the standard terms above, describe them here.

Returns:

  • (String)

    If the customer negotiated any special terms different from the standard terms above, describe them here.



105
106
107
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 105

def special_terms
  @special_terms
end

#terms_codeString

Returns A code identifying the terms given to the purchaser.

Returns:

  • (String)

    A code identifying the terms given to the purchaser.



103
104
105
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 103

def terms_code
  @terms_code
end

#total_amountDouble

Returns The total value of this invoice, inclusive of all taxes and line items.

Returns:

  • (Double)

    The total value of this invoice, inclusive of all taxes and line items.



109
110
111
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 109

def total_amount
  @total_amount
end

Instance Method Details

#as_json(options = {}) ⇒ object

Returns This object as a JSON key-value structure.

Returns:

  • (object)

    This object as a JSON key-value structure



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 174

def as_json(options={})
    {
        'groupKey' => @group_key,
        'invoiceId' => @invoice_id,
        'companyId' => @company_id,
        'customerId' => @customer_id,
        'erpKey' => @erp_key,
        'purchaseOrderCode' => @purchase_order_code,
        'referenceCode' => @reference_code,
        'salespersonCode' => @salesperson_code,
        'salespersonName' => @salesperson_name,
        'invoiceTypeCode' => @invoice_type_code,
        'invoiceStatusCode' => @invoice_status_code,
        'termsCode' => @terms_code,
        'specialTerms' => @special_terms,
        'currencyCode' => @currency_code,
        'totalAmount' => @total_amount,
        'salesTaxAmount' => @sales_tax_amount,
        'discountAmount' => @discount_amount,
        'outstandingBalanceAmount' => @outstanding_balance_amount,
        'invoiceDate' => @invoice_date,
        'discountDate' => @discount_date,
        'postedDate' => @posted_date,
        'invoiceClosedDate' => @invoice_closed_date,
        'paymentDueDate' => @payment_due_date,
        'importedDate' => @imported_date,
        'primaryOriginAddressId' => @primary_origin_address_id,
        'primaryBillToAddressId' => @primary_bill_to_address_id,
        'primaryShipToAddressId' => @primary_ship_to_address_id,
        'created' => @created,
        'createdUserId' => @created_user_id,
        'modified' => @modified,
        'modifiedUserId' => @modified_user_id,
        'appEnrollmentId' => @app_enrollment_id,
        'isVoided' => @is_voided,
        'inDispute' => @in_dispute,
        'excludeFromAging' => @exclude_from_aging,
        'addresses' => @addresses,
        'lines' => @lines,
        'payments' => @payments,
        'notes' => @notes,
        'attachments' => @attachments,
        'company' => @company,
        'customer' => @customer,
        'customerPrimaryContact' => @customer_primary_contact,
        'creditMemos' => @credit_memos,
        'customFieldValues' => @custom_field_values,
        'customFieldDefinitions' => @custom_field_definitions,
    }
end

#to_json(*options) ⇒ String

Returns This object converted to a JSON string.

Returns:

  • (String)

    This object converted to a JSON string



226
227
228
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 226

def to_json(*options)
    "[#{as_json(*options).to_json(*options)}]"
end