Overview

Payment is a type of financial records representing cash payment for an invoice.

📘

Cash Payment vs Credit Payment

On Leapfin Platform, Payment records refer to cash payment only. For credit payments, Leapfin handles them as Credit records with type as "application".

Creating a Payment

The following fields are required :

  • objectType: type of financial record. For Payment, the value is "payment".

  • id: unique identifier of this record. This is an external id received by Leapfin.

  • amount: the amount of the payment. The amount should be non-negative.

  • currencyCode: 3-digit ISO code of amount field, e.g. “USD”, "GBP", etc. This is the primary currency of this record

  • status: current status of the payment. Acceptable values are:

    • "succeeded": the payment is successfully processed / settled.
    • "failed": the payment failed during processing.
    • "pending": the payment has been initiated but still being processed.
  • date: the date-time of when this payment is created by payment processor.

The following fields are optional but are commonly needed for creating journal entries.

  • description: general description of the payment

  • succeededDate: the date-time when the payment is successfully processed / settled.

  • exchangeRates: a list of exchange rates used to calculate currency conversions

    • currencyCode: 3-digit ISO code, e.g. “USD”, "GBP", etc. This is the target currency of this record
    • rate: conversion rate from primary currency to target currency. i.e. amount in primary currency * rate = converted amount in target currency.
  • links: directional relationships pointing from this Payment to other financial records. Payment is commonly linked to Invoice.

    • objectType: type of the target financial record, e.g. "invoice"
    • id: the unique identifier of the target financial record
  • customFields: additional fields (i.e. key-value pairs) related to this record

Sample Data

{
    "objectType": "payment",
    "id": "payment_001",
    "amount": 10923.08,
    "currencyCode": "USD",
    "status": "succeeded",
    "description": "a sample payment object",
    "date": "2021-01-16T11:28:31",
    "succeededDate": "2021-01-16T12:30:56",
    "exchangeRates": [
      {
        "currencyCode": "EUR",
        "rate": 0.84
      },
      {
        "currencyCode": "GBP",
        "rate": 0.73
      }
    ],
    "links": [
      {
        "objectType": "invoice",
        "id": "invoice_001"
      }
    ],
    "customFields": {
      "field1": "value1",
      "field2": "value2"
    }
}

Query a Payment

Payment records are stored in VW_FT_PAYMENT table. It can be accessed via Snowflake Data Sharing and Access.

ColumnDescription
LEAPFIN_IDunique identifier created by Leapfin
DECODED_LEAPFIN_ID_VTdecoded version of LEAPFIN_ID in JSON format. It contains the following values:

- external_code: the unique identifier of this record. This is an external id received by Leapfin.
- integration_id: the unique identifier of the data source. This is an internal id created by Leapfin.
- leapfin_data_type: type of financial record, i.e. "LeapfinPayment"
- leapfin_suffix: additional string to distinguish different financial records when the same external_code is received from the data source.
- raw_data_type: type of raw data record received from the data source.
ORGANIZATION_IDunique identifier of the account. This is an internal id created by Leapfin.
DATE_DTthe date of when this payment is created by payment processor.
STATUScurrent status of the payment. Acceptable values are:

- "succeeded": the payment is successfully processed / settled.
- "failed": the payment failed during processing.
- "pending": the payment has been initiated but still being processed.
DESCRIPTIONgeneral description of the payment .
CURRENCY_CODE3-digit ISO code of AMOUNT field, e.g. “USD”, "GBP", etc. This is the primary currency of this record
SUCCEEDED_DATE_DTthe date when the payment is successfully processed / settled.
EXCHANGE_RATES_VTa list of exchange rates used to calculate currency conversions. Each rate contains the following values:

- currencyCode: 3-digit ISO code, e.g. “USD”, "GBP", etc. This is the target currency of this record.
- rate: conversion rate from primary currency to target currency. i.e. amount in primary currency * rate = converted amount in target currency.
CUSTOM_FIELDS_VTadditional fields (i.e. key-value pairs) about the financial record in JSON format
ACCOUNTING_TRANSACTIONS_VTa list of journal entries associated with this financial record. Each item contains the following values:

- date: the date of the journal entry
- entries: a list of journal lines within the journal entry. Each line contains the following values:
--- account: the unique identifier of the financial account. This is an internal id created by Leapfin (refer to VW_LK_ACCOUNT).
--- amount: the amount of money booked towards the account.
--- accountingSide: an indicator of whether the amount is a debt ("dr") or credit ("cr") to the acount.
- comments: additional fields (i.e. key-value pairs) on the journal entry in JSON format.
AMOUNTthe amount of the payment. The amount should be non-negative
CREATED_AT_DTthe date-time when the financial record is created by Leapfin. Value format: "2022-07-14 23:01:26.400"
UPDATED_AT_DTthe date-time when the financial record is last updated by Leapfin. Value format: "2022-09-01 06:09:57.379"