Add-on: Automated recurring prepayments
Before you start
Make sure:- The Automated recurring prepayments Add-on is installed at the business level. One installation covers every site on the account.
- Anniversary billing is supported on monthly and 4-weekly cycles. Date of month is supported regardless of billing settings.
- You have decided which commitment periods you want to offer (for example 3, 6 and 12 months) and what discount applies to each.
How the Add-on works
- A tenant selects a commitment period from a dropdown in the customer portal booking flow.
- The Add-on looks up the promo code mapped to that period and applies it to the move-in order. The tenant does not type a promo code.
- At move-in, the Add-on writes Auto prepayment period (
autoPrepayments_period), Auto prepayment promo code (autoPrepayments_discountCode) and Auto prepayment next invoice date (autoPrepayments_billedUntil) to the unit rental. - A daily job runs at 3am and checks every active rental. When a rental's prepaid period is about to end, it generates the next prepayment invoice for the same period with the same promo code applied, and advances Auto prepayment next invoice date.
- This repeats indefinitely until the tenant moves out or the fields are cleared.
Step 1: Create your promo codes
Create one promo code per commitment period in Main settings → Promotions.Important: You must set both a start month and an end month on every prepayment promo code, and the end month must match the commitment period. A 3-month promo code needs a start month of 1 and an end month of 3 . A 6-month promo code needs a start month of 1 and an end month of 6 .
> > If you leave the end month blank, the promo code stays attached to the unit rental's charges indefinitely. The daily renewal job carries those existing charges forward, so the discount is applied a second time and the tenant is over-discounted on every subsequently generated prepayment invoice. Setting the end month is what stops this.
- Go to Main settings → Promotions
- Click Add promotion
- Enter the promo code string (for example
5off) and the discount value - Set Start month to
1 - Set End month to the number of months in the commitment period —
3for a 3-month period,6for a 6-month period,12for a 12-month period - Leave the promotion's expiry date empty
- Click Save
Step 2: Set up the commitment period dropdown
The commitment periods a tenant sees in the booking flow come from a user custom field.- Go to Settings → Custom fields
- Find Commitment periods (
autoPrepayment_commitmentPeriod) under User custom fields. The Add-on creates this field for you when it is installed - Add one option per commitment period you want to offer, for example:
3 months (5% off)6 months (10% off)12 months (15% off)
- Click Save
Important: Each option label must begin with the number of months. The Add-on reads the commitment period by taking the leading number from the label the tenant selected, so 3 months (5% off) and 3-months both work, but Three months does not.
Step 3: Configure the Add-on settings
- Go to Main settings → Add-ons → Automated Recurring Prepayments → Settings
- SetCommitment period: Promo codeusing the key/value editor:
- Key — the commitment period in months, numeric value only (e.g.
3,6,9,12). This must match the number at the start of the option you added to the Commitment periods field in step 2. - Value — the promo code string exactly as it appears in Main settings → Promotions (e.g.
10off). Do not enter the promo's title or description — the Add-on looks up promo codes by this string, not by title.
- Key — the commitment period in months, numeric value only (e.g.
- The order you enter these in does not matter. The Add-on resolves each rental by matching its commitment period to the key, not by position.
| Commitment period (months) | Promo code |
|---|---|
| 3 | 5off |
| 6 | 10off |
| 12 | 15off |
- Set Invoice state — enter
draftto hold renewal invoices for operator review, orsentto send them automatically. - Click Save
Note: Invoice state applies to renewal invoices only. The move-in invoice always follows your main invoicing settings.
autoPrepayments_promocodes ) is a plain text field, so you'll type the JSON directly as a string rather than filling in a key/value table:{ "3": "5off", "6": "10off", "12": "15off" } Because this is a plain text field, the JSON must be typed exactly right, or the Add-on won't be able to read it. Use double quotes around every key and value — { "3": "5off" } , not { '3': '5off' } or { 3: 5off } — and don't add a trailing comma after the last entry. A single missing quote or an extra comma is the most common cause of the "promo code configuration is invalid" task at move-in (see Troubleshooting).A quick check before saving: paste the JSON into any online JSON validator, or just count that every { has a matching } and every opening " has a matching closing " . Invoice generation timing
The daily job runs at 3am. Regular invoices generate at 10pm the same night, so the prepayment credit always lands in the tenant's account before the regular invoice is raised against it.Anniversary billing — the renewal prepayment invoice generates on the rental's invoice generation date, which is Auto prepayment next invoice date minus the site's Nb. days to create ahead setting. No offset is applied.Date-of-month billing — the renewal prepayment invoice generates only on the site's configured Invoice creation date. If today does not match that date exactly, the Add-on skips the rental entirely, leaves Auto prepayment next invoice date unchanged, and raises no task.The job reads the date from the running job rather than the system clock, so a delayed or replayed job processes the date it was scheduled for, not today's date.If you generate a prepayment invoice manually before the daily job runs, Auto prepayment next invoice date advances by that period and the next renewal is scheduled from the new date. No duplicate invoice is created.What happens at move-out
When a tenant moves out, the Add-on clears Auto prepayment period (autoPrepayments_period ), Auto prepayment promo code (autoPrepayments_discountCode ) and Auto prepayment next invoice date (autoPrepayments_billedUntil ) from the unit rental. No further renewal invoices are generated for that rental.Troubleshooting
Ready to get started?
Send us your request and the Storeganise team will install the Automated recurring prepayments Add-on for you.
Request installation