Recurring Invoices

Automate invoice generation with recurring templates for regular clients

4 min read Updated Jan 12, 2025

Recurring Invoices

Recurring Invoices let you create templates that automatically generate invoices on a schedule. Perfect for retainer clients, subscriptions, and regular billing.

Overview

With recurring invoices you can:

  • Automate billing — Generate invoices automatically
  • Flexible scheduling — Weekly, bi-weekly, monthly, quarterly, or yearly
  • Auto-submit to LHDN — Optionally submit e-invoices automatically
  • Track generation history — See all invoices created from a template

Getting Started

Accessing Recurring Invoices

Navigate to Accounting > Recurring from the main menu.

Creating Your First Template

  1. Click New Template
  2. Enter a Template Name (e.g., "Monthly Retainer - Acme Corp")
  3. Select the Customer to invoice
  4. Configure the schedule
  5. Add line items
  6. Click Create Template

Creating Templates

Basic Information

Field Description
Template Name Descriptive name for the template
Customer The customer to invoice
Description Optional notes about the template

Schedule Settings

Setting Description
Frequency How often to generate invoices
Start Date When to start generating
End Date Optional end date for the template

Frequency Options:

  • Weekly — Every 7 days
  • Bi-weekly — Every 14 days
  • Monthly — Same day each month
  • Quarterly — Every 3 months
  • Yearly — Once per year

Invoice Options

Option Description
Invoice Number Prefix Prefix for generated invoice numbers (e.g., "REC")
Auto-Submit Automatically submit to LHDN after generation

Line Items

Add the products or services to invoice:

  1. Click Add Item
  2. Select a Product (optional but recommended)
  3. Enter description
  4. Set quantity
  5. Set unit price
  6. Select tax type

The template calculates and shows the total amount.

Product Sync

When you link a line item to a product, you can enable automatic syncing:

Option Description
Sync Price Automatically update unit price when product price changes
Sync Tax Automatically update tax rate when product tax changes

Benefits:

  • Update product prices once, all templates update automatically
  • No need to manually edit each recurring invoice
  • Tax rate changes apply to all linked templates

To disable sync for a specific item, uncheck the sync options. The item will keep its current values even if the product changes.

Managing Templates

Template Actions

Action Description
Generate Now Immediately create an invoice from this template
View History See all generated invoices and failures
Pause Temporarily stop automatic generation
Resume Resume a paused template
Delete Remove the template

Template Status

Status Icon Description
Active Green check Generating invoices on schedule
Paused Yellow pause Temporarily stopped
Completed Gray check End date reached, no more invoices
Failed Red warning Last generation failed

Next Generation Date

Each template shows when the next invoice will be generated. This date updates after each successful generation.

Generation History

View the complete history of invoices generated from a template.

Accessing History

  1. Find the template in the list
  2. Click the History button (clock icon)
  3. View the history modal

History Statistics

  • Total Generated — Number of invoices created
  • Failures — Number of failed attempts
  • Last Generated — When the last invoice was created

Last Error

If generation failed, you'll see:

  • Error message
  • When the error occurred
  • Number of retry attempts
  • Option to retry manually

Invoice List

For each generation:

  • Invoice number and status
  • Amount generated
  • Date and time
  • Link to view the invoice

Automatic Generation

How It Works

  1. A scheduled job runs daily
  2. Checks all active templates
  3. Generates invoices where nextGenerationDate is today or past
  4. Updates the next generation date
  5. Optionally submits to LHDN if auto-submit is enabled

Failure Handling

If generation fails:

  • Template status changes to "Failed"
  • Error is logged in history
  • You can retry manually via "Generate Now"
  • Fix any issues before resuming

Auto-Submit

When enabled:

  • Invoice is generated as usual
  • Immediately submitted to LHDN
  • E-invoice status is tracked
  • Failures are logged separately

Tips

Best Practices

  • Use clear names — "Monthly Hosting - ABC Company" is better than "Template 1"
  • Set end dates — For fixed-term contracts, set an end date
  • Review history regularly — Catch failures early
  • Use prefixes — Different prefixes help identify recurring vs one-time invoices

Common Use Cases

  1. Monthly Retainers

    • Frequency: Monthly
    • Fixed amount each month
    • Auto-submit enabled
  2. Quarterly Subscriptions

    • Frequency: Quarterly
    • Same start day each quarter
    • Set end date for annual contracts
  3. Weekly Services

    • Frequency: Weekly
    • For ongoing weekly work
    • Review generated invoices before sending

Troubleshooting

Invoice not generated:

  • Check if template is Active (not Paused)
  • Verify the next generation date
  • Check history for errors

Wrong amount:

  • Edit the template line items
  • Changes apply to future invoices only
  • Past invoices are not affected

Customer not receiving:

  • Generated invoices are created as drafts
  • You may need to send them manually
  • Or use auto-submit for e-invoices
recurring invoicesinvoice templatesautomatic invoicingsubscription billingscheduled invoices