diff --git a/backend/app/demo/seed.py b/backend/app/demo/seed.py index 0524de0..de1a889 100644 --- a/backend/app/demo/seed.py +++ b/backend/app/demo/seed.py @@ -135,8 +135,8 @@ async def seed_demo(db: AsyncSession) -> None: txns = [] - # ── Monthly recurring transactions (Oct 2025 – Mar 2026) ────────────── - months = [(2025, 10), (2025, 11), (2025, 12), (2026, 1), (2026, 2), (2026, 3)] + # ── Monthly recurring transactions (Oct 2025 – Apr 2026) ────────────── + months = [(2025, 10), (2025, 11), (2025, 12), (2026, 1), (2026, 2), (2026, 3), (2026, 4)] for year, month in months: ny, nm = next_month(year, month) @@ -169,7 +169,7 @@ async def seed_demo(db: AsyncSession) -> None: d(year, month, 3), True, rr("monthly", -25.00, d(ny, nm, 3).isoformat(), d(year, month, 3).isoformat()))) # Energy (variable) - energy = [-102, -98, -115, -108, -103, -95][months.index((year, month))] + energy = [-102, -98, -115, -108, -103, -95, -88][months.index((year, month))] txns.append(txn(monzo, "expense", energy, "DIRECT DEBIT OVO ENERGY", "OVO Energy", "Electricity", d(year, month, 5), True, rr("monthly", energy, d(ny, nm, 5).isoformat(), d(year, month, 5).isoformat()))) @@ -197,7 +197,8 @@ async def seed_demo(db: AsyncSession) -> None: # TfL top-ups (2/month) tfl = [(-40, 17, -30, 29), (-35, 15, -40, 28), (-40, 16, -35, 30), - (-40, 17, -30, 28), (-40, 14, -35, 27), (-40, 17, -30, 29)][months.index((year, month))] + (-40, 17, -30, 28), (-40, 14, -35, 27), (-40, 17, -30, 29), + (-40, 10, -35, 22)][months.index((year, month))] txns.append(txn(monzo, "expense", tfl[0], "TfL Travel Top-Up", "Transport for London", "Public Transport", d(year, month, tfl[1]))) txns.append(txn(monzo, "expense", tfl[2], "TfL Travel Top-Up", "Transport for London", @@ -242,7 +243,8 @@ async def seed_demo(db: AsyncSession) -> None: (2026, 2, 14, -61.40, "Sainsbury's"), (2026, 2, 21, -55.90, "Lidl"), (2026, 2, 28, -80.45, "Waitrose"), (2026, 3, 7, -69.30, "Tesco"), (2026, 3, 14, -58.75, "Lidl"), (2026, 3, 21, -76.20, "Sainsbury's"), - (2026, 3, 28, -65.80, "Tesco"), + (2026, 3, 28, -65.80, "Tesco"), (2026, 4, 5, -72.40, "Tesco"), + (2026, 4, 12, -61.15, "Sainsbury's"), (2026, 4, 19, -55.90, "Lidl"), ] for y, m, day, amt, merch in groceries: txns.append(txn(monzo, "expense", amt, f"{merch} Groceries", merch, "Groceries", date(y, m, day))) @@ -258,6 +260,7 @@ async def seed_demo(db: AsyncSession) -> None: (2026, 2, 6, -42.00, "Dishoom"), (2026, 2, 14, -78.00, "Restaurant"), (2026, 2, 22, -31.50, "Deliveroo"), (2026, 3, 8, -38.00, "Wagamama"), (2026, 3, 15, -25.00, "Deliveroo"), (2026, 3, 22, -47.00, "Nando's"), + (2026, 4, 8, -44.00, "Dishoom"), (2026, 4, 18, -27.50, "Deliveroo"), ] for y, m, day, amt, merch in eating_out: txns.append(txn(monzo, "expense", amt, merch, merch, "Eating Out", date(y, m, day))) @@ -273,7 +276,9 @@ async def seed_demo(db: AsyncSession) -> None: (2026, 1, 23, -4.80, "Pret a Manger"), (2026, 2, 5, -5.20, "Starbucks"), (2026, 2, 12, -4.80, "Costa Coffee"), (2026, 2, 20, -5.50, "Blank Street"), (2026, 2, 27, -4.80, "Pret a Manger"), (2026, 3, 5, -4.80, "Costa Coffee"), - (2026, 3, 12, -5.20, "Starbucks"), (2026, 3, 19, -4.50, "Pret a Manger"), + (2026, 3, 12, -5.20, "Starbucks"), (2026, 3, 19, -4.50, "Pret a Manger"), + (2026, 4, 10, -4.80, "Costa Coffee"), (2026, 4, 17, -5.20, "Starbucks"), + (2026, 4, 22, -4.50, "Pret a Manger"), ] for y, m, day, amt, merch in coffee: txns.append(txn(monzo, "expense", amt, merch, merch, "Coffee", date(y, m, day))) @@ -300,6 +305,8 @@ async def seed_demo(db: AsyncSession) -> None: (2026, 2, 25, -19.99, monzo, "Amazon", "AMAZON.CO.UK", "Other Expense"), (2026, 3, 8, -38.50, monzo, "Amazon", "AMAZON.CO.UK", "Other Expense"), (2026, 3, 22, -55.00, monzo, "Amazon", "AMAZON.CO.UK", "Other Expense"), + (2026, 4, 9, -29.99, monzo, "Amazon", "AMAZON.CO.UK", "Other Expense"), + (2026, 4, 16, -42.00, monzo, "Boots", "Boots", "Personal Care"), # Car insurance (October, annual) (2025,10, 15, -485.00, monzo, "Aviva", "AVIVA CAR INSURANCE ANNUAL", "Car Insurance"), # Amex purchases