Documentation

Find documentation for our Joomla extensions on this page.

JoomInvoice - Recurring Invoices

If you bill clients on a regular schedule (monthly retainers, subscriptions, maintenance contracts, etc.), recurring invoices save you from creating the same invoice over and over. You set it up once, and JoomInvoice creates new invoices automatically.

Setting Up a Recurring Invoice

  1. Create an invoice with all the details you want to repeat (recipient, items, amounts, etc.).
  2. Open the invoice and go to the Recurrency tab.
  3. Enable Is Recurrent.
  4. Set the Next Recurrence Date - the date when the next invoice should be generated.
  5. Set the repeat interval:
    • Years - Repeat every N years.
    • Months - Repeat every N months.
    • Days - Repeat every N days.
    • You can combine these (e.g., 1 month and 15 days).
  6. Optionally, enable Send Email on Recurrence to automatically email the new invoice to the client as soon as it is created.
  7. Click Save.

Common Intervals

ScheduleYearsMonthsDays
Monthly 0 1 0
Quarterly 0 3 0
Bi-annually 0 6 0
Annually 1 0 0
Every 2 weeks 0 0 14

How It Works

When the recurrence process runs:

  1. JoomInvoice checks for recurring invoices whose next date has arrived.
  2. For each one, a new invoice is created as a copy of the original, with:
    • A new invoice number.
    • Today's date as the invoice date.
    • A recalculated due date (keeping the same gap between invoice date and due date as the original).
  3. The next recurrence date on the original invoice is moved forward by the repeat interval.
  4. If Auto publish recurrent invoice is enabled in Configuration, the new invoice is published automatically.
  5. If Send Email on Recurrence is enabled, the client receives the new invoice by email.

The original invoice acts as a "template" and is never modified (other than its next recurrence date).

Running the Recurrence Process

Recurring invoices are not created in real-time. The process needs to be triggered.

Set up a cron job on your server to call this URL at regular intervals (e.g., daily):

{your_site_url}/index.php?option=com_joominvoice&task=generateRecurring&cronjob_key={your_key}

The cron job key is configured in Configuration > Cron Job key (the default is zz@zt78e). You should change this to something unique for security.

Example cron job (runs daily at midnight):

0 0 * * * wget -q -O /dev/null "https://example.com/index.php?option=com_joominvoice&task=generateRecurring&cronjob_key=your_secret_key"

Option 2: Manual Trigger

You can also trigger the recurrence process manually from the admin panel.

Configuration Options

SettingWhere to Find ItDescription
Auto publish recurrent invoice Configuration > General When enabled, new recurring invoices are automatically published and visible on the frontend.
Cron Job key Configuration > General The secret key required in the cron job URL. Change this from the default for security.

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok