diff --git a/financer-server/src/main/java/de/financer/service/AccountStatisticService.java b/financer-server/src/main/java/de/financer/service/AccountStatisticService.java index 2c59930..e0b4622 100644 --- a/financer-server/src/main/java/de/financer/service/AccountStatisticService.java +++ b/financer-server/src/main/java/de/financer/service/AccountStatisticService.java @@ -36,8 +36,13 @@ public class AccountStatisticService { public void calculateStatistics(Transaction transaction) { final Account fromAccount = transaction.getFromAccount(); final Account toAccount = transaction.getToAccount(); - final long amount = transaction.getAmount(); final List resultList = new ArrayList<>(); + long amount = transaction.getAmount(); + + // Special case: START bookings should not increase 'spendings current period' + if (AccountType.START.equals(fromAccount.getType())) { + amount = 0; + } for (final Period period : transaction.getPeriods()) { resultList.add(calculateInternal(fromAccount, period, amount, true, 1)); diff --git a/financer-server/src/main/java/de/financer/service/TransactionService.java b/financer-server/src/main/java/de/financer/service/TransactionService.java index ba6de63..17f5d70 100644 --- a/financer-server/src/main/java/de/financer/service/TransactionService.java +++ b/financer-server/src/main/java/de/financer/service/TransactionService.java @@ -98,6 +98,12 @@ public class TransactionService { .getMultiplierToAccount(toAccount) * amount)); } + // Special case: START bookings should not be counted towards 'expenses current period' + // as booking e.g. a mortgage of 250,000 looks kinda ugly then + if (AccountType.START.equals(fromAccount.getType())) { + transaction.setExpenseNeutral(true); + } + this.transactionRepository.save(transaction); this.accountStatisticService.calculateStatistics(transaction); diff --git a/financer-web-client/src/main/resources/static/changelog.txt b/financer-web-client/src/main/resources/static/changelog.txt index 98faae8..3cb523c 100644 --- a/financer-web-client/src/main/resources/static/changelog.txt +++ b/financer-web-client/src/main/resources/static/changelog.txt @@ -1,3 +1,7 @@ +v36 -> v37: +- START bookings are now expense neutral, so they do not increase the 'Expenses current period' counter +- START bookings now do not increase 'Spendings current period' as this distorts this counter + v35 -> v36: - Add demo deployment profile