What is an inflight transaction?
Inflight
An inflight transaction is a money movement that is held until you commit or void it. The amount is reserved on inflight balances, and the settled balances do not change. Use it when authorization, verification, or an external rail has to finish before the transfer should apply.
How does an inflight transaction work in a ledger?
You record the transfer as usual, then mark it inflight. The ledger posts the amount to inflight credit and debit fields on the two balances. Available funds on the source fall by the reserved debit. The main balance stays put until you decide.
Commit applies the hold to the settled balances. Void releases it. Nothing in between is a third kind of money. It is the same transfer, waiting.
Inflight vs pending
People say pending for anything that has not settled. Inflight is narrower. It is a hold you control: commit or void. A queued payment that the worker has not picked up yet is not inflight. A bank ACH that has left your books but has not cleared is settlement delay, not an inflight hold.
When do you use inflight?
Use it when the next step sits outside the ledger. A payout waits on a provider. A deposit waits on KYC. A card authorization waits on capture. If you apply the transfer now, you will have to reverse it later. Hold it instead.
What happens if you never commit?
The hold stays on inflight_balance. Available funds stay reduced. If you forget the void, you lock money that should be free. Time out the hold in your app, or void it when the rail fails.
In Blnk you set inflight: true on the transaction. The hold lives on inflight_balance until you commit or void it. The queued record is the parent of the inflight record. The inflight record is the parent of the applied or voided one. See creating inflight transactions.