Index: db-scripts/views/finance_allocations_view.sql
===================================================================
--- db-scripts/views/finance_allocations_view.sql	(revision 42da64dc0d28f9380336816f6fb82c7572d0021d)
+++ db-scripts/views/finance_allocations_view.sql	(revision 42da64dc0d28f9380336816f6fb82c7572d0021d)
@@ -0,0 +1,18 @@
+-- View: calculate allocation amounts per finance category for the current month
+CREATE OR REPLACE VIEW trekr.vw_finance_allocations_current_month AS
+SELECT
+    f.user_id,
+    fm.total_earned_this_month,
+    f.spending_budget,
+    f.saving_budget,
+    f.investing_budget,
+    f.donation_budget,
+    f.credit,
+    ROUND((COALESCE(f.spending_budget,0) / 100.0) * fm.total_earned_this_month, 2) AS spending_amount,
+    ROUND((COALESCE(f.saving_budget,0) / 100.0) * fm.total_earned_this_month, 2) AS saving_amount,
+    ROUND((COALESCE(f.investing_budget,0) / 100.0) * fm.total_earned_this_month, 2) AS investing_amount,
+    ROUND((COALESCE(f.donation_budget,0) / 100.0) * fm.total_earned_this_month, 2) AS donation_amount,
+    ROUND((COALESCE(f.credit,0) / 100.0) * fm.total_earned_this_month, 2) AS credit_amount
+FROM trekr.finance_users f
+LEFT JOIN trekr.vw_finance_current_month fm ON fm.user_id = f.user_id;
+
Index: db-scripts/views/finance_monthly_summary_view.sql
===================================================================
--- db-scripts/views/finance_monthly_summary_view.sql	(revision 42da64dc0d28f9380336816f6fb82c7572d0021d)
+++ db-scripts/views/finance_monthly_summary_view.sql	(revision 42da64dc0d28f9380336816f6fb82c7572d0021d)
@@ -0,0 +1,22 @@
+-- View: monthly income summary per user
+-- Shows total income per user per month and year
+CREATE OR REPLACE VIEW trekr.vw_finance_monthly_summary AS
+SELECT
+    i.finance_user_id AS user_id,
+    EXTRACT(YEAR FROM i.date)::int AS year,
+    EXTRACT(MONTH FROM i.date)::int AS month,
+    SUM(i.amount) AS total_income
+FROM trekr.incomes i
+GROUP BY i.finance_user_id, EXTRACT(YEAR FROM i.date), EXTRACT(MONTH FROM i.date);
+
+-- View: current month total money earned for each user
+CREATE OR REPLACE VIEW trekr.vw_finance_current_month AS
+SELECT
+    f.user_id,
+    COALESCE(SUM(i.amount), 0) AS total_earned_this_month
+FROM trekr.finance_users f
+LEFT JOIN trekr.incomes i
+    ON i.finance_user_id = f.user_id
+    AND date_trunc('month', i.date) = date_trunc('month', current_date)
+GROUP BY f.user_id;
+
