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



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
79
80
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 33

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.



224
225
226
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 224

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.



208
209
210
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 208

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.



240
241
242
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 240

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.



244
245
246
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 244

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.



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

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.



192
193
194
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 192

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.



196
197
198
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 196

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.



256
257
258
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 256

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.



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

def currency_code
  @currency_code
end

#custom_field_definitionsCustomFieldDefinitionModel

Returns All custom field definitions.

Returns:



264
265
266
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 264

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.



260
261
262
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 260

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.



248
249
250
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 248

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.



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

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.



252
253
254
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 252

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.



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

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.



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

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).



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

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?



220
221
222
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 220

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).



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

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.



176
177
178
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 176

def imported_date
  @imported_date
end

#in_disputeBoolean

Returns Is the invoice in dispute?.

Returns:

  • (Boolean)

    Is the invoice in dispute?



216
217
218
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 216

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.



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

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.



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

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`.



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

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.



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

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.



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

def invoice_type_code
  @invoice_type_code
end

#is_voidedBoolean

Returns Is the invoice voided?.

Returns:

  • (Boolean)

    Is the invoice voided?



212
213
214
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 212

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.



228
229
230
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 228

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.



200
201
202
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 200

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.



204
205
206
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 204

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.



236
237
238
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 236

def notes
  @notes
end

#outstanding_balance_amountDouble

Returns The remaining balance value of this invoice.

Returns:

  • (Double)

    The remaining balance value of this invoice.



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

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.



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

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.



232
233
234
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 232

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.



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

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



184
185
186
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 184

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



180
181
182
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 180

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



188
189
190
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 188

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.



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

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.



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

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.



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

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.



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

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.



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

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.



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

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.



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

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.



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

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



268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 268

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



321
322
323
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 321

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