---
title: Transaction
summary: API reference for Transaction.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.SAIFCode.Core
reference_type: package
---

# Transaction

`Transaction` is a data-carrier contract (DTO) in the Collections area of SAIF.SAIFCode.Core, exposing the properties SAIF.Services and its consumers read and populate for this entity*.

## Purpose
- Carries data for the Collections area, consumed by SAIF.Services and other layers that reference this library's contracts*.

## Context
- Namespace: `SAIF.Core.Contracts.Collections`
- Kind: Class
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Id` | `long Id { get; set; }` | Represents the ID associated with this Transaction*. |
| `TransactionDate` | `DateTime TransactionDate { get; set; }` | Records the date of the transaction*. |
| `ReferenceText` | `string ReferenceText { get; set; }` | Holds free-text text recorded against this Transaction*. |
| `TransactionAmount` | `decimal TransactionAmount { get; set; }` | Records the monetary amount of the transaction*. |
| `OutstandingAmount` | `decimal OutstandingAmount { get; set; }` | Records the monetary amount of the outstanding*. |
| `IsInterestCharged` | `bool IsInterestCharged { get; set; }` | Indicates whether the interest is charged for this Transaction*. |
| `IsSystemGenerated` | `bool IsSystemGenerated { get; set; }` | Indicates whether the system is generated for this Transaction*. |
| `UpdateDate` | `DateTime UpdateDate { get; set; }` | Records the date of the update*. |
| `UpdateUser` | `string UpdateUser { get; set; }` | Identifies the user tied to the update on this Transaction*. |
| `UpdateNum` | `int UpdateNum { get; set; }` | Represents the update num associated with this Transaction*. |
| `CaseId` | `decimal CaseId { get; set; }` | Uniquely identifies the case value recorded on this Transaction*. |
| `Case` | `Case Case { get; set; }` | Represents the case associated with this Transaction*. |
| `ApprovedByUser` | `WriteOffApprovalUser ApprovedByUser { get; set; }` | Identifies the user tied to the approved by on this Transaction*. |
| `TransactionCode` | `TransactionCode TransactionCode { get; set; }` | Classifies the transaction using a coded value*. |
| `CanEdit` | `bool CanEdit { get; set; }` | Represents the can edit associated with this Transaction*. |
| `IsApprovalRequired` | `bool IsApprovalRequired { get; set; }` | Indicates whether the approval is required for this Transaction*. |
| `LastStatementDate` | `DateTime? LastStatementDate { set; }` | Records the date of the last statement*. |

> **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
- Core/SAIF.Core/Contracts/Collections/Transaction.cs
