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



30
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
79
80
81
82
83
84
85
86
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 30

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)
    @preferred_delivery_method = params.dig(:preferred_delivery_method)
    @currency_rate = params.dig(:currency_rate)
    @base_currency_total_amount = params.dig(:base_currency_total_amount)
    @base_currency_sales_tax_amount = params.dig(:base_currency_sales_tax_amount)
    @base_currency_discount_amount = params.dig(:base_currency_discount_amount)
    @base_currency_outstanding_balance_amount = params.dig(:base_currency_outstanding_balance_amount)
    @erp_write_status = params.dig(:erp_write_status)
    @erp_write_status_name = params.dig(:erp_write_status_name)
    @source_modified_date = params.dig(:source_modified_date)
    @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



266
267
268
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 266

def addresses
  @addresses
end

#app_enrollment_idUuid



214
215
216
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 214

def app_enrollment_id
  @app_enrollment_id
end

#attachmentsAttachmentModel



282
283
284
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 282

def attachments
  @attachments
end

#base_currency_discount_amountDouble



246
247
248
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 246

def base_currency_discount_amount
  @base_currency_discount_amount
end

#base_currency_outstanding_balance_amountDouble



250
251
252
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 250

def base_currency_outstanding_balance_amount
  @base_currency_outstanding_balance_amount
end

#base_currency_sales_tax_amountDouble



242
243
244
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 242

def base_currency_sales_tax_amount
  @base_currency_sales_tax_amount
end

#base_currency_total_amountDouble



238
239
240
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 238

def base_currency_total_amount
  @base_currency_total_amount
end

#companyCompanyModel



286
287
288
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 286

def company
  @company
end

#company_idUuid



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

def company_id
  @company_id
end

#createdDate-time



198
199
200
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 198

def created
  @created
end

#created_user_idUuid



202
203
204
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 202

def created_user_id
  @created_user_id
end

#credit_memosCreditMemoInvoiceModel



298
299
300
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 298

def credit_memos
  @credit_memos
end

#currency_codeString



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

def currency_code
  @currency_code
end

#currency_rateDouble



234
235
236
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 234

def currency_rate
  @currency_rate
end

#custom_field_definitionsCustomFieldDefinitionModel



306
307
308
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 306

def custom_field_definitions
  @custom_field_definitions
end

#custom_field_valuesCustomFieldValueModel



302
303
304
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 302

def custom_field_values
  @custom_field_values
end

#customerCompanyModel



290
291
292
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 290

def customer
  @customer
end

#customer_idUuid



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

def customer_id
  @customer_id
end

#customer_primary_contactContactModel



294
295
296
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 294

def customer_primary_contact
  @customer_primary_contact
end

#discount_amountDouble



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

def discount_amount
  @discount_amount
end

#discount_dateDate



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

def discount_date
  @discount_date
end

#erp_keyString



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

def erp_key
  @erp_key
end

#erp_write_statusErpWriteStatuses



254
255
256
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 254

def erp_write_status
  @erp_write_status
end

#erp_write_status_nameString



258
259
260
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 258

def erp_write_status_name
  @erp_write_status_name
end

#exclude_from_agingBoolean



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

def exclude_from_aging
  @exclude_from_aging
end

#group_keyUuid



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

def group_key
  @group_key
end

#imported_dateDate-time



182
183
184
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 182

def imported_date
  @imported_date
end

#in_disputeBoolean



222
223
224
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 222

def in_dispute
  @in_dispute
end

#invoice_closed_dateDate



174
175
176
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 174

def invoice_closed_date
  @invoice_closed_date
end

#invoice_dateDate



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

def invoice_date
  @invoice_date
end

#invoice_idUuid



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

def invoice_id
  @invoice_id
end

#invoice_status_codeString



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

def invoice_status_code
  @invoice_status_code
end

#invoice_type_codeString



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

def invoice_type_code
  @invoice_type_code
end

#is_voidedBoolean



218
219
220
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 218

def is_voided
  @is_voided
end

#linesInvoiceLineModel



270
271
272
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 270

def lines
  @lines
end

#modifiedDate-time



206
207
208
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 206

def modified
  @modified
end

#modified_user_idUuid



210
211
212
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 210

def modified_user_id
  @modified_user_id
end

#notesNoteModel



278
279
280
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 278

def notes
  @notes
end

#outstanding_balance_amountDouble



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

def outstanding_balance_amount
  @outstanding_balance_amount
end

#payment_due_dateDate



178
179
180
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 178

def payment_due_date
  @payment_due_date
end

#paymentsInvoicePaymentDetailModel



274
275
276
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 274

def payments
  @payments
end

#posted_dateDate



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

def posted_date
  @posted_date
end

#preferred_delivery_methodString



230
231
232
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 230

def preferred_delivery_method
  @preferred_delivery_method
end

#primary_bill_to_address_idUuid



190
191
192
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 190

def primary_bill_to_address_id
  @primary_bill_to_address_id
end

#primary_origin_address_idUuid



186
187
188
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 186

def primary_origin_address_id
  @primary_origin_address_id
end

#primary_ship_to_address_idUuid



194
195
196
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 194

def primary_ship_to_address_id
  @primary_ship_to_address_id
end

#purchase_order_codeString



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

def purchase_order_code
  @purchase_order_code
end

#reference_codeString



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

def reference_code
  @reference_code
end

#sales_tax_amountDouble



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

def sales_tax_amount
  @sales_tax_amount
end

#salesperson_codeString



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

def salesperson_code
  @salesperson_code
end

#salesperson_nameString



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

def salesperson_name
  @salesperson_name
end

#source_modified_dateDate-time



262
263
264
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 262

def source_modified_date
  @source_modified_date
end

#special_termsString



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

def special_terms
  @special_terms
end

#terms_codeString



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

def terms_code
  @terms_code
end

#total_amountDouble



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

def total_amount
  @total_amount
end

Instance Method Details

#as_json(options = {}) ⇒ object



310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 310

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,
        'preferredDeliveryMethod' => @preferred_delivery_method,
        'currencyRate' => @currency_rate,
        'baseCurrencyTotalAmount' => @base_currency_total_amount,
        'baseCurrencySalesTaxAmount' => @base_currency_sales_tax_amount,
        'baseCurrencyDiscountAmount' => @base_currency_discount_amount,
        'baseCurrencyOutstandingBalanceAmount' => @base_currency_outstanding_balance_amount,
        'erpWriteStatus' => @erp_write_status,
        'erpWriteStatusName' => @erp_write_status_name,
        'sourceModifiedDate' => @source_modified_date,
        '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



372
373
374
# File 'lib/lockstep_sdk/models/invoice_model.rb', line 372

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