diff --git a/src/routes/admin/user/[id]/+page.server.js b/src/routes/admin/user/[id]/+page.server.js
index 6d438b444db42a4cf98e3b852e199d8bd5c022ac..e40ded394f0c02a4956577ef40ef324fc3700a98 100644
--- a/src/routes/admin/user/[id]/+page.server.js
+++ b/src/routes/admin/user/[id]/+page.server.js
@@ -3,6 +3,8 @@ import { fail } from "@sveltejs/kit";
 import { createTransaction } from "../../api/transactions";
 import { ChannelType } from "$lib/server/notifications/channelTypes";
 import { createNotificationChannel, updateNotificationChannel } from "../../api/notificationChannels";
+import { sendNotification } from "$lib/server/notifications/handler";
+import { NotificationType } from "$lib/notifications/notificationTypes";
 
 export const load = async ({ params }) => {
 	const { id } = params;
@@ -42,6 +44,21 @@ export const actions = {
 		const amount = parseInt(data.get('amount'));
 		if(Number.isNaN(amount) || !Number.isInteger(amount)) return fail(400, { error: "Invalid form data" });
 		const user = await createTransaction(userId, amount, event.locals.user.id);
+		if(amount < 0){
+			// no need to await
+			sendNotification(user.id, NotificationType.WITHDRAW, {
+				amount: -amount,
+				balanceAfter: user.balance,
+				balanceBefore: user.balance - amount
+			});
+		}else{
+			// no need to await
+			sendNotification(user.id, NotificationType.DEPOSIT, {
+				amount,
+				balanceAfter: user.balance,
+				balanceBefore: user.balance - amount
+			});
+		}
 		delete user.createdAt;
 		delete user.updatedAt;
 		return { success: !!user, user };