Transactions
A comprehensive, immutable record of every financial interaction.

At its core, a transaction represents a financial event that impacts an account's balance. Unlike traditional ledger systems that allow modifications or deletions, Canopy's transaction architecture is fundamentally append-only. This means every financial event is permanently recorded, creating an inviolable historical record that can be examined at any point in time.
Understanding Transaction Characteristics
A transaction in our system carries multiple dimensions of information that provide a complete picture of a financial event. The amount of a transaction follows traditional accounting principles: positive amounts increase an account's balance, while negative amounts decrease it. However, our system goes beyond simple debiting and crediting.
Transaction Types
Transactions are categorized into broad super-types that help classify financial events. The primary super-types include Draws/Principal
, Interest
, Fees
, Payments
and Offsets
Each super-type contains more specific transaction types that capture the nuanced nature of financial interactions. For instance, within the Fees
super-type, you might find specific types like recurring fees, late fees, or manual fees.
The Immutable Ledger: The Backbone of Financial Tracking
The true power of our transaction system lies in its fundamental approach to financial history. While traditional financial systems might allow direct modifications that can introduce uncertainty, Canopy takes a different approach. Our append-only ledger ensures that every original transaction remains permanently and immutably recorded, while our advanced retroactive engine provides a sophisticated mechanism for exploring alternative financial scenarios.
Our system handles financial corrections through a sophisticated append-only transaction model. When adjustments are neededāsuch as correcting an interest calculation, modifying a fee, or updating payment applicationāthe system creates new transactions that represent the necessary changes while preserving the original transaction history.
Think of it as building layers of corrections rather than rewriting history. Each adjustment transaction carries specific information about what it's correcting and how the correction affects the ledger. For example, if a fee was incorrectly applied, instead of modifying the original fee transaction, the system creates a new transaction that effectively adjusts the account balance to its correct state.
Some transaction types, particularly payment splits, do require recreation as part of this process. When a payment needs to be reapplied differently, the system discards the original splits and generates new ones that reflect the correct application rules. However, this selective recreation approach only applies to specific transaction types where it's necessary for maintaining accurate financial records.
This append-only architecture offers several advantages. It maintains a complete audit trail of all changes, satisfying regulatory requirements for transaction history preservation. It also provides clarity about how and when corrections were made, making it easier to understand an account's evolution over time. For financial institutions, this means having confidence in both the current account state and the ability to reconstruct how that state was reached.

Comprehensive Status Tracking
We track a transaction's lifecycle through multiple independent status dimensions:
- Pouring Status: Tracks how payments and similar transactions are distributed across other balance-bearing transactions (e.g., how a loan payment is allocated between principal and interest).
- Settlement Status: Indicates the transaction's progression through financial processing.
- Dispute Status: Captures any challenges or resolutions related to the transaction.
- Reversal Status: Documents if the transaction has been or is currently in the process of being reversed. Again, this is merely for informational purposes, the original transaction that becomes reversed is not modified in anyway in our system.

This multi-dimensional approach provides unprecedented granularity in understanding financial events.
Metadata: Contextualizing Transactions
While metadata does not impact financial calculations, it plays a crucial role in providing additional context. Metadata can include details like currency information, external system identifiers, or processing annotations. This additional layer of information helps create a more comprehensive view of each transaction without interfering with core financial logic.
Implications for Lenders
The immutable ledger offers significant advantages for financial institutions:
- Unparalleled audit trail for regulatory compliance
- Precise risk management capabilities
- Complete transparency in financial operations
- Ability to reconstruct account histories with absolute confidence
Updated 7 days ago