When ERPNext auto repeat fits recurring documents
Finance and operations teams often re-key the same orders, invoices or journals every month, such as a standing purchase order for office services or an accrual that is reversed and rebooked on a schedule. ERPNext Auto Repeat creates documents automatically at a set period, which removes the manual copy step and the risk of a month being skipped. Since version 12, any form can be customized to make its documents repeatable, so the feature is not limited to a fixed list of document types. As an illustrative example, a monthly deferred expense Journal Entry can be generated on the same day each month, with the same accounts, cost center and amounts, instead of being rebuilt by hand. Confirm in your own version which document types expose the repeat option and which fields are copied into each generated document, because a copied field that should change each period (for example a posting date or reference) will repeat unchanged if you do not plan for it.
Auto Repeat does not replace customer billing logic. If you invoice customers on a contract cycle, with plan pricing, proration, tax treatment and renewal handling, the Subscription and recurring billing feature is the better fit, and it should be assessed separately before you build repeat rules for customer invoices. Auto Repeat is a document copier, so it will not manage plan changes, mid-cycle cancellations or pro-rated amounts on your behalf. Decide early which recurring document types belong to Auto Repeat and which belong to a subscription process, and record that split so it does not drift over time.
Ownership matters as much as configuration. Each repeating document should have a named owner in finance or operations who approves the template, reviews the generated documents and can stop the rule when the underlying contract or cost ends. Restrict who can edit repeating templates through roles and permissions, and confirm with your administrator who receives notifications for generated documents, since emailed copies go to recipients you configure. Ask your implementation team to document the rule inventory, including the end date for each rule, so that a stale accrual does not keep posting after the business reason has gone.
Which documents teams repeat and why
Repeated sales orders suit customers who buy the same goods or services on a fixed rhythm, such as a monthly replenishment of consumables or a standing service visit. The team gains a predictable order book, fewer manual entries and a consistent starting point for fulfilment planning. The repeated copy inherits the items, quantities, rates and delivery terms of the original, so any change in price or stock position must be reviewed before each cycle.
- Price drift: Confirm whether the rate is copied as a fixed value or refetched from the price list when the document is created.
- Stock availability: Check reservations and planned deliveries, since a copied order does not confirm that items are still available.
- Customer credit status: Verify that the customer is not blocked or over limit at the time the order is generated.
- Delivery dates: Review whether the repeat frequency aligns with the customer's receiving schedule and holiday calendar.
- Contract changes: Ask who owns updates to quantities when the customer agreement changes mid-term.
Before relying on repeated sales orders, confirm with a test customer which fields carry over and who approves each generated order.
Repeated invoices fit fixed monthly recharges, retainers, rent-style charges and standing supplier bills that arrive on a known schedule. The team gains timely billing and fewer forgotten cycles. Because an invoice posts to the ledger and tax reports, the repeated copy must be correct on its own, not just a copy of the last period. Subscription-style billing with plan pricing and proration is a separate feature and is covered elsewhere.
- Tax treatment: Check that tax templates still apply, especially where rates or exemptions change between periods.
- Accounts and dimensions: Confirm income, receivable and payable accounts, along with cost centers or dimensions, still match the business activity.
- Usage-based amounts: Recognize that a copied invoice repeats the original amount, so variable charges need a manual or scripted update.
- Submission behavior: Decide whether generated invoices post automatically or save as drafts for review.
- Customer and supplier master data: Verify bank details, addresses and contacts before each cycle, particularly for supplier invoices.
Before a repeated invoice posts, reviewers should confirm the amount, tax and accounts on the first generated copy.
Repeated journal entries serve situations such as releasing a prepaid expense over several months, recording a fixed monthly accrual or reversing an entry on a schedule. The team gains consistent period postings and an audit trail that shows the same logic applied each cycle. Journal entries affect the general ledger directly, so the accounts, amounts and posting dates must support the accounting policy the finance team has approved.
- Deferred expense release: For example, an illustrative prepaid software fee released evenly over twelve months needs the amount per period, the prepaid and expense accounts and the end date recorded in the schedule.
- Accrual reversal: Confirm that the original accrual is reversed when the actual invoice arrives, or the expense is counted twice.
- Period status: Check that the target fiscal period is open, since a closed period will block or misplace the posting.
- Currency and exchange rates: Verify how foreign currency amounts are converted at each repeat.
- Approval evidence: Ask finance who signs off on a standing entry and whether the schedule needs periodic review.
Before a recurring journal goes live, finance should agree the schedule and reversal logic in writing and test one full cycle.
Standing purchase orders cover regular supplies from a known vendor, such as consumables, maintenance contracts or cleaning services. The team gains fewer repetitive requisitions and a steady flow of orders to suppliers. Because a repeated purchase order commits spend and may trigger goods receipts, it carries more risk than a repeated invoice, and budget and approval checks should apply to each cycle.
- Budget headroom: Check that spending limits or budgets still have room before each order is created.
- Supplier terms: Confirm current prices, lead times and any agreement that governs the vendor relationship.
- Approval routing: Verify that generated orders reach the approver who would have reviewed a manual order, especially above certain amounts.
- Demand changes: Review quantities against actual consumption, since a fixed order can overstock or run short.
- Supplier status: Confirm the supplier is still active and approved for use.
Before relying on standing orders, procurement should confirm which approvals apply to generated orders and who reviews quantities each period.
Auto Repeat options and when each one fits
This table walks through the Auto Repeat settings you will configure on each recurring document, from the reference document to the email and custom form options. Read each row as a decision: what the field controls, when it fits, and what to confirm in your ERPNext version before you rely on it.
| Setting | What it controls | When it fits and what to confirm |
|---|---|---|
| Reference document | The DocType Auto Repeat copies, such as a Sales Order, Purchase Invoice or Journal Entry | Choose the document that is the true source of the recurring work. Confirm the DocType is enabled for Auto Repeat in your version before designing the process around it. |
| Frequency | How often a new document is generated, such as daily, weekly, monthly or yearly | Match it to the business rhythm, for example a monthly deferred expense journal. Confirm the full list of frequency options in your release. |
| Start date | The date from which the first repeated document is created | Set it to the first posting period you need, not the date the setup was entered. Check how backdated postings interact with closed periods. |
| End date | The date after which no new documents are generated | Use it for fixed-term contracts or amortization schedules with a known last period. Leave it open for ongoing supply or service orders you review periodically. |
| Number of occurrences | A cap on how many documents are generated, if your version offers this field | Useful for finite schedules. Confirm whether the field exists in your version, since many setups rely on the end date alone. |
| Email generated documents | Sends each created document to the configured recipients | Fits customer invoices or supplier orders that must leave the system. Confirm your outgoing email account and print format before enabling it, and avoid sending internal journals. |
| Repeatable custom form | Makes a customized DocType eligible for Auto Repeat, so custom forms can repeat too | Use it when your team has built a custom DocType that needs scheduled creation. Test the generated record end to end, because custom validations run on each copy. |
| Subscriptions instead | Recurring customer billing through Subscription Plans and subscription records | Consider this for ongoing customer billing with plan pricing, proration or billing intervals. Compare the features in your version against your billing rules before choosing. |
Setting up Auto Repeat in ERPNext
This sequence takes a single source document from a checked version and a repeatable form to a tested scheduled cycle that creates the expected copies. Each step closes with a check, so the team knows what to verify before the first live document is generated.
Confirm the ERPNext version
Finance or platform owners confirm that the site runs a version still supported by Frappe, which currently means version 15 or 16, since version 14 reached end of life on January 31, 2026. Read the Auto Repeat behavior for that release in the ERPNext Auto Repeat documentation before configuring anything. Check: the version shown on the site matches the release your team has tested, and any gaps between the docs and your version are written down for the partner or internal admin to resolve.
Enable repeat on the source DocType
On a non-production copy of the site, an administrator opens Customize Form for the DocType to be repeated, such as Journal Entry, and turns on the setting that allows auto repeat for that form. Since version 12, any form can be made repeatable, so the change is a configuration rather than a code fork. Save and reload the form. Check: the Auto Repeat option appears in the menu of a saved draft of that DocType, and the customization is listed so it can be exported with the rest of your site configuration.
Create and validate the source document
A finance user builds one complete source document, for example a monthly deferred expense Journal Entry with accounts, cost center, amounts and posting details filled in. Decide with the controller whether the original is submitted or left as a draft, since that choice affects how copies behave. Check: the source document saves and validates without errors, and every field that should carry into each future copy, including dates that will need to roll forward, is reviewed.
Set frequency and schedule dates
From the source document, the user opens Auto Repeat and sets the frequency, start date and end condition that match the business agreement or accounting schedule. Confirm each field's meaning in your version, because end dates and repeat counts are easy to misread. Check: the Auto Repeat record shows an active status and the next scheduled date you expect, and a second reviewer confirms the full schedule against the source contract or accounting plan before saving.
Decide on emailing generated documents
The process owner decides whether each generated document is emailed, who receives it, and whether it is submitted automatically or waits for review. Confirm in your version what the notification and submit options do, and whether recipients need a valid email on their user or contact record. Check: the recipient list is approved by the document owner, and a test address on the non-production site receives the email format and attachment expected.
Run a test cycle through the scheduler
On the test site, the administrator moves the schedule to a run date that falls in the test window, or triggers the scheduled job as your deployment allows, and confirms the scheduler and background worker processes are running. Frappe Docker deployments run these as separate services, so a stopped worker stops the cycle. Check: the expected draft or submitted document appears with the right date, amounts and link back to the source, the Auto Repeat log shows no errors, and the outcome is signed off before go-live.
Controls that stop recurring documents going wrong
Auto Repeat runs without a person clicking save, so every generated Journal Entry, Sales Order or Sales Invoice carries the settings of the rule that created it. The cards below cover the controls to set and test before the schedule goes live, and the checks to repeat when a rule changes.
Limit who can create repeat rules
Making a DocType repeatable is a configuration choice that affects every future document of that type. Decide which roles can enable repeat on a form and which can edit an existing schedule, then confirm that users outside finance cannot switch on repeat for sales or purchase documents. Review the role permissions on the Auto Repeat DocType itself before go-live, and record who approved each recurring template.
Review generated drafts before posting
Confirm whether each repeated document is created as a draft or submitted automatically in your setup, and test this with a copy of your data. If generated documents are drafts, assign a reviewer and a review window before the period closes. A monthly deferred expense Journal Entry that posts with the wrong amount affects every later period it touches, so reviewers should check amounts, dates and accounts on the first few runs.
Set end dates and owners for schedules
Every repeat rule needs a defined end date or a named owner who reviews it on a fixed cadence. Schedules for contracts, leases and deferred expenses often outlive the agreement behind them. Ask the business owner to confirm the expected last run, and check that the rule stops when the source contract ends. Keep a register of active rules outside ERPNext so the finance team can reconcile it at each period close.
Prevent duplicate generated documents
A rule that is paused, restarted or copied can generate the same period twice. Before enabling a rule, check existing documents for the same customer, supplier or account and period, and decide who may correct a duplicate by cancelling it. Test restart behavior on a staging site, because a rule resumed after a pause may catch up on missed dates. Document the steps your team follows for each case.
Check tax and account mappings
Repeated invoices and journals copy the tax templates, item defaults, income and expense accounts and cost centers from the source document. Changing a tax rate, a chart of accounts entry or a default cost center later does not update rules that were already created. Confirm each template against current rates and accounts, and re-check the rule after any tax or chart change. Ask your tax advisor to confirm the treatment for recurring invoices in your jurisdiction.
Confirm email recipients and sending
When Auto Repeat emails the generated document, the recipients come from the customer, supplier or contact on the document. Check that contact records are current, that shared mailboxes are used where intended, and that outgoing email is configured on the site. Test with an internal address first. Confirm who receives copies of journals and internal documents, since these may contain figures that should not reach external contacts.
When Subscriptions fit customer billing better
Auto Repeat is a document copier, while Subscription Plans is a billing model. Auto Repeat takes any submitted document, including a customer Sales Invoice, and creates a new copy on a schedule. It knows nothing about a customer's contract: it does not calculate prorated amounts for a mid-period start, switch price lists at renewal, or track which plan a customer is on. Subscriptions, by contrast, attach a Subscription Plan to a party and generate recurring invoices from that plan's pricing, billing interval and tax and discount settings. When customer billing is the goal and the price can change, starts mid-cycle or needs a clear status (active, cancelled, past due), the Subscription workflow is the closer fit. Auto Repeat remains the better tool for internal or fixed repeats such as a deferred expense Journal Entry.
Decide on pricing, proration and invoice timing before you choose. Ask whether each customer pays a fixed price, a price list rate or a prorated amount, and whether the first invoice is raised at signup or at the start of the billing period. These choices determine whether a copied invoice would be wrong on its second run. Confirm in a test site how each option behaves when a customer upgrades or cancels mid-cycle, and how tax and discounts are carried into generated invoices. Supplier subscriptions follow the same logic on the purchasing side, so check whether your recurring vendor costs need the same controls or a simpler repeat.
Plan the review and the handover. Whichever mechanism you choose, someone must own the schedule, the exception list and the reconciliation of generated invoices against contracts. The detailed setup of Subscription Plans, billing intervals and the point at which Stripe subscriptions may be a better fit is covered in the ERPNext subscriptions and recurring billing topic, so read that before finalizing the design. Confirm the exact fields and behavior against your ERPNext version, since the Subscription features and their settings may differ between releases.
Security and operational considerations
Auto Repeat runs unattended, so the controls around it matter as much as the setup. The cards below cover who can change repeat settings, how generated documents are traced, whether the scheduler is actually running them, and whether the emails reach the right people. Review them before the first template goes live and again after each ERPNext upgrade.
Role permissions for repeat settings
Making a DocType repeatable and editing its frequency and end date change what the system posts on your behalf. Limit who can set up or edit repeat templates to a small finance or systems group, and confirm that regular users cannot switch repeat on for a form they can submit. Review the roles that can edit submitted or generated documents, since a change to the template's end date or recipient list affects every future run. Keep the list of people who can edit repeat templates short and named.
Audit trail for generated documents
Each run creates a real journal, invoice or order, so each one needs to trace back to the template that produced it. Check that generated documents show their source Auto Repeat record and that the version history of the template is preserved when someone edits it. Ask the finance lead how a reviewer would answer which template created a given entry and when its settings last changed. Decide in advance whether generated documents are reviewed before submission or only after posting.
Scheduler and background job health
Auto Repeat depends on the scheduler and background workers running on time. If the scheduler stops, repeated documents are not created and nothing alerts the team by default. Confirm that the scheduler and worker services are monitored in the same way as other production services, and that someone checks the background job queue after maintenance windows and restarts. Test a template with a near-future date in a staging site to confirm the full chain works before relying on it.
Email delivery configuration
When an Auto Repeat template emails generated documents to customers or suppliers, the outgoing mail setup is part of the control set. Confirm the Email Account used for these messages, the sender address and the reply-to address, and check that bounces reach a mailbox someone reads. Send a test to an internal address before enabling customer recipients. Check that the recipient list on each template matches current contacts, so documents do not go to former staff or closed accounts.
Server scripts disabled by default
Some teams extend Auto Repeat with Server Scripts to change values or add validation. From version 15, Server Scripts are disabled by default and must be enabled through the server_script_enabled setting. Confirm whether your hosting allows this setting at all, since Frappe Cloud public shared benches do not allow Server Scripts. Treat any enabled script as code that needs its own review, change control and testing before it runs against live recurring entries.
Questions buyers ask before setting up auto repeat
What does auto repeat cost to set up in-house compared with a partner?
Setting up Auto Repeat in-house costs mainly the staff time of the people who configure it, test it and keep it running, and the cost of any hosting you already pay for. Working with a partner adds a written fee for the agreed scope. The main drivers are how many documents need to repeat, whether the repeating forms are standard ERPNext forms or customized ones, how many approvers and email recipients are involved, and whether the setup sits alongside other work such as chart of accounts changes. ERPNext itself is free and open source under GPL-3.0, so licensing is not a line item. Ask any partner for a quote that lists each repeating document type, the testing included, and what happens after go-live.
How long does an Auto Repeat setup take, and what does it depend on?
The duration depends on how many document types need to repeat, how complex their rules are, and how much testing your accounting team needs before trusting the output. A single standard recurring journal can be configured quickly, while a set of customized forms with email delivery and reviews takes longer. Your own schedule matters too: period close dates, access approvals and the availability of the finance reviewers who sign off test documents. Confirm timelines with the partner in the written scope rather than relying on a general estimate, and ask which parts depend on your team's responses.
What must our team provide before the setup starts?
Your team needs to supply a clear list of the documents that should repeat, with the accounting purpose, amount logic, frequency, start and end dates, and the accounts and cost centers involved. Finance should confirm who approves each generated document, and whoever owns the ERPNext environment should confirm the version in use and the access model. You also need a test environment or a sandbox site where generated documents can be reviewed without touching live ledgers. Provide sample source documents, such as an existing deferred expense schedule, so the expected output can be checked line by line.
Can a finance user set up Auto Repeat without developer help?
A finance user with System Manager or an equivalent role can enable Auto Repeat on a supported document type and set its frequency, dates and recipients through the desk. Standard forms that already allow repeating are usually within reach of a trained finance user. Developer help becomes necessary when a form must be customized to become repeatable, when generated documents need values calculated by a script, or when the environment restricts scripts. Note that Server Scripts are disabled by default from version 15 and must be enabled with the server_script_enabled setting, and Frappe Cloud public shared benches do not allow them. Confirm which of these applies to your site before assigning the work.
When should we use Subscriptions instead of Auto Repeat?
Use Subscriptions when the goal is recurring customer billing, with a plan, a fixed or prorated price, billing intervals and invoices that follow the customer's contract. Auto Repeat fits better for internal or general recurring documents, such as a monthly deferred expense Journal Entry or a standing purchase order that is not tied to a customer plan. Subscriptions manage the customer lifecycle, including changes of plan and cancellation, which Auto Repeat does not model. If you bill customers on recurring terms, read the ERPNext Subscriptions guidance and compare it against your billing rules before choosing. Where customers pay by card on a recurring schedule, also weigh whether a payment platform such as Stripe handles that better.
How should we test Auto Repeat before go-live?
Test on a non-production site with copies of representative documents, then run the repeating schedule forward across several periods, including a month-end, a leap-day or irregular month if relevant, and the end date. Check that each generated document has the right amounts, accounts, cost centers, taxes and dates, and that email recipients receive the correct copy. Confirm that a generated entry can be reviewed and submitted through your normal approval path, and that stopping or editing the schedule behaves as your policy requires. Record the results and have finance sign off before enabling the schedule on live data.
Who maintains the schedules after go-live?
Someone in finance must own the list of active schedules, review generated documents on a regular cycle and update the schedule when contracts, rates or accounts change. The platform team owns the environment, including upgrades, backups and any scripts that support custom repeatable forms. Record both owners in your runbook. If you use a partner, check whether ongoing support or a retainer covers schedule reviews and upgrades, since those duties recur after the one-time setup. DeployOpen offers support and upgrades as retainers, and the scope for those is agreed in writing.
How DeployOpen scopes and delivers recurring document automation
DeployOpen plans and implements ERPNext auto repeat inside your own infrastructure, starting from the documents you need to repeat and the controls that must approve them. Engagements are fixed-scope, so the repeating documents, their schedules and their acceptance tests are agreed in writing before any configuration begins.
How we scope
- Inventory every document that should repeat, such as sales orders, sales invoices and monthly journal entries
- Record frequency, start and end dates, and who owns each recurring schedule in the written scope
- Confirm whether customer billing belongs in Auto Repeat or in Subscriptions, based on how invoices are priced
- Agree which generated documents must be emailed, to whom, and with which print format
How we build
- Enable repeatability on the agreed DocTypes and configure Auto Repeat records against a staging copy of your data
- Set posting dates, tax templates and accounts so generated documents match your chart of accounts
- Test each schedule across a full period end, including documents that fall on weekends or month boundaries
- Review permissions so only the right roles can create, change or stop a repeating schedule
How we hand over
- Document every configured schedule with its owner, frequency, end date and the people who receive its emails
- Provide a runbook for pausing, editing and stopping repeats, and for checking that the scheduler is running
- Walk your finance and operations staff through reviewing generated drafts before they are submitted
- Keep configuration in exported customizations so changes can be reviewed and moved between environments
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after go-live
- Re-check schedules during ERPNext minor and major upgrades, since repeated documents depend on DocType behavior
- Ask any support provider to confirm how scheduler failures and missed runs are reported in your environment
- Agree in advance who reviews generated documents during month-end and how exceptions are escalated

