Help Center

Recurring Invoices

For: Anyone who bills the same customer, same items, on a fixed repeat — weekly retainers, monthly rent, yearly AMC

A Recurring Invoice is a saved template plus a schedule. You fill it once, Mark As Active, and Books creates a real Invoice on each due date. Those invoices land as Draft in the Invoices module — this page does not collect payment, apply credit, or generate e-invoices.


What this module does

1. Creating a recurring invoice

Add opens a sales form. Pick Division, then Branch, then Warehouse — the rest stays locked until those three are set. There is only Save. That creates a Draft. It does not start the schedule.

Profile Name: Required. This is the name of the schedule, not the invoice number.

Invoice# (Recurring Invoice number): Auto-generated unless you turn that off under Recurring Invoice Configuration on the form (prefix and next number). That same drawer stores Terms & Conditions. Default prefix is RECI. Locked after save.

Customer and shipping address: Customer must belong to the selected branch. The address has to be one of that customer's own addresses. If they are not on this branch, the form shows they are not available here.

Payment Terms: Required. Copied from the customer when you pick them, or Due On Receipt if the customer has none. Used later to calculate the generated invoice's due date — there is no due-date field on this form.

Price List: Optional. Same customer price-list behaviour as other sales documents, including Include Price List Item Only when that is on for the customer.

Currency and exchange rate: Currency comes from the customer. If it differs from the company base (Settings → Currencies), an Exchange Rate field appears.

Items, discounts, charges, and tax: Line items with quantity and rate. Document discount follows Settings → Discounts — Enable Discount, then Discount Applies On Item Level or Transaction Level. Extra lines such as freight come from Settings → Additional charges on this module. GST (CGST / SGST / IGST) from customer state vs company state. Round-off is on the totals.

Reference, Subject, Customer Notes, Terms: Optional. Terms pre-fill from Recurring Invoice Configuration. All of these copy onto each generated Invoice.

What this Save does not do: No Invoice is created. No stock check or deduct. No ledger. No Current Balance change. No e-invoice. There is no Duplicate and no Convert from Quote / Sales Order / Delivery Challan.

2. Repeat schedule

Repeat Every plus Frequency is how often an invoice is due. Start On cannot be before today. End On must be after Start On, unless Never Expires is ticked — then End On is not required and is disabled.

Repeat Every: Day(s), Week(s), Month(s), or Year(s).

Frequency: How many of that period. 1 Month(s) is monthly. 2 Week(s) is every two weeks.

When the first invoice actually falls: For Day(s), Start On itself is a generation day if the profile is already Active. For Week(s), Month(s), and Year(s), the first generation is Start On plus that frequency — for example Start On 1 Jan, Repeat Every 1 Month(s) → first invoice 1 Feb.

Never Expires: Keeps generating on the pattern with no End On. The profile does not move to Completed on its own.

End On: After a successful generation, if the next due date would fall on or after End On, the profile is marked Completed and stops.

Next Execution Date / Last Invoice Date: Shown on the list and the detail. Last Invoice Date is when an invoice was last generated. Next Execution Date is the next due date from the same pattern.

Note: Changing Start On, End On, or Repeat Every only sticks if the profile is still Draft. Once it is Active you cannot edit the schedule — Pause does not reopen the form.

3. How invoices actually get created

A daily job looks at every Active Recurring Invoice whose End On is still in the future, or Never Expires. If today matches the Start On + Repeat Every pattern, and this date has not already succeeded, it creates one Invoice.

Must be Active: Draft, Paused, Completed, and Cancelled are not picked up. Mark As Active is on the list row and the detail header.

One successful invoice per due date: If today already has a SUCCESS row in Recurring Activities, that date is skipped.

If generation fails: Recurring Activities gets a FAILED row with the error (stock check is a common one). The profile stays Active. See section 7 to retry that cycle.

Paused skips dates: Dates that fell while Paused are not created later. Going back to Active only generates the next date that still matches the original pattern.

Warning: The Recurring Invoice is not itself an Invoice. Payment Received, Apply Credit, Dispatch, and E-Invoice all sit on the generated invoice in the Invoices module — after you send that Draft.

4. Viewing, searching, and the list toolbar

The list and the detail page cover different needs. This list has no Export and no Auto Map.

Finding a profile: Search by Recurring Invoice number, subject, reference, or customer name. Profile Name is not searched. Filters: date (the profile's Recurring Invoice Date), and status (Draft, Active, Paused, Completed, Cancelled).

List columns: Recurring Invoice#, Customer, Status, Profile Name, Frequency, Last Invoice Date, Next Invoice Date, amounts, Division, Branch, Warehouse, Added By, Updated By. Manage Custom Fields, Refresh List, and Reset Columns Width sit under the toolbar.

Preferences: Same Recurring Invoice Configuration as on Add: prefix, next number, Terms & Conditions.

Row actions: View, Edit (Draft only), Delete (Draft only), and Mark Recurring Invoice As.

Detail header: Number and status. View Customer, Download, and Print.

Detail tabs: Basic Info — profile, schedule, items, totals, notes. Next Invoice — a preview of the invoice layout using Next Execution Date (no invoice number yet). History — comments. Recurring Activities — every generation cycle. Attachments only if the template has files.

5. Editing a recurring invoice

Only a Draft can be edited. The backend rejects any other status.

What stays locked even on a Draft: Division, Branch, Warehouse, Customer, and the Recurring Invoice number.

What you can still change: Profile Name, schedule, payment terms, items, rates, discounts, charges, notes, terms, price list, shipping address, and exchange rate.

6. Changing status

Mark Recurring Invoice As is on the list row and the detail header. Cancelled asks for confirm. Completed is not a Mark As option — the job sets it.

FromYou can Mark As
DraftActive, Cancelled
ActivePaused, Cancelled
PausedActive, Cancelled
CompletedCancelled on the list only. You cannot Mark As Completed yourself — the job does that when the last cycle is done
CancelledNothing. Mark Recurring Invoice As is hidden. Cancelled is a dead end

Active: The daily job can generate invoices. This is the only status that does.

Paused: Stops generation without cancelling. Resume with Mark As Active. Missed dates are not backfilled.

Completed: Set automatically after the last cycle when End On is reached. Cannot go back to Active or Paused. The list still offers Cancelled; the detail hides Mark As.

Cancelled: Stops the schedule. Invoices already generated stay. Their comment history is marked cancelled for this source. You cannot bring the Recurring Invoice back.

7. Recurring Activities — success, failed, retry

This tab is the execution log. Each row is one cycle: Cycle No, Scheduled Date, Execution Date, Next Execution Date, the generated Invoice number (when it succeeded), and status.

SUCCESS: The Invoice number is a link to that invoice. No retry action.

FAILED: View Error shows the failure reason and the item lines that were being billed. Create Invoice retries that cycle only — it is blocked unless the row is FAILED.

Create Invoice (retry): Builds a Draft Invoice from the current template, same as the job would: Invoice number from Invoice Configuration, due date from payment terms, stock check / deduct from Settings → Inventory Config for Invoice, Current Balance updated. Then that history row becomes SUCCESS.

8. The invoice this schedule creates

After generation you work in Invoices, not here. The new document is a normal Invoice linked back to this Recurring Invoice.

Status: Always Draft at create. Mark Invoice As Sent yourself. Payments, credit notes, and Apply Credit are the Invoice module's functions.

What is copied: Customer, branch, warehouse, items, amounts, additional charges, discount, notes, terms, price list, shipping address, currency, and attachments from the template. Invoice Date is the generation date. Due Date is calculated from Payment Terms on that date.

Stock: If Stock Deduct Source is Invoice, warehouse quantity is taken when this Draft is generated — same as saving a scratch invoice. Stock Check Source = Invoice can fail the cycle instead.

Customer Current Balance: Goes up by the invoice total when the invoice is generated, including while it is still Draft.

What is not on this Recurring Invoice: No Payment Received, no Apply Credit, no Dispatch, no E-Invoice / E-Way Bill, no Convert. Split invoices are not created from this schedule (the generated invoice is not a split).

9. Deleting a recurring invoice

Delete is Draft only — same as edit. The API rejects any other status.

What delete does not do: It does not remove invoices already generated. Those stay in Invoices. Their comment history is marked deleted for this source.

Use Cancel instead: Once the profile has been Active, you cannot delete it. Mark As Cancelled to stop further invoices.


Business rules

TopicRule
This is a schedule, not an invoiceSaving a Recurring Invoice does not create an Invoice, deduct stock, post the ledger, or change the customer's Current Balance. Those happen later, when a real Invoice is generated
Subscription gateCreating a Recurring Invoice is limited by your plan. Editing, Mark As, and deleting are not. Retrying a failed cycle (Create Invoice on Recurring Activities) also checks Create and the plan feature
Save always makes DraftThere is no Save & Active. Nothing generates until you Mark As Active. Draft and Paused are skipped by the daily job
Recurring Invoice numberAuto-generated unless you turn that off under Recurring Invoice Configuration on the form (prefix, next number, Terms & Conditions). Default prefix is RECI. Locked after save
Division, Branch, Warehouse, CustomerAll four are required to create, plus Profile Name, Repeat Every, Frequency, Start On, Payment Terms, shipping address, and at least one item. After save, location and customer stay locked. You can still change items, amounts, schedule, and address on a Draft
CurrencyTaken from the customer at creation. An Exchange Rate field appears when that currency differs from the company base
No primary-bank gate on this moduleUnlike Quote, Sales Order, Delivery Challan, and Invoice, you can save a Recurring Invoice without a primary bank. When an Invoice is generated, that invoice copies the company's primary bank if one exists
Stock and ledger live on the generated InvoiceSettings → Inventory Config for Invoice applies when the Invoice is created (stock check / stock deduct). The Recurring Invoice itself never takes warehouse quantity. Ledger posting follows the Invoice rules once that Draft invoice exists
You can only edit or delete a DraftActive, Paused, Completed, and Cancelled cannot be edited or deleted. Cancelled invoices already generated from this schedule are not deleted with it
Paused does not catch upWhile Paused, due dates are skipped. Marking Active again does not create the missed invoices. Only the next date that still matches the original Start On + Repeat Every pattern will generate
Generated invoices start as DraftThe job creates a Draft Invoice (INV prefix from Invoice Configuration), copies items, charges, notes, and payment terms, and sets due date from those terms on the generation date. You still Mark Invoice As Sent on the Invoices module. Current Balance is updated when the invoice is generated, including while it is Draft
Failed cycle retryIf generation fails (for example stock check), Recurring Activities shows FAILED with the error. Create Invoice on that row makes a Draft invoice from the current template and marks that cycle SUCCESS. Only a FAILED history row can be retried