Class: LockstepSdk::PaymentModel

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

Overview

A Payment represents money sent from one company to another. A single payment may contain payments for one or more invoices; it is also possible for payments to be made in advance of an invoice, for example, as a deposit. The creator of the Payment is identified by the ‘CustomerId` field, and the recipient of the Payment is identified by the `CompanyId` field. Most Payments are uniquely identified both by a Lockstep Platform ID number and a customer ERP “key” that was generated by the system that originated the Payment. Payments that have not been fully applied have a nonzero `UnappliedAmount` value, which represents a deposit that has been paid and not yet applied to an Invoice.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ PaymentModel

Initialize the PaymentModel 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
# File 'lib/lockstep_sdk/models/payment_model.rb', line 31

def initialize(params = {})
    @group_key = params.dig(:group_key)
    @payment_id = params.dig(:payment_id)
    @company_id = params.dig(:company_id)
    @erp_key = params.dig(:erp_key)
    @erp_write_status = params.dig(:erp_write_status)
    @erp_write_status_name = params.dig(:erp_write_status_name)
    @payment_type = params.dig(:payment_type)
    @tender_type = params.dig(:tender_type)
    @is_open = params.dig(:is_open)
    @memo_text = params.dig(:memo_text)
    @payment_date = params.dig(:payment_date)
    @post_date = params.dig(:post_date)
    @payment_amount = params.dig(:payment_amount)
    @unapplied_amount = params.dig(:unapplied_amount)
    @currency_code = params.dig(:currency_code)
    @bank_account_id = params.dig(:bank_account_id)
    @reference_code = params.dig(:reference_code)
    @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)
    @currency_rate = params.dig(:currency_rate)
    @base_currency_payment_amount = params.dig(:base_currency_payment_amount)
    @base_currency_unapplied_amount = params.dig(:base_currency_unapplied_amount)
    @service_fabric_status = params.dig(:service_fabric_status)
    @source_modified_date = params.dig(:source_modified_date)
    @applications = params.dig(:applications)
    @notes = params.dig(:notes)
    @attachments = params.dig(:attachments)
    @custom_field_definitions = params.dig(:custom_field_definitions)
    @custom_field_values = params.dig(:custom_field_values)
end

Instance Attribute Details

#app_enrollment_idUuid

Returns The AppEnrollmentId of the application that imported this record. For accounts with more than one financial system connected, this field identifies the originating financial system that produced this record. This value is null if this record was not loaded from an external ERP or financial system.

Returns:

  • (Uuid)

    The AppEnrollmentId of the application that imported this record. For accounts with more than one financial system connected, this field identifies the originating financial system that produced this record. This value is null if this record was not loaded from an external ERP or financial system.



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

def app_enrollment_id
  @app_enrollment_id
end

#applicationsPaymentAppliedModel

Returns All applications this payment is associated with. To retrieve this collection, specify ‘Applications` in the “Include” parameter for your query.

Returns:

  • (PaymentAppliedModel)

    All applications this payment is associated with. To retrieve this collection, specify ‘Applications` in the “Include” parameter for your query.



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

def applications
  @applications
end

#attachmentsAttachmentModel

Returns A collection of attachments linked to this record. To retrieve this collection, specify ‘Attachments` in the `include` parameter when retrieving data. To create an attachment, use the [Upload Attachment](developer.lockstep.io/reference/post_api-v1-attachments) endpoint with the `TableKey` to `Payment` and the `ObjectKey` set to the `PaymentId` for this record. For more information on extensibility, see [linking extensible metadata to objects](developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).

Returns:



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

def attachments
  @attachments
end

#bank_account_idString

Returns The Bank account id for the company to which this payment belongs.

Returns:

  • (String)

    The Bank account id for the company to which this payment belongs.



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

def 
  @bank_account_id
end

#base_currency_payment_amountDouble

Returns Total amount of this payment in the group’s base currency.

Returns:

  • (Double)

    Total amount of this payment in the group’s base currency.



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

def base_currency_payment_amount
  @base_currency_payment_amount
end

#base_currency_unapplied_amountDouble

Returns Unapplied balance of this payment in the group’s base currency. If this amount is nonzero, the field ‘IsOpen` will be true.

Returns:

  • (Double)

    Unapplied balance of this payment in the group’s base currency. If this amount is nonzero, the field ‘IsOpen` will be true.



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

def base_currency_unapplied_amount
  @base_currency_unapplied_amount
end

#company_idUuid

Returns The ID of the company to which this payment belongs.

Returns:

  • (Uuid)

    The ID of the company to which this payment belongs.



78
79
80
# File 'lib/lockstep_sdk/models/payment_model.rb', line 78

def company_id
  @company_id
end

#createdDate-time

Returns The date on which this record was created.

Returns:

  • (Date-time)

    The date on which this record was created.



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

def created
  @created
end

#created_user_idUuid

Returns The ID of the user who created this payment.

Returns:

  • (Uuid)

    The ID of the user who created this payment.



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

def created_user_id
  @created_user_id
end

#currency_codeString

Returns The ISO 4217 currency code for this payment. For a list of ISO 4217 currency codes, see [Query Currencies](developer.lockstep.io/reference/get_api-v1-definitions-currencies).

Returns:



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

def currency_code
  @currency_code
end

#currency_rateDouble

Returns The Currency Rate used to get from the account’s base currency to the payment amount.

Returns:

  • (Double)

    The Currency Rate used to get from the account’s base currency to the payment amount.



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

def currency_rate
  @currency_rate
end

#custom_field_definitionsCustomFieldDefinitionModel

Returns A collection of custom fields linked to this record. To retrieve this collection, specify ‘CustomFieldDefinitions` in the `include` parameter when retrieving data. To create a custom field, use the [Create Custom Field](developer.lockstep.io/reference/post_api-v1-customfieldvalues) endpoint with the `TableKey` to `Payment` and the `ObjectKey` set to the `PaymentId` for this record. For more information on extensibility, see [linking extensible metadata to objects](developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).

Returns:



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

def custom_field_definitions
  @custom_field_definitions
end

#custom_field_valuesCustomFieldValueModel

Returns A collection of custom fields linked to this record. To retrieve this collection, specify ‘CustomFieldValues` in the `include` parameter when retrieving data. To create a custom field, use the [Create Custom Field](developer.lockstep.io/reference/post_api-v1-customfieldvalues) endpoint with the `TableKey` to `Payment` and the `ObjectKey` set to the `PaymentId` for this record. For more information on extensibility, see [linking extensible metadata to objects](developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).

Returns:



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

def custom_field_values
  @custom_field_values
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).



82
83
84
# File 'lib/lockstep_sdk/models/payment_model.rb', line 82

def erp_key
  @erp_key
end

#erp_write_statusErpWriteStatuses

Returns Possible statuses for a record that supports ERP write.

Returns:

  • (ErpWriteStatuses)

    Possible statuses for a record that supports ERP write.



86
87
88
# File 'lib/lockstep_sdk/models/payment_model.rb', line 86

def erp_write_status
  @erp_write_status
end

#erp_write_status_nameString

Returns The name of the ErpWriteStatus for this Payment.

Returns:

  • (String)

    The name of the ErpWriteStatus for this Payment



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

def erp_write_status_name
  @erp_write_status_name
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).



70
71
72
# File 'lib/lockstep_sdk/models/payment_model.rb', line 70

def group_key
  @group_key
end

#in_disputeBoolean

Returns Is the payment in dispute?.

Returns:

  • (Boolean)

    Is the payment in dispute?



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

def in_dispute
  @in_dispute
end

#is_openBoolean

Returns True if this payment includes some unassigned amount that has not yet been applied to an invoice. If this value is true, the field ‘UnappliedAmount` will be nonzero.

Returns:

  • (Boolean)

    True if this payment includes some unassigned amount that has not yet been applied to an invoice. If this value is true, the field ‘UnappliedAmount` will be nonzero.



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

def is_open
  @is_open
end

#is_voidedBoolean

Returns Is the payment voided?.

Returns:

  • (Boolean)

    Is the payment voided?



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

def is_voided
  @is_voided
end

#memo_textString

Returns Memo or reference text (ex. memo field on a check).

Returns:

  • (String)

    Memo or reference text (ex. memo field on a check).



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

def memo_text
  @memo_text
end

#modifiedDate-time

Returns The date on which this record was last modified.

Returns:

  • (Date-time)

    The date on which this record was last modified.



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

def modified
  @modified
end

#modified_user_idUuid

Returns The ID of the user who last modified this payment.

Returns:

  • (Uuid)

    The ID of the user who last modified this payment.



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

def modified_user_id
  @modified_user_id
end

#notesNoteModel

Returns A collection of notes linked to this record. To retrieve this collection, specify ‘Notes` in the `include` parameter when retrieving data. To create a note, use the [Create Note](developer.lockstep.io/reference/post_api-v1-notes) endpoint with the `TableKey` to `Payment` and the `ObjectKey` set to the `PaymentId` for this record. For more information on extensibility, see [linking extensible metadata to objects](developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).

Returns:



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

def notes
  @notes
end

#payment_amountDouble

Returns Total amount of this payment in it’s received currency.

Returns:

  • (Double)

    Total amount of this payment in it’s received currency.



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

def payment_amount
  @payment_amount
end

#payment_dateDate

Returns The date when this payment was received. This typically is the date when an accounting employee recorded that they received notification that the payment had occurred, whether they were notified by email, postal mail, or financial transaction notification.

Returns:

  • (Date)

    The date when this payment was received. This typically is the date when an accounting employee recorded that they received notification that the payment had occurred, whether they were notified by email, postal mail, or financial transaction notification.



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

def payment_date
  @payment_date
end

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



74
75
76
# File 'lib/lockstep_sdk/models/payment_model.rb', line 74

def payment_id
  @payment_id
end

#payment_typeString

Returns The type of payment, AR Payment or AP Payment. Recognized PaymentType values are: * ‘AR Payment` - A payment made by a Customer to the Company * `AP Payment` - A payment made by the Company to a Vendor.

Returns:

  • (String)

    The type of payment, AR Payment or AP Payment. Recognized PaymentType values are: * ‘AR Payment` - A payment made by a Customer to the Company * `AP Payment` - A payment made by the Company to a Vendor



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

def payment_type
  @payment_type
end

#post_dateDate

Returns The date when a payment was posted to a ledger. This date is often determined by a company’s accounting practices and may be different than the date when the payment was received. This date may be affected by issues such as temporary holds on funds transferred, bank holidays, or other actions.

Returns:

  • (Date)

    The date when a payment was posted to a ledger. This date is often determined by a company’s accounting practices and may be different than the date when the payment was received. This date may be affected by issues such as temporary holds on funds transferred, bank holidays, or other actions.



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

def 
  @post_date
end

#reference_codeString

Returns Reference code for the payment for the given Erp system.

Returns:

  • (String)

    Reference code for the payment for the given Erp system.



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

def reference_code
  @reference_code
end

#service_fabric_statusString

Returns The status of this payment within Service Fabric. “UNAUTHORISED” “PENDING” “PAID” “PAID_OFFLINE” “FAILED” “CANCELLED” “REJECTED” “REFUNDED” “PARTIALLY” “PARTIALLY_REFUNDED”.

Returns:

  • (String)

    The status of this payment within Service Fabric. “UNAUTHORISED” “PENDING” “PAID” “PAID_OFFLINE” “FAILED” “CANCELLED” “REJECTED” “REFUNDED” “PARTIALLY” “PARTIALLY_REFUNDED”



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

def service_fabric_status
  @service_fabric_status
end

#source_modified_dateDate-time

Returns The date on which this record was last modified in source ERP.

Returns:

  • (Date-time)

    The date on which this record was last modified in source ERP.



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

def source_modified_date
  @source_modified_date
end

#tender_typeString

Returns Cash, check, credit card, wire transfer. Recognized TenderType values are: * ‘Cash` - A cash payment or other direct transfer. * `Check` - A check payment. * `Credit Card` - A payment made via a credit card. * `Wire Transfer` - A payment made via wire transfer from another financial institution. * `Other` - A payment made via another method not listed above.

Returns:

  • (String)

    Cash, check, credit card, wire transfer. Recognized TenderType values are: * ‘Cash` - A cash payment or other direct transfer. * `Check` - A check payment. * `Credit Card` - A payment made via a credit card. * `Wire Transfer` - A payment made via wire transfer from another financial institution. * `Other` - A payment made via another method not listed above.



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

def tender_type
  @tender_type
end

#unapplied_amountDouble

Returns Unapplied balance of this payment in it’s received currency. If this amount is nonzero, the field ‘IsOpen` will be true.

Returns:

  • (Double)

    Unapplied balance of this payment in it’s received currency. If this amount is nonzero, the field ‘IsOpen` will be true.



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

def unapplied_amount
  @unapplied_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



206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
# File 'lib/lockstep_sdk/models/payment_model.rb', line 206

def as_json(options={})
    {
        'groupKey' => @group_key,
        'paymentId' => @payment_id,
        'companyId' => @company_id,
        'erpKey' => @erp_key,
        'erpWriteStatus' => @erp_write_status,
        'erpWriteStatusName' => @erp_write_status_name,
        'paymentType' => @payment_type,
        'tenderType' => @tender_type,
        'isOpen' => @is_open,
        'memoText' => @memo_text,
        'paymentDate' => @payment_date,
        'postDate' => @post_date,
        'paymentAmount' => @payment_amount,
        'unappliedAmount' => @unapplied_amount,
        'currencyCode' => @currency_code,
        'bankAccountId' => @bank_account_id,
        'referenceCode' => @reference_code,
        'created' => @created,
        'createdUserId' => @created_user_id,
        'modified' => @modified,
        'modifiedUserId' => @modified_user_id,
        'appEnrollmentId' => @app_enrollment_id,
        'isVoided' => @is_voided,
        'inDispute' => @in_dispute,
        'currencyRate' => @currency_rate,
        'baseCurrencyPaymentAmount' => @base_currency_payment_amount,
        'baseCurrencyUnappliedAmount' => @base_currency_unapplied_amount,
        'serviceFabricStatus' => @service_fabric_status,
        'sourceModifiedDate' => @source_modified_date,
        'applications' => @applications,
        'notes' => @notes,
        'attachments' => @attachments,
        'customFieldDefinitions' => @custom_field_definitions,
        'customFieldValues' => @custom_field_values,
    }
end

#to_json(*options) ⇒ String

Returns This object converted to a JSON string.

Returns:

  • (String)

    This object converted to a JSON string



247
248
249
# File 'lib/lockstep_sdk/models/payment_model.rb', line 247

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