diff --git a/app/apps/transactions/models.py b/app/apps/transactions/models.py index 8fd0285b..be54a1f7 100644 --- a/app/apps/transactions/models.py +++ b/app/apps/transactions/models.py @@ -976,9 +976,7 @@ class RecurringTransaction(models.Model): existing_transaction.category = self.category existing_transaction.notes = self.notes if self.add_notes_to_transaction else "" existing_transaction.recurring_transaction = self - - if not existing_transaction.is_paid: # Don't update value for paid transactions - existing_transaction.amount = self.amount + existing_transaction.amount = self.amount existing_transaction.save() existing_transaction.tags.set(self.tags(manager="all_objects").all()) diff --git a/app/apps/transactions/tests/test_views.py b/app/apps/transactions/tests/test_views.py index 88a51694..4fd7bc8d 100644 --- a/app/apps/transactions/tests/test_views.py +++ b/app/apps/transactions/tests/test_views.py @@ -275,8 +275,9 @@ class TransactionConvertViewTests(TestCase): recurring = RecurringTransaction.all_objects.get() self.transaction.refresh_from_db() self.assertEqual(self.transaction.recurring_transaction, recurring) - # Paid amount is preserved - self.assertEqual(self.transaction.amount, 50) + # The form's amount applies even though the original was paid + self.assertEqual(self.transaction.amount, 60) + self.assertTrue(self.transaction.is_paid) self.assertEqual( recurring.transactions.filter(date=date(2030, 1, 15)).count(), 1 )