我在 Trevidia 中实现循环功能的方式

发布: (2025年12月14日 GMT+8 04:55)
2 min read
原文: Dev.to

Source: Dev.to

Trevidia 中的循环发票

  • 将发票设置为 每日、每周、每两周、每月、每季或每年 循环。
  • 自动计算下一个发票日期。
  • 保持发票之间的关联,便于用户随时间跟踪付款历史。
  • 随时编辑或停止循环发票。
  • 无需 hack。无重复杂乱。唯一真实来源。

每个循环发票都链接到原始发票数据,因此循环频率和下一个循环日期均来源于该唯一数据源。

实现细节

我创建了一个 Laravel 调度任务,每天运行名为 ProcessRecurringInvoices 的作业。该作业:

  1. 扫描数据库,查找 下一个循环日期 与当前日期相匹配的发票。
  2. 从原始发票中复制相关数值。
  3. 根据前一张发票的编号递增发票号码。
  4. 将新发票发送至原始发票使用的电子邮件地址,前提是收件人未取消邮件通知订阅

这种方式确保循环发票能够自动生成,无需手动复制,从而保持数据结构的整洁和一致。

Back to Blog

相关文章

阅读更多 »