Skip to main content

Overview

Billing cycles determine when and how often customers are charged for their subscriptions. PayRequest supports flexible billing intervals, custom timing, and automatic billing date management.
Choose billing cycles that match your business model. Monthly billing provides steady cash flow, while annual billing reduces churn and administrative overhead.

Supported Billing Intervals

PayRequest supports the following billing intervals:
IntervalBilling FrequencyCommon Use Cases
MonthlyEvery 30 daysSaaS, memberships, retainers
QuarterlyEvery 3 monthsEnterprise contracts, seasonal services
YearlyEvery 12 monthsAnnual subscriptions, domain renewals
The billing interval is configured on the product level. All subscriptions using that product follow the same interval.

How Billing Works

Billing Date Calculation

When a subscription is created, PayRequest calculates the first and subsequent billing dates: Without Trial:
Creation date: December 5, 2025
Interval: Monthly
First billing: January 5, 2026
Next billing: February 5, 2026
With Trial:
Creation date: December 5, 2025
Trial period: 14 days
Trial ends: December 19, 2025
First billing: December 19, 2025
Next billing: January 19, 2026
With Custom Start Date:
Creation date: December 5, 2025
Custom start: January 1, 2026
First billing: January 1, 2026
Next billing: February 1, 2026

The Billing Process

Each day at 03:00 (Europe/Amsterdam timezone), PayRequest processes due subscriptions:
  1. Identify Due Subscriptions: Find all active subscriptions where next_billing_at is in the past
  2. Validate Billing: Check subscription status (active, not paused, not completed)
  3. Check Trial Status: Skip billing if subscription is still in trial period
  4. Process Payment: Charge via mandate or generate invoice
  5. Update Next Billing: Calculate next billing date based on interval
  6. Record Transaction: Create transaction record for payment tracking
Billing runs automatically. You don’t need to manually trigger payments - just ensure subscriptions are set up correctly.

Configuring Product Intervals

Set the billing interval when creating or editing a product:

Step 1: Navigate to Products

Go to Products in the sidebar and click Create Product or edit an existing one.

Step 2: Enable Recurring

Toggle “Is Recurring” to enable subscription billing for this product.

Step 3: Set Interval

Choose the billing interval:
  • Monthly: Charged every month
  • Quarterly: Charged every 3 months
  • Yearly: Charged every 12 months

Step 4: Set Interval Count (Optional)

For custom intervals, set the interval count:
IntervalCountResult
Monthly1Every month
Monthly2Every 2 months
Monthly6Every 6 months
Yearly1Every year
Yearly2Every 2 years
Changing a product’s interval only affects new subscriptions. Existing subscriptions retain their original billing interval.

Billing Date Management

Viewing Billing Dates

Each subscription shows:
  • Last Billed At: Date of most recent successful payment
  • Next Billing At: Date of upcoming payment
View these in:
  • Subscription list table
  • Subscription detail page
  • Customer profile (subscription section)

Modifying Billing Dates

To change a subscription’s next billing date:
  1. Go to Subscriptions → Click the subscription
  2. Click Edit
  3. Modify Next Billing Date
  4. Save changes
Common reasons to modify billing dates:
  • Align multiple subscriptions to bill on the same day
  • Accommodate customer payment cycles
  • Correct an incorrectly set date
  • Provide billing grace period
Changing the next billing date only affects that one cycle. Subsequent billing dates are calculated from the new date using the standard interval.

Billing Date Alignment

For customers with multiple subscriptions, you may want to align billing dates: Before:
Subscription A: Bills on 5th
Subscription B: Bills on 12th
Subscription C: Bills on 23rd
Result: 3 separate payments per month
After alignment:
Subscription A: Bills on 1st
Subscription B: Bills on 1st
Subscription C: Bills on 1st
Result: 1 combined payment per month (or 3 same-day payments)
PayRequest doesn’t automatically combine payments. Each subscription generates its own payment, even if billing on the same day.

Trial Period Impact

Trial periods affect the billing cycle:

How Trials Work

  1. Subscription created → Status = “Trial”
  2. Trial period counts down → No billing occurs
  3. Trial ends → Status changes to “Active”
  4. First billing → Payment collected on trial end date

Trial End Behavior

When a trial ends:
Mandate StatusResult
Active mandatePayment collected automatically
No mandateSubscription moves to “Pending Mandate”
Failed paymentSubscription moves to “Failed”

Configuring Trials

Set trial periods on the product:
  1. Go to Products → Edit product
  2. Enable “Has Trial”
  3. Set Trial Days (e.g., 14)
  4. Optionally add Trial Description (shown to customers)
Common trial lengths: 7 days (quick evaluation), 14 days (standard), 30 days (complex products).

Payment Timing

Automatic Billing (Mandate-Based)

For mandate-based subscriptions: Daily Schedule:
  • 03:00: Billing job runs, identifies due subscriptions
  • 03:00-04:00: Payments created in Mollie
  • Within 1-3 business days: SEPA Direct Debit settles
Payment Status Flow:
Created → Open → Pending → Paid

                   Failed (if declined)

Invoice-Based Billing

For invoice-based subscriptions: Daily Schedule:
  • 03:00: Billing job identifies due subscriptions
  • 03:00: Invoice generated and emailed
  • Customer action: Customer pays via payment link
Invoice Due Date:
  • Default: 14 days from invoice date
  • Configurable in invoice settings

Fixed-Term Subscriptions

Payment Limits

Set a maximum number of payments for fixed-term contracts:
Product: 12-Month Premium Plan
Payment limit: 12
Interval: Monthly
Behavior:
  • After 12 payments, subscription status → “Completed”
  • No further billing occurs
  • Customer retains access based on your business logic

Tracking Payments

Each subscription tracks:
  • Payments Made: Number of successful payments
  • Payments Total: Payment limit (if set)
  • Remaining: Payments Total - Payments Made
View this information in the subscription detail page.

Proration (Not Supported)

PayRequest does not currently support prorated billing. Full billing periods are charged regardless of when the subscription starts or changes.
Workarounds:
  • Use custom pricing for partial first periods
  • Offer credit notes for cancelled subscriptions
  • Align subscription changes to billing cycle dates

Billing Failures

When a billing attempt fails:

Automatic Retry

PayRequest automatically retries failed payments:
RetryTiming
1st attemptImmediately (billing date)
2nd attempt2 days later
3rd attempt2 days after 2nd
Final2 days after 3rd
After max retries (default: 3), subscription status → “Failed”

Manual Retry

To manually retry a failed payment:
  1. Go to Subscriptions → Click failed subscription
  2. Review failure reason
  3. Click Retry Payment

Common Failure Reasons

ReasonSolution
Insufficient fundsWait and retry, or contact customer
Mandate revokedRequest new mandate authorization
Account closedContact customer for new payment method
Technical errorRetry automatically, contact support if persistent
See Failed Payment Handling for complete dunning configuration.

Pausing and Billing

When a subscription is paused:
  • Billing stops immediately
  • Next billing date is preserved
  • Resume behavior depends on configuration:

Resume Options

Option A: Resume at next billing date (default)
Paused on: December 10
Next billing: January 5
Resumed on: December 20
Next billing: January 5 (unchanged)
Option B: Resume with new cycle
Paused on: December 10
Original next billing: January 5
Resumed on: December 20
New next billing: January 20 (recalculated)
Configure resume behavior when pausing the subscription.

Billing Reports

Monthly Summary

View subscription billing summaries in AnalyticsSubscriptions:
  • MRR (Monthly Recurring Revenue): Total monthly subscription value
  • Active Subscriptions: Count by status
  • Upcoming Billings: Next 30 days projection

Transaction History

All subscription payments appear in Transactions:
  • Filter by “Subscription” source
  • Export to CSV for accounting
  • Link transactions to specific subscriptions

Best Practices

✅ Do’s

  • Bill on consistent dates when possible (1st or 15th of month)
  • Monitor failed payments daily and follow up quickly
  • Test billing with a test subscription before going live
  • Set appropriate trial lengths - long enough to evaluate, short enough to convert
  • Document billing terms clearly for customers

❌ Don’ts

  • Don’t change intervals on active subscriptions without customer communication
  • Don’t ignore failed payments - they indicate customer or mandate issues
  • Don’t set billing dates on dates that don’t exist (e.g., 31st for monthly)
  • Don’t modify billing dates right before a scheduled billing run

Troubleshooting

Subscription Didn’t Bill

Causes:
  1. Subscription status is not “Active”
  2. Subscription is paused
  3. Trial period not ended
  4. Next billing date is in the future
  5. Payment limit reached (completed)
Solution:
  • Check subscription status and next billing date
  • Verify trial end date if applicable
  • Review subscription details page for status

Wrong Amount Charged

Causes:
  1. Quantity changed after subscription creation
  2. Custom field markup not calculated
  3. Price override was set
Solution:
  • Review subscription recurring amount
  • Check transaction details for breakdown
  • Edit subscription if amount needs correction

Billing Date Keeps Shifting

Causes:
  1. Month-end dates on 31st shift to 28th/30th
  2. Manual billing date modifications
  3. Billing failures causing date adjustments
Solution:
  • Use dates that exist in all months (1st-28th)
  • Avoid modifying billing dates unless necessary
  • Review billing history for patterns

Frequently Asked Questions

Yes! Use the “Custom Start Date” option when creating a subscription. Set it to the desired day of the month, and subsequent billing will follow that pattern.
For months with fewer days, billing occurs on the last day of the month. February 28th (or 29th), April 30th, etc. This can cause billing date drift over time.
Currently, you cannot change the interval of an existing subscription. You would need to cancel and create a new subscription with the desired interval.
The billing job runs daily at 03:00 Europe/Amsterdam timezone. Subscriptions with next_billing_at in the past are processed.
Billing runs every day, including weekends and holidays. However, SEPA Direct Debit settlement may be delayed during bank holidays - payments are still created, just settled later.
Edit the subscription and move the Next Billing Date forward by the desired grace period. The customer won’t be billed until that new date.