Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Enhanced Recurring Transactions, Webhook Notifications, and Multi-Dimensional Budgeting #67

Open
JxQg opened this issue Feb 18, 2025 · 4 comments
Labels
duplicate This issue or pull request already exists enhancement New feature or request

Comments

@JxQg
Copy link

JxQg commented Feb 18, 2025

1. Enhanced Recurring Transactions (Yearly & Customizable)

Purpose:
Improve existing recurring transaction functionality to support yearly cycles and customizable end dates (e.g., for multi-year loans, subscriptions, or installment payments). Examples include:

  • Users can manage recurring subscriptions (such as Netflix, cloud storage annual payments) or automate annual transactions (such as investments, insurance renewals).
  • Manage loans with a fixed end date (such as car loans or mortgages with zero-interest installments), or installment payments with a deadline. The recurring transaction would stop once the final payment is made (this example only considers zero-interest installment payments; more complex calculations for loan interest are not discussed here).

Implementation & Benefits:

  • Add yearly as a new recurring interval option.
  • Allow users to define a start date and optional end date for transactions (e.g., "Start: 2024-01-01, End: 2026-12-01").
  • Automatically stop generating transactions after the end date.
  • Add calendar visualization for recurring transactions (e.g., highlight upcoming/annual payments).

2. Webhook Notifications with Custom API Integration

Purpose:
Enable flexible notifications for scheduled events (e.g., subscription renewals) or shared account activities via Webhooks.

Implementation & Benefits:

  • Integrate Webhooks with existing email notifications and custom API endpoints.
    • Support GET/POST requests with form-data payloads.
    • Provide placeholders (e.g., #ezbookkeeping#) for dynamic content (e.g., {{amount}}, {{account}}, {{date}}).
  • Trigger alerts for:
    • Upcoming subscription renewals (e.g., "Your XYZ subscription renews in 3 days").
    • Transactions in shared accounts (e.g., "A ¥500 expense was made in the 'Family Account'").
  • Allow threshold customization (e.g., notify only for expenses over ¥100).

3. Multi-Dimensional Budget Tracking

Purpose:
Empower users to set budgets across time, events, or individuals for granular financial control.

Implementation & Benefits:

  • Time-based budgets: Set monthly/quarterly/annual limits (e.g., "¥1200/month for groceries").
  • Event-based budgets: Allocate funds for specific goals (e.g., "¥50,000 for Wedding Expenses").
  • individual tracking: Monitor spending per person (e.g., "Child A’s tuition fees").
  • Visualize budget progress with charts and send warnings (e.g., "90% of your 'Travel' budget is used").

Thank you for your consideration!


1. 增强版周期交易(支持年度周期与自定义结束时间)

用途
改进现有周期交易功能,支持以年为单位的周期和自定义结束日期(如多年贷款、订阅或分期支付)。例如:

  • 用户管理周期性订阅(如Netflix、云存储等年度付费)或自动化年度交易(如投资、保险续费)。
  • 管理有固定结束日期的车贷/房贷(无息分期),或者一些有截至时限的分期支付功能,在最后一笔款项结清后停止继续定时交易。(仅举例说明,贷款的利息费用的复杂计算暂不参与讨论,仅以0息分期做参考)

实现与效果

  • 新增作为周期选项。
  • 允许用户设置交易的开始日期和可选结束日期(如“开始:2024-01-01,结束:2026-12-01”)。
  • 到达结束日期后自动停止生成交易。
  • 周期交易的日历展示(如高亮 即将/年度 支付)。

2. 支持自定义API的Webhook通知

用途
通过Webhook为计划事件(如订阅续费)或共享账户消费提供灵活通知。

实现与效果

  • 将Webhook与现有邮件通知及自定义API端点集成。
    • 支持GET/POST请求及表单数据。
    • 提供占位符(如#ezbookkeeping#)动态填充内容(如{{amount}}, {{account}}, {{date}}`)。
  • 触发场景包括:
    • 即将到期的订阅续费(如“您的XYZ订阅将于3天后续费”)。
    • 共享账户的交易动态(如“家庭账户中有一笔500元支出”)。
  • 可自定义通知阈值(如仅对超过100元的消费发出提醒)。

3. 多维度预算追踪

用途
支持按时间事件人员设置预算,实现精细化财务管理。

实现与效果

  • 时间维度:按月/季度/年设置预算(如“每月食品杂货预算1200元”)。
  • 事件维度:为特定目标分配资金(如“婚礼项目预算50000元”)。
  • 人员维度:跟踪个人开支(如“孩子A的学费”)。
  • 通过图表可视化预算进度,并发送预警(如“您的‘旅行’预算已使用90%”)。

感谢您的考虑!

@JxQg
Copy link
Author

JxQg commented Feb 18, 2025

#53
Some feature have been enhanced to shared accounts and expand the sharing dimensions. It can be shared for use by family members and partners together.
部分功能增强了共享账户的功能,以及可以拓展共享维度。可以分享家人和伴侣一起使用。

@mayswind
Copy link
Owner

mayswind commented Feb 19, 2025

  1. The purpose of ezBookkeeping's scheduled transaction is to reduce the time spent adding transactions. I think the scheduled transactions added once a year cannot save time. In addition, I think these transactions once in a long time should be reviewed by the person before adding them. ezBookkeeping does not plan to add yearly cycles.
  2. Scheduled transaction will add start time and end time. duplicate with Personal feedback after using for a day #36
  3. ezBookkeeping plans to add some event reminders in the future. duplicate with [Feature Request] Add an interest calculation feature for the saving account. #30
  4. ezBookkeeping will never support budget

@mayswind
Copy link
Owner

In the future, ezBookkeeping plans to add a calendar view to display transactions, which also shows the scheduled transactions.

@JxQg
Copy link
Author

JxQg commented Feb 19, 2025

I'm sorry for this issue, I understand the meaning of not adding years as a time unit, and if there is an event reminder future next, it should be able to complete the purpose I need.
I am currently using Wallos to manage subscriptions, and the idea of merging subscriptions into ezbookkeeping is a self-interested one.
Finally, I apologize for not double-checking existing issue.

很抱歉给你带来了麻烦,我理解了不添加年为时间单位,如果接下来有事件提醒功能应该就能完成我需要的功能。
我现在在用Wallos管理订阅,把订阅合并到ezbookkeeping是一个有私心的想法。
最后,对于未仔细检查已存在的issue,我深表歉意。

@mayswind mayswind added duplicate This issue or pull request already exists enhancement New feature or request labels Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants