TABLE OF CONTENTS
Overview
Grain: One row per disbursement | Primary key: id
Where the loan proceeds were directed: one row for each deposit to a member account, each payoff of an existing loan, each check and each general ledger entry on the application. Use it as the per-transaction detail behind loan_applications and closing_information. Joins to loan_applications via application_id.
Delivery folders: stp_disbursements-1-day and stp_disbursements-30-day
This article covers one table. For delivery details, ingestion guidance, the full table relationship diagram, and the export FAQ, see Data Exports: Clutch Lending STP.
Things to Know About This Table
- Instruction, not confirmation. Each row is the disbursement instruction Clutch sent to your core. It does not confirm that the transfer posted; Clutch does not store posting results.
- Timestamps belong to the application's closing record, not to the individual disbursement.
created_onis when the closing record was created andupdated_onis when it was last saved. Every save of the closing updatesupdated_onon all of its disbursement rows, so use it to pick the latest version and to window your ingestion, not as the time money moved. idcan change. When the disbursement list of an application is edited and saved again, its disbursements can receive newidvalues. Only the current disbursements of each application are delivered, so after a re-save you will see new ids and the previous ones no longer appear. If you match records onid, expect that; to reconcile across saves useapplication_id+disbursement_type+amount+ account (internal_account_numberorloan_payoff_loan_id).- Type-specific fields.
internal_*fields are filled forinternal_accountrows;loan_payoff_*fields forinternal_loan_payoffrows (the payoff row also repeats the membership number ininternal_membership_id);check_*fields forcheckrows;gl_account_numberforgeneral_ledgerrows only. Fields that do not apply to a row are blank. gl_account_numberis the destination general ledger of ageneral_ledgerdisbursement. It is not your clearing account, which Clutch does not record, and it is blank for every other type.check_commentandcheck_numberare currently always blank.- No payee name or address is included: this export contains no personal information about the payee.
- Account and membership numbers are text and keep their leading zeros (for example
0001538044). Open the file with those columns formatted as text, or Excel will drop the zeros.
Data Dictionary
| Field Name | Description | Example | Required? |
|---|---|---|---|
id | UUID: identifier of the disbursement. Primary key. It can change when the application's disbursement list is saved again (see Things to Know About This Table). | f1a2b3c4-d5e6-7890-abcd-ef1234567890 | Yes |
application_id | UUID: the application this disbursement belongs to. Join key to loan_applications.id. | a1b2c3d4-e5f6-7890-abcd-ef1234567890 | Yes |
partner_id | UUID: your credit union identifier. All exported records are scoped to this value. | 550e8400-e29b-41d4-a716-446655440000 | Yes |
disbursement_type | Enum: disbursement method, in lowercase: internal_account (deposit to a member account) / internal_loan_payoff (payoff of an existing loan at your credit union) / check / general_ledger. | internal_account | Yes |
amount | Decimal: disbursement amount, in USD, with two decimals. | 5000.00 | Yes |
check_reference | String: reference or memo line of the check. check rows only. | Loan proceeds | No |
check_comment | String: optional comment on the check. check rows only. Currently always blank. | (blank) | No |
check_number | String: check number assigned at issuance. check rows only. Currently always blank. | (blank) | No |
internal_membership_id | String: membership number in your core of the account receiving the funds (internal_account rows). On internal_loan_payoff rows it is the membership that holds the loan being paid off. Leading zeros are kept. | 0001538184 | No |
internal_account_number | String: account number that received the proceeds. internal_account rows only. Leading zeros are kept. | 0001 | No |
internal_account_category | String: category of the receiving account. internal_account rows only. | savings | No |
gl_account_number | String: destination general ledger account of a general_ledger disbursement. Blank for every other type. | (blank) | No |
loan_payoff_membership_id | String: membership number of the loan being paid off. internal_loan_payoff rows only. | 0001538044 | No |
loan_payoff_loan_id | String: identifier in your core of the loan being paid off. internal_loan_payoff rows only. | (loan identifier in your core) | No |
created_on | Timestamp: when the application's closing record was created (not the time of the individual disbursement). | 2026-06-12T09:15:00.000Z | Yes |
updated_on | Timestamp: when the application's closing record was last saved (not the time of the individual disbursement). Use it to keep the latest version of each record when ingesting. | 2026-06-15T14:32:00.000Z | Yes |
How This Table Joins to the Others
- Joins to
loan_applications:application_idmatchesloan_applications.id. One row per disbursement, so an application can have several.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article
