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.Supported Billing Intervals
PayRequest supports the following billing intervals:| Interval | Billing Frequency | Common Use Cases |
|---|---|---|
| Monthly | Every 30 days | SaaS, memberships, retainers |
| Quarterly | Every 3 months | Enterprise contracts, seasonal services |
| Yearly | Every 12 months | Annual 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:The Billing Process
Each day at 03:00 (Europe/Amsterdam timezone), PayRequest processes due subscriptions:- Identify Due Subscriptions: Find all active subscriptions where
next_billing_atis in the past - Validate Billing: Check subscription status (active, not paused, not completed)
- Check Trial Status: Skip billing if subscription is still in trial period
- Process Payment: Charge via mandate or generate invoice
- Update Next Billing: Calculate next billing date based on interval
- 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:| Interval | Count | Result |
|---|---|---|
| Monthly | 1 | Every month |
| Monthly | 2 | Every 2 months |
| Monthly | 6 | Every 6 months |
| Yearly | 1 | Every year |
| Yearly | 2 | Every 2 years |
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
- Subscription list table
- Subscription detail page
- Customer profile (subscription section)
Modifying Billing Dates
To change a subscription’s next billing date:- Go to Subscriptions → Click the subscription
- Click Edit
- Modify Next Billing Date
- Save changes
- 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: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
- Subscription created → Status = “Trial”
- Trial period counts down → No billing occurs
- Trial ends → Status changes to “Active”
- First billing → Payment collected on trial end date
Trial End Behavior
When a trial ends:| Mandate Status | Result |
|---|---|
| Active mandate | Payment collected automatically |
| No mandate | Subscription moves to “Pending Mandate” |
| Failed payment | Subscription moves to “Failed” |
Configuring Trials
Set trial periods on the product:- Go to Products → Edit product
- Enable “Has Trial”
- Set Trial Days (e.g., 14)
- Optionally add Trial Description (shown to customers)
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
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
- 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:- 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
Proration (Not Supported)
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:| Retry | Timing |
|---|---|
| 1st attempt | Immediately (billing date) |
| 2nd attempt | 2 days later |
| 3rd attempt | 2 days after 2nd |
| Final | 2 days after 3rd |
Manual Retry
To manually retry a failed payment:- Go to Subscriptions → Click failed subscription
- Review failure reason
- Click Retry Payment
Common Failure Reasons
| Reason | Solution |
|---|---|
| Insufficient funds | Wait and retry, or contact customer |
| Mandate revoked | Request new mandate authorization |
| Account closed | Contact customer for new payment method |
| Technical error | Retry 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)Billing Reports
Monthly Summary
View subscription billing summaries in Analytics → Subscriptions:- 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:- Subscription status is not “Active”
- Subscription is paused
- Trial period not ended
- Next billing date is in the future
- Payment limit reached (completed)
- Check subscription status and next billing date
- Verify trial end date if applicable
- Review subscription details page for status
Wrong Amount Charged
Causes:- Quantity changed after subscription creation
- Custom field markup not calculated
- Price override was set
- Review subscription recurring amount
- Check transaction details for breakdown
- Edit subscription if amount needs correction
Billing Date Keeps Shifting
Causes:- Month-end dates on 31st shift to 28th/30th
- Manual billing date modifications
- Billing failures causing date adjustments
- Use dates that exist in all months (1st-28th)
- Avoid modifying billing dates unless necessary
- Review billing history for patterns
Related Documentation
Creating Subscriptions
Set up new subscriptions
Failed Payment Handling
Configure dunning and retries
Pausing & Resuming
Temporary subscription stops
Trial Periods
Configure free trials
Frequently Asked Questions
Can I bill on a specific day of the month?
Can I bill on a specific day of the month?
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.
What happens if a customer's billing date falls on the 31st?
What happens if a customer's billing date falls on the 31st?
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.
Can I change the interval of an existing subscription?
Can I change the interval of an existing subscription?
Currently, you cannot change the interval of an existing subscription. You would need to cancel and create a new subscription with the desired interval.
When exactly does billing run?
When exactly does billing run?
The billing job runs daily at 03:00 Europe/Amsterdam timezone. Subscriptions with
next_billing_at in the past are processed.Do weekends or holidays affect billing?
Do weekends or holidays affect billing?
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.
How do I give a customer a billing grace period?
How do I give a customer a billing grace period?
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.