Trevidia에서 반복 기능을 구현한 방법

발행: (2025년 12월 14일 오전 05:55 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

Trevidia의 반복 청구서

  • 청구서를 매일, 매주, 격주, 매월, 분기별, 연간으로 반복 설정합니다.
  • 다음 청구서 날짜를 자동으로 계산합니다.
  • 청구서를 연결된 상태로 유지하여 사용자가 시간 경과에 따른 결제 내역을 추적할 수 있게 합니다.
  • 언제든지 반복 청구서를 편집하거나 중단할 수 있습니다.
  • 해킹도, 중복된 잡동사니도 없습니다. 하나의 진실된 소스만 존재합니다.

각 반복 청구서는 원본 청구서 데이터와 연결되어 있어, 반복 주기와 다음 반복 날짜가 해당 단일 소스에서 파생됩니다.

구현 세부 사항

Laravel 스케줄러를 만들어 ProcessRecurringInvoices 작업을 매일 실행하도록 했습니다. 이 작업은:

  1. 다음 반복 날짜가 현재 날짜와 일치하는 청구서를 데이터베이스에서 검색합니다.
  2. 원본 청구서의 관련 값을 복제합니다.
  3. 이전 청구서 번호를 기준으로 청구서 번호를 증가시킵니다.
  4. 수신자가 이메일 알림을 구독 해제하지 않은 경우, 원본 청구서에 사용된 이메일 주소로 새 청구서를 전송합니다.

이 접근 방식은 수동 복제 없이 자동으로 반복 청구서를 생성하도록 보장하며, 깔끔하고 일관된 데이터 구조를 유지합니다.

Back to Blog

관련 글

더 보기 »

리팩토링 없이 레거시 Laravel 코드 테스트

실제 PHP 프로젝트를 위한 실용적인 전략 레거시 코드베이스는 삶의 일부입니다. 대부분 우리는 그린필드 프로젝트에 참여하지 않습니다. 우리는 애플리케이션을 물려받습니다.