Skip to content

Implement subscription payment scheduling with calendar billing (#367)#451

Open
Itodo-S wants to merge 1 commit into
Smartdevs17:mainfrom
Itodo-S:issue-367-calendar-billing-scheduling
Open

Implement subscription payment scheduling with calendar billing (#367)#451
Itodo-S wants to merge 1 commit into
Smartdevs17:mainfrom
Itodo-S:issue-367-calendar-billing-scheduling

Conversation

@Itodo-S
Copy link
Copy Markdown
Contributor

@Itodo-S Itodo-S commented May 27, 2026

Description

Adds calendar-based billing schedule management with iCal export, schedule conflict detection, prorated adjustments, one-time payments, and timezone support.

Changes

Calendar Export

  • iCal (.ics) file generation with VALARM reminders
  • Share sheet integration for exporting events
  • PRODID, UID, and timezone metadata in generated files

Schedule Conflict Detection

  • Detects overlapping subscription billing dates
  • Shows total charges per day with subscription breakdown
  • Conflict analysis triggered from the calendar screen

Prorated Adjustments

  • Calculates prorated amounts based on days remaining in billing cycle
  • Supports weekly/monthly/yearly billing cycles
  • Returns full adjustment details (days remaining, effective date, reason)

One-Time Payments

  • Schedule one-off payments outside recurring billing
  • Cancel pending one-time payments
  • Persistent state across app restarts

Timezone Support

  • Timezone selector with 13 common timezones
  • DST transition period detection and automatic adjustment
  • Timezone-aware event building and display

Files Changed

  • src/types/calendar.ts - Added OneTimeScheduledPayment, ScheduleConflict, ProratedAdjustment, CalendarExportPayload types
  • src/types/subscription.ts - Added timezone field to Subscription
  • src/services/calendarService.ts - Added generateICalendarExport, detectScheduleConflicts, calculateProratedAdjustment, scheduleOneTimePayment, DST helpers
  • src/store/calendarStore.ts - Added oneTimePayments, scheduleConflicts, timezone state with actions
  • src/screens/CalendarIntegrationScreen.tsx - Added export, conflict, timezone, and one-time payment sections

Closes #367

…t detection, and timezone support (Smartdevs17#367)

- Add iCal export functionality for subscription renewal events
- Implement schedule conflict detection across billing dates
- Add prorated adjustment calculations for schedule modifications
- Support one-time scheduled payments beyond recurring billing
- Add timezone handling with DST transition detection
- Add timezone selector to CalendarIntegrationScreen
- Add one-time payment management to calendar store
- Add conflict detection UI with per-day breakdown
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 27, 2026

@Itodo-S Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement subscription payment scheduling with calendar billing

1 participant