Skip to content

Templates & Recurring Transactions

Templates and recurring transactions help automate common transaction patterns in Ledgerly.

Transaction Templates

A template is a saved transaction structure that you can reuse. Instead of manually entering the same transaction repeatedly, you can create a template and apply it.

When to Use Templates

  • Frequent transactions: Same transaction structure used often
  • Complex transactions: Multi-entry transactions that are tedious to recreate
  • Standard patterns: Common transaction types in your workflow

Creating a Template

  1. Go to TemplatesNew Template
  2. Enter:
  3. Name: Descriptive name (e.g., "Monthly Rent Payment")
  4. Description: What this template is for
  5. Entries: Define the account entries (same as a transaction)
  6. Recurring: Check if this should be recurring

  7. Save the template

Applying a Template

  1. Go to Templates
  2. Click the Apply button (▶) on a template
  3. Enter the date for the transaction
  4. The transaction is created automatically

Example Template

Name: "Monthly Rent Payment"

Entries:

Debit:  Expenses:Housing:Rent      $1000.00
Credit: Assets:Bank:Checking       $1000.00

When applied, this creates a transaction with these entries on the specified date.

Recurring Transactions

A recurring transaction automatically creates transactions from a template on a schedule.

Creating a Recurring Transaction

  1. Create or select a template
  2. Go to RecurringNew Recurring Transaction
  3. Configure:
  4. Template: Which template to use
  5. Next Date: When to create the first transaction
  6. Frequency: Daily, Weekly, Monthly, Quarterly, Yearly
  7. End Date: Optional - when to stop (leave empty for indefinite)

  8. Save

Frequencies

  • Daily: Every day
  • Weekly: Every week (same day of week)
  • Monthly: Every month (same day of month)
  • Quarterly: Every 3 months
  • Yearly: Every year (same date)

How Recurring Transactions Work

  1. The system tracks the next date for each recurring transaction
  2. When you execute a recurring transaction:
  3. A transaction is created from the template
  4. The next date is calculated based on frequency
  5. If an end date is set and passed, the recurring transaction becomes inactive

Executing Recurring Transactions

Recurring transactions can be executed:

  • Manually: Click "Execute" on a recurring transaction
  • Automatically: (Future feature - scheduled execution)

Managing Recurring Transactions

  • Activate/Deactivate: Toggle is_active to pause/resume
  • Edit: Change frequency, next date, or end date
  • Delete: Remove the recurring transaction (doesn't delete past transactions)

Best Practices

Templates

  1. Name clearly: Use descriptive names that indicate purpose
  2. Document: Add descriptions explaining when to use the template
  3. Test first: Apply a template manually before making it recurring
  4. Keep simple: Templates should represent one logical transaction

Recurring Transactions

  1. Set end dates: For temporary recurring items (e.g., loan payments)
  2. Review regularly: Check that recurring transactions are still accurate
  3. Deactivate, don't delete: If pausing, deactivate instead of deleting
  4. Verify execution: Check that executed transactions are correct

Example Workflows

Monthly Rent

  1. Create template "Monthly Rent" with rent payment entries
  2. Create recurring transaction:
  3. Template: "Monthly Rent"
  4. Frequency: Monthly
  5. Next Date: First of next month
  6. End Date: End of lease

Weekly Grocery Shopping

  1. Create template "Grocery Shopping" with typical entries
  2. Apply manually each week (don't make recurring - amounts vary)

Salary Payment

  1. Create template "Salary" with income entry
  2. Create recurring transaction:
  3. Frequency: Monthly
  4. Next Date: Next payday
  5. No end date (ongoing)

Limitations

  • Fixed amounts: Templates use fixed amounts (can't vary by date)
  • Manual execution: Currently requires manual execution (automation coming)
  • No conditions: Can't set conditions (e.g., "only if balance > X")

These limitations may be addressed in future versions.