Browse the manual
Recurring invoices
Automate invoice generation with schedules that create invoices each day, week, or month.
On this page
For: business owners billing the same customer on a regular schedule. Where: Recurring in the navigation. Owners, admins and employees see it.
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. Made with Pepper creates a new draft, or issues and emails an invoice, each time the schedule fires.
When a schedule is due:
- Made with Pepper creates one invoice for the stored next invoice date.
- With auto-send off, the invoice stays a draft for review.
- With auto-send on, Made with Pepper issues the invoice and saves its email in the outbox.
- The next invoice date advances from the scheduled date, so the schedule does not drift.
- After saving the invoice and schedule, Made with Pepper attempts the queued email.
Setting up a recurring schedule
- Click Recurring in the navigation.
- Click New schedule.
- Enter a name.
- Select an active customer.
- Select the currency.
- Check the bank account and PDF template.
- Optional: select a Language.
- Under Frequency and duration, fill in the schedule fields:
| Field | Description |
|---|---|
| Every | The interval, from 1 to 365. Required |
| Period | Days, weeks, or months. Required |
| Start date | The date of the first invoice. Required |
| End date | Optional. Leave empty to run indefinitely. Must be on or after the start date |
| Max occurrences | Optional. Leave empty for no limit |
- Add at least one template line item.
- Click Create schedule.
New schedules use the company currency, default bank account and default PDF template. Customer's language uses the customer's Document language. Choose the currency before adding lines; the currency field locks while lines exist.
The template uses the same line fields as an invoice. Description has its own width. Quantity, price, tax and amount come next, followed by Discount, Unit and Line note.
To remove a line, open More actions beside Description. Choose the numbered remove action. Add from catalog opens search below the lines. Cancel or Escape closes it without adding an item.
If a field is invalid, the form shows an error and creates no schedule.
Generated invoices
Each time the schedule fires, Made with Pepper creates a new invoice with:
- The schedule creator as the invoice owner
- The saved bank account and PDF template
- The same customer
- The same currency and decimals, and the same line items, quantities, and prices
- Each line's tax rate as it stands on the generation date. The invoice stores a copy of that rate, so later tax rate edits do not change it
- An issue date equal to the schedule's next invoice date. With auto-send, see the exception below
- A due date equal to the issue date plus the default payment terms from Settings
- The schedule's language, or the customer's Document language when the schedule uses Customer's language
The generated invoice starts as a draft without a document number. Made with Pepper assigns a number from the invoice sequence only when it finalizes the invoice.
Auto-send
With auto-send enabled, Made with Pepper finalizes each new invoice at once and assigns a number from the invoice sequence. It then queues an email through the same outbox as the send dialog:
- Recipients: every active contact with Receives invoices. When there is none, the customer's email address. The primary billing contact is not a fallback. See Who receives emails.
- Content: the Invoice send template in the invoice language, with the issued original PDF attached.
- Result: the invoice page shows the mail server result on its Delivery tab. A temporary failure gets the same retries as any other email.
If nobody can receive the email, the invoice stays issued and Made with Pepper sends nothing. The Email history of the invoice shows "Not sent: no recipient accepts this email." Fix the contacts, then click Send invoice on the invoice.
Invoice numbers follow issue dates (see Issue dates). A scheduled date can be earlier than the latest invoice in the sequence. This happens after a missed run, or after you finalize a later invoice by hand. In that case Made with Pepper uses the latest issue date instead, and moves the due date by the same number of days. The invoice detail page then shows Scheduled for with the original date. The schedule's next invoice date still counts from the scheduled date, so the schedule does not drift.
Example: a monthly schedule is due on 1 October. The scheduler did not run, and you finalized an invoice dated 3 October by hand. On 4 October, Made with Pepper issues the scheduled invoice dated 3 October, scheduled for 1 October, due 2 November with 30-day terms. The next invoice date becomes 1 November.
If the scheduler and Generate now start the same occurrence at the same time, Made with Pepper creates one invoice.
With auto-send disabled, Made with Pepper creates each invoice as a draft with the scheduled date. You can review, edit, and finalize it. Made with Pepper assigns the document number at finalization. The normal issue date rules apply: if the error names a later date, change the issue date and finalize again.
Pause and resume
Pause a recurring schedule to stop generating invoices without deleting the schedule. Resume it to continue from the stored next invoice date.
If that date passed while the schedule was paused, Made with Pepper creates the missed invoices after you resume. It creates one missed invoice per daily run, with the original issue and due dates. With auto-send, a date earlier than the latest invoice in the sequence moves to that date (see Auto-send).
Next invoice indicator
Active schedules show the next invoice date on the recurring invoice detail page.
Recurring is a table. Each row shows the schedule name, customer and currency, the frequency, the next invoice date, the number of generated invoices and the status. A paper plane icon marks a schedule that emails its invoices.
Search matches the schedule name. Use the All, Active and Paused tabs above the list. They stay visible at every screen width and show the schedule counts. Search sits below them. When a search has no matches, Clear filters removes the search and keeps the schedule tab.
Click a schedule name to see its cadence, saved lines and generated invoices. The generated list contains actual invoices only. Return through Recurring above the record to keep your filters and focus the same schedule.
Monthly dates
Monthly schedules keep the day of the start date. A start date at month end keeps month end: 31 January → 28 February → 31 March in 2026. A start on 30 January uses 28 February, then returns to 30 March. A start on 28 February 2026 is a month-end schedule, so March uses the 31st.
Catch-up behavior
If your server misses a scheduled date, Made with Pepper generates one due invoice per run. Each run starts at 06:00 in the Business timezone from Settings > Company. Downtime or a stopped cron job can cause missed runs. It does not batch-create multiple missed invoices at once. An authorized person can use Generate now to catch up sooner. Each run can queue an email when auto-send is on.
Failed generation
The schedule shows its last attempt and a failure notice. Check that the customer is active and the template has valid line items. Correct the cause, then use Generate now to retry. Settings > Email and Settings > Reminders show the last start, completion, success and failure of each scheduled job.
Requirements
Recurring invoices require a cron job running php artisan schedule:run every minute on your server. Without cron, Made with Pepper cannot create invoices on a schedule. The same cron job sends the queued auto-send emails.
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 all recurring schedules and see every generated invoice.
- Employee: can create schedules and manage the schedules they created. Generated invoices keep the schedule creator as their owner, so employees can open invoices from their own schedules.
- Accountant: has no access to recurring schedules.
Related pages
Need help with the product?
Contact support