Subscription Automation

How Proper creates recurring bookings and jobs from customer subscriptions.

What this feature does

Subscription Automation creates future recurring bookings + jobs together inside a rolling horizon.

It creates only missing occurrences, avoids duplicates, respects exception dates, and keeps manual runs idempotent.

Company modes

Manual

Nightly automation does not create occurrences. Owners/admins can still run generation manually.

Assisted

Nightly automation creates missing bookings/jobs in the horizon but does not trigger full routing.

Full

Nightly automation creates missing bookings/jobs and then triggers routing/offers workflows.

Core settings

  • Rolling horizon: 7, 14, or 30 days.
  • Conflict behavior: create-and-flag or skip-and-log issue handling.
  • Run frequency: nightly or manual-only.

In Manual company mode, run frequency is effectively manual-only.

Per-subscription controls

The app currently presents subscription automation as a company-default setting plus a single opposite override.

  • Enabled (default) or Disabled (default) follows company behavior.
  • Enabled for this subscription or Disabled for this subscription applies the override.
  • The effective automation label shown in the app is simply Enabled or Disabled.

Occurrence generation rules

  1. Compute target occurrence dates inside the rolling horizon.
  2. Skip dates with exception records.
  3. Skip if an occurrence already exists for that subscription/date key.
  4. Create booking + job together for missing dates only.
  5. In Full mode, continue into routing after creation.

Imported subscriptions use this same occurrence-generation path and produce subscription-backed bookings/jobs.

Safety and block rules

  • No duplicate creation for the same subscription/date key.
  • No recreation of skipped or exception dates.
  • Routing failures in Full mode do not delete created booking/job.
  • Inactive customers block new recurring bookings/jobs until reactivated.
  • Past-due invoice blocks and terminal subscription states also stop future generation.

For billing on generated occurrences: when the job is completed, Proper invoices the outstanding balance. If no default Stripe payment method/source is available, Stripe falls back to emailing the invoice to the customer.

Run logs

Proper records company-level runs and per-subscription run items so you can review created, skipped, blocked, and flagged outcomes.

Review these from Settings automation runs and from each subscription’s detail view.