Recurring Invoices.
Automate invoice generation with schedules that create invoices daily, weekly, or monthly.
Recurring Invoices
For: business owners billing the same customer on a regular schedule. Where: create and manage in Sales > Recurring.
How recurring invoices work
A recurring invoice is a template that generates new invoices on a schedule. You set the customer, line items, tax rates, and schedule once. InvoiceScript creates a new draft or auto-sends an invoice each time the schedule fires.
Setting up a recurring schedule
- Go to Sales > Recurring and click New schedule
- Select the customer, set the frequency, and add template line items
- Configure the schedule:
| Field | Description |
|---|---|
| Frequency | Every N days, weeks, or months |
| Interval | The number (every 1 month, every 2 weeks, etc.) |
| Start date | When to begin generating invoices |
| End option | Never (indefinite), End by date, or End after N occurrences |
- Save the invoice
Generated invoices
Each time the schedule fires, InvoiceScript creates a new invoice with:
- The same customer
- The same line items, quantities, and prices
- Current tax rates (rates are applied from the active tax configuration, not snapshots)
- The schedule's configured issue date and calculated due date
The generated invoice starts as a draft without a document number. It receives a document number from the invoice sequence only when finalized.
Auto-send
If auto-send is enabled, the generated invoice is immediately finalized (assigned a document number from the invoice sequence) and emailed to the customer. No manual review step.
If auto-send is disabled, the generated invoice is created as a draft. You can review, edit, and finalize it manually. The document number is assigned at finalization, not at generation.
Pause and resume
Pause a recurring schedule to stop generating invoices without deleting the schedule. Resume it to continue from the next scheduled date.
Next invoice indicator
Active schedules show the next invoice date on the recurring invoice detail page.
Catch-up behavior
If your server misses a scheduled date (downtime, cron not running), InvoiceScript generates one invoice per run on the next cron cycle. It does not batch-create multiple missed invoices at once. This prevents your customer from receiving a burst of back-dated invoices.
Requirements
Recurring invoices require a cron job running php artisan schedule:run every minute on your server. Without cron, schedules do not fire automatically.
On shared hosting, set up a cron job in cPanel or Plesk. See CLI Commands for the command.
Permissions
- Owner and Admin: can create and manage recurring schedules
- Employee: can create recurring schedules
Related pages
Ready to build?
One-time purchase. Self-hosted. Own every file forever.