A recurring template creates the same transaction on a schedule: a monthly retainer invoice, a weekly sales receipt, rent bills, subscription expenses or a monthly accrual journal. You build the template once, and SolaCount generates real documents on each due date, either as drafts or posted straight to the ledger.
Where to find it
| Template type | Navigation | URL |
|---|---|---|
| All templates | Settings → Recurring Transactions → All Templates | /recurring/templates |
| Templates needing attention | Click the counter badge on All Templates | /recurring/templates?attention=1 |
| Recurring invoices | Sales → Recurring → Recurring Invoices | |
| Recurring bills | Purchases → Recurring → Recurring Bills | |
| Recurring expenses | Purchases → Recurring → Recurring Expenses | /recurring/templates?type=direct_pay |
The page is titled Recurring Transactions, with the subtitle "Automate repeating eligible finance documents".
Template types, features and plans
| Type | Feature that must be enabled | Minimum plan |
|---|---|---|
| Invoice and Sales Receipt | Recurring invoices | Free |
| Expense | Recurring expenses | Standard |
| Bill | Recurring bills | Professional |
| Journal Entry | Recurring journals | Professional |
- These features are off by default. Turn them on in Settings.
- If a type is not enabled, its screens return "forbidden", and scheduled runs fail with "Recurring generation is not enabled for {type} documents in this organization."
- Your plan also limits how many recurring templates you can have.
The template list
| Column | Meaning |
|---|---|
| Name | Template title |
| Type | Invoice, Sales Receipt, Bill, Expense or Journal Entry |
| Frequency | For example "Monthly, every 1" |
| Next Run | Next scheduled date |
| Last Run | Date of the last generation |
| Status | Active, Paused or Cancelled |
The status filter shows the raw values active, paused and cancelled.
Each row has a ⋯ menu with View, Edit, Run History, Generate Now, Pause, Resume and Stop.
When the list is empty, you see "No recurring transactions yet" and a Create Your First Template button.
Create a template
Click New Template (top-right). The first screen asks What type of transaction?. Pick a type, then choose how to start.
Option A: from an existing document (Make Recurring)
This is the fastest route when you already have a correct document.
- Open the invoice, sales receipt, bill, expense or manual journal entry and click Make Recurring. Alternatively, choose Clone existing in the chooser and search for the document.
- Enter a Template name. The Document Details section shows what was cloned from the source.
- Set the schedule (see Schedule fields) and save.
The template keeps a snapshot of the source. Each run generates from that snapshot, so later edits to the original document do not change future runs.
Some documents cannot be cloned:
- Only manual journal entries can be cloned: "Only manual journal entries can be made recurring."
- An invoice without a customer: "This invoice has no customer, so it cannot be made recurring. Set a customer on the invoice first."
- An expense without a payment account: "This expense does not have a payment account. Add/fix the payment account on the original expense before creating a recurring template."
- A sales receipt without a deposit account: "This sales receipt does not have a deposit account. Add/fix the deposit account on the original sales receipt before creating a recurring template."
Option B: from scratch
- In the chooser, pick Invoice, Sales Receipt, Bill or Expense, then choose from scratch.
- The form opens in Recurring Template Mode: "This saves a recurring template only — no document, document number, payment or posting is created now. The schedule generates real documents later."
- Fill in the customer or supplier, the lines and the accounts, as you would on the normal document.
- Set the schedule and click Save Recurring Template.
Attachments are not supported on templates. You can add them to each generated document later.
Journal entry templates
For Journal Entry you choose Clone existing or From scratch.
- From scratch uses an inline form with Template title, Reference (optional), Memo (optional) and balanced debit and credit lines.
- The same rules as manual journals apply: no VAT or inventory accounts, and leaf accounts only.
Validation messages
- "At least one line with a value is required."
- "At least one expense line is required."
- "A payment (cash/bank) account is required."
- "A deposit (cash/bank) account is required."
On success you see "Recurring template created." or "Recurring template updated."
Source document details
Open a template to see Source Document Details: the source Number, the counterparty, the date and the status.
- For a recurring bill or expense the counterparty is the supplier name. It is read from the supplier saved on the template, including expense templates (which store the supplier as the vendor), and only from suppliers of your own organization. If the supplier is missing the field is blank rather than showing another organization's record.
- The Status shows Recurring Template when the source is a protected recurring source created for this template, and shows the document's real status (for example Draft, Posted, Paid) when the template was cloned from an ordinary document. An ordinary document is never relabelled as a template.
- The source document keeps its own number; generated documents get new numbers from the normal sequences.
The recurring screens (chooser, form, template page, run history) are fully translated, including Arabic with right-to-left button order. Weekday names in the schedule use short names (Mon to Sun). The schedule options themselves are unchanged and are described below.
Schedule fields
These fields are in the Recurring Schedule panel.
| Field | Options and notes |
|---|---|
| Repeat | Daily, Weekly, Monthly, Quarterly or Yearly |
| Every | 1–365. For example, Monthly every 3 means once a quarter. |
| On days | Weekly only: which weekdays |
| On day … of the month | 1–31 |
| If day doesn't exist | Use last day of month (for example the 31st becomes the 30th in a shorter month), or Always last day |
| At time | HH:MM |
| Start date | First possible run |
| End date | Optional ("Leave blank for no end date"). Must be after the start date. |
| Max occurrences | Optional. Leave it empty for Unlimited. |
| Timezone | Defaults to Organization default |
| When generated | Create as Draft or Create & Auto-Post. "Auto-post will immediately post to the general ledger." |
| If period is closed | Fail (manual resolution) or Shift to next open period |
There is no option to email generated invoices to customers automatically. Generated documents are sent the usual way, from the document.
Tax mode
Invoice, receipt, bill and expense templates store their own tax mode (inclusive or exclusive) and apply it to every line. Changing your organization's default tax mode later does not affect existing templates. Journal templates have no tax.
Foreign-currency journal templates
A journal template in a foreign currency needs a deliberately approved rate. In the Foreign-currency approval panel:
- Enter the Approved exchange rate ("Required — no default is accepted").
- Tick I deliberately approve this rate for the scheduled occurrences.
- Approving the rate does not start the template. Click Resume to activate it.
Until you do, you see "Enter and approve the required exchange rate before activating this template." or "This template is approval-guarded. Approve its exchange rate and activate it separately before generation."
How generation works
- SolaCount checks for due templates every minute.
- Each due template produces one document dated on the scheduled date, in the template's timezone.
- Create as Draft leaves the document in Draft for you to review and post.
- Create & Auto-Post posts it with exactly the same accounting as posting by hand.
- Each slot is generated only once. A slot that already succeeded is never generated again, and journal templates also refuse to create an identical journal twice.
- After each run, the remaining occurrences go down by one. At zero, or once the end date has passed, the template is cancelled automatically.
- If period is closed → Shift to next open period dates the document on the first day of the next open period. If none exists, the run fails with "Cannot generate recurring document: no open accounting period available…"
- If release approval for recurring documents is on, the run submits an approval proposal and is recorded as Skipped.
- If template approval is on, creating or editing a template submits a proposal: "The proposed change was submitted for approval and has not been applied." See Workflow approvals.
When a run fails
When a run fails:
- A Failed run is recorded with the error.
- The template is paused, and the next run date stays where it was.
- An in-app notification is sent: "Recurring {Type} paused: {title}". It goes to the template's creator, or to users who can create templates if the creator no longer exists.
- The template appears in the Recurring needing attention counter.
Failure notices are in-app only; no email is sent. Successful runs also send an in-app notice: "Recurring {Type} generated (No.)".
If a template has a broken setup, such as an inactive or header account, you see "This template has setup issues and cannot generate until fixed." Edit the template, choose a postable leaf account, then click Resume.
Sales templates (recurring invoices and sales receipts) have three extra checks at generation time:
- Archived customer. If the customer was archived after the template was made, the run fails with "This customer is archived and cannot be used in a new transaction." (shown in your language). Restore the customer or edit the template.
- Unavailable item. A template line that uses an item that is no longer active (or no longer available for sale) is refused in the same way as on a manual document; choose a current item and resume.
- Stock-managed items (SolaStock-connected organizations). A recurring invoice that is auto-posted is posted with the template's creator recorded as the person behind the run, but nobody is present to choose between an existing open SolaStock order and new demand. If SolaStock already has an open, unshipped order for that customer, the invoice is posted and its warehouse demand is held until someone opens Choose Stock order on it. See Invoice dispatch and SolaStock fulfilment.
Manage a template
| Action | Where | Result |
|---|---|---|
| Pause | ⋯ menu or detail page | "Template paused." It must be active ("Template is not active."). A manual pause also counts as needing attention. |
| Resume | ⋯ menu or detail page | "Template resumed." The error is cleared. If the next run date has passed, it is recalculated from now. Missed runs are not caught up. |
| Stop | ⋯ menu | Confirm "Stop this recurring transaction? This cannot be undone." You see "Template cancelled." |
| Generate Now | ⋯ menu or detail page | Creates one document immediately without moving the schedule, and resumes a paused template. You see "Document generated successfully." or "Generation failed: {error}". Cancelled templates cannot be generated. |
| Edit | ⋯ menu | Changes apply to future runs only |
The detail page shows the schedule, Remaining runs, Creates draft or Auto-post, the Last error:, and a Run History preview with a View All link.
Run History
| Column | Meaning |
|---|---|
| Status | Success, Failed, Skipped or Pending |
| Scheduled For | Slot date |
| Generated At | When it ran |
| Document | Link to the generated document |
| Mode | Draft or auto-post |
| Error | The failure reason |
If the template has never run, you see "No runs recorded yet."
Worked example: monthly retainer invoice
Al Noor Trading LLC bills its client Gulf Horizon Contracting a maintenance retainer of AED 5,000 + 5% VAT on the 1st of each month.
- Open last month's correct invoice and click Make Recurring.
- Set the Template name to "Gulf Horizon retainer".
- Set Repeat to Monthly, Every to 1, On day to 1 of the month, and the Start date to 01-11-2026.
- Leave Max occurrences at 12, When generated at Create & Auto-Post, and If period is closed at Shift to next open period.
- Save.
On 1 November, a posted invoice is generated:
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Accounts Receivable – Gulf Horizon | 5,250.00 | |
| Service Revenue | 5,000.00 | |
| VAT Output (5%) | 250.00 |
After the 12th run, the template cancels itself.
A monthly depreciation journal works the same way. Create a journal template with Dr Depreciation Expense 1,500 / Cr Accumulated Depreciation 1,500, Monthly, on the last day of the month (Always last day), set to Create & Auto-Post.
Permissions
| Action | Permission |
|---|---|
| View templates | recurring.view |
| Create, clone and Generate Now | recurring.create |
| Edit | recurring.edit |
| Pause, resume and stop | recurring.pause |
| View run history | recurring.runs.view |
Tips
- Use Create as Draft for amounts that change each month; you review and post each draft.
- A failed template stays paused until you fix the cause and click Resume. Watch the needing attention counter.
- Resuming after a long pause does not create the missed documents. Use Generate Now for each one you need.