diff options
Diffstat (limited to 'transaction.h')
| -rw-r--r-- | transaction.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/transaction.h b/transaction.h index 9628a4e..0d608f2 100644 --- a/transaction.h +++ b/transaction.h @@ -7,7 +7,8 @@ enum class TransactionType { Estimated, - Actual + Actual, + Reconciliation }; enum class RecurrenceFrequency { @@ -33,8 +34,10 @@ struct Transaction { QString occurrenceKey; // e.g. "2025-01" for monthly, "2025-W03" for weekly double expectedAmount; // original projected amount (for variance tracking) QDate expectedDate; // original projected date (for variance tracking) + double expectedBalance; // for reconciliation checkpoints - what bank says + double calculatedBalance; // for reconciliation checkpoints - what we calculated - Transaction() : id(-1), amount(0.0), type(TransactionType::Estimated), recurringId(-1), sortOrder(0), reconciled(false), expectedAmount(0.0) {} + Transaction() : id(-1), amount(0.0), type(TransactionType::Estimated), recurringId(-1), sortOrder(0), reconciled(false), expectedAmount(0.0), expectedBalance(0.0), calculatedBalance(0.0) {} double getBalance() const { return amount; } }; @@ -53,6 +56,7 @@ struct RecurringRule { int dayOfMonth; // 1-31 for monthly, -1 if not applicable int occurrences; // Number of times to repeat, -1 for indefinite int sortOrder; // For ordering transactions on same date + QDate projectionEndDate; // How far into future to generate projections RecurringRule() : id(-1), frequency(RecurrenceFrequency::None), amount(0.0), dayOfWeek(-1), dayOfMonth(-1), occurrences(-1), sortOrder(0) {} |
