---
title: Transaction
summary: API reference for Transaction.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data
reference_type: package
---

# Transaction

Domain entity representing Transaction data within the collections area of the claims/policy domain, mapped for NHibernate persistence.*

## Purpose
- Models transaction data used by the collections area of this library.*
- Inherits shared identity/lifecycle behavior from `EntityBase`.

## Context
- Namespace: `SAIF.Data.Model.Collections`
- Assembly/package: `SAIF.Data`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Id | `long Id { get; set; }` | Primary key / surrogate identifier for this record.* |
| TransactionDate | `DateTime TransactionDate { get; set; }` | Date/time value for transaction date.* |
| ReferenceText | `string ReferenceText { get; set; }` | Value of reference text exposed by this type.* |
| TransactionAmount | `decimal TransactionAmount { get; set; }` | Monetary amount for transaction amount.* |
| OutstandingAmount | `decimal OutstandingAmount { get; set; }` | Monetary amount for outstanding amount.* |
| IsInterestCharged | `bool IsInterestCharged { get; set; }` | Indicates whether interest charged.* |
| IsSystemGenerated | `bool IsSystemGenerated { get; set; }` | Indicates whether system generated.* |
| UpdateDate | `DateTime UpdateDate { get; set; }` | Date/time value for update date.* |
| UpdateUser | `string UpdateUser { get; set; }` | Value of update user exposed by this type.* |
| UpdateNum | `int UpdateNum { get; set; }` | Value of update num exposed by this type.* |
| CanEdit | `bool CanEdit { get; set; }` | Indicates whether edit.* |
| CaseId | `long CaseId { get; set; }` | Foreign-key identifier referencing the related case record.* |
| TransCode | `string TransCode { get; set; }` | Coded value identifying trans code.* |
| ApprovedByUserCode | `string ApprovedByUserCode { get; set; }` | Coded value identifying approved by user code.* |
| Case | `Case Case { get; set; }` | Reference to the associated `Case` record.* |
| TransactionCode | `TransactionCode TransactionCode { get; set; }` | Reference to the associated `TransactionCode` record.* |
| ApprovedByUser | `WriteOffApprovalUser ApprovedByUser { get; set; }` | Reference to the associated `WriteOffApprovalUser` record.* |

## Behavioral notes
- Properties are typically declared `virtual` to support NHibernate lazy-loading proxies (see the corresponding mapping file under `Data/SAIF.Data.NHibernate`).*

## Constraints and usage notes
- No additional usage constraints beyond standard NHibernate entity/DTO conventions could be confirmed from static analysis.**

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `Data/SAIF.Data/Model/Collections/Transaction.cs`
