Recued
Menu
← Back to recipes

End a tenancy

by recued-core v5 10 views

Use “End a tenancy” in Recued. Closes a contract on a date. The ledger it produced stays exactly as it is — ending a tenancy is not settling it.

Complete workflow

Rental Book 19 pinned recipes

Use Rental Book in Recued for property, landlord, ledger, and records. It includes 24 built-in actions and 18 ready-to-run workflows.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

End a tenancy
This recipe

Use “End a tenancy” in Recued. Closes a contract on a date. The ledger it produced stays exactly as it is — ending a tenancy is not settling it.

pack:rental-bookcontractterminationlifecycle
by recued-core pinned v5

Use “Add a building” in Recued. Records one building or complex. Units hang off it.

pack:rental-bookbuildingsetup
by recued-core pinned v2

Use “Add a unit” in Recued. Records one rentable unit against a building. It uses the connections and settings you choose when you run it.

pack:rental-bookunitsetup
by recued-core pinned v2

Use “Add a tenant” in Recued. Records one tenant and how they pay: cash, autopay, or stripe.

pack:rental-bookcustomertenantsetup
by recued-core pinned v3

Use “Open a rental contract” in Recued. Binds a tenant to a unit at a monthly rent. The contract is what a period charge is raised against.

pack:rental-bookcontractsetup
by recued-core pinned v4

Use “Raise the period's rent charges” in Recued. Raises one rent charge per live contract for a billing period. Safe to run unattended on a monthly schedule and safe to run twice — the charge id is the (contract, period, kind) tuple, so a repeat is a no-op rather than a second bill.

pack:rental-bookbillingchargescheduled
by recued-core pinned v4
Show all 19 recipes

Use “Record a rent payment” in Recued. Records what a tenant actually paid, against their account rather than against an invoice. A partial payment is one receipt for the part; an overpayment is one receipt for the whole, and the credit carries.

pack:rental-bookreceiptpaymentmanual
by recued-core pinned v3

Use “Collection sheet” in Recued. The month's collection list as a table and as CSV, one row per active contract, each carrying the contract id the import matches on.

pack:rental-bookreportexportcsv
by recued-core pinned v2

Use “Import payments” in Recued. Reads the collection sheet back and records one receipt per row that carries an amount and the date it arrived. Re-uploading the same sheet records nothing twice, and a row it cannot record is named rather than dropped.

pack:rental-bookreceiptpaymentimport
by recued-core pinned v5

Use “Tenant statement” in Recued. One tenant's account: everything charged, everything received, and the balance derived from the two. Not read off any invoice, because no invoice knows about the payment that arrived against a different month.

pack:rental-bookstatementreportledger
by recued-core pinned v5

Use “Buildings” in Recued. Every building you hold, with a way into each one's units.

pack:rental-booklistbuildingnavigation
by recued-core pinned v5

Use “Building” in Recued. One building: what it is, and every unit in it. It uses the connections and settings you choose when you run it.

pack:rental-bookdetailbuildingnavigation
by recued-core pinned v5

Use “Unit” in Recued. One unit: who is in it now, and every tenancy it has had. It uses the connections and settings you choose when you run it.

pack:rental-bookdetailunittenancy
by recued-core pinned v4

Use “Contracts” in Recued. Live tenancies by default; expired ones only when you ask.

pack:rental-booklistcontractfilter
by recued-core pinned v5

Use “Customers” in Recued. Everyone on the book, most recent first — and the way to start a tenancy for one.

pack:rental-booklistcustomerpicker
by recued-core pinned v5

Use “Retire or restore a customer” in Recued. Takes a customer off the working list without deleting anything they are attached to, or puts them back.

pack:rental-bookcustomerhousekeeping
by recued-core pinned v5

Use “Change the rent” in Recued. Sets a contract's rent. Periods already raised keep the amount they were raised at.

pack:rental-bookcontractrentlifecycle
by recued-core pinned v5

Use “Collect the rent” in Recued. Type what each tenant paid, straight into a grid — one row per live tenancy, one save.

pack:rental-bookreceiptpaymentbatch
by recued-core pinned v5
View pack details, dependencies, and permissions →

Ending is not settling

This marks the contract ended and stamps the day it ended. It does NOT write off what is owed, refund a credit, or delete anything: every charge and receipt stays on the account, and the statement still resolves.

So a tenant who leaves owing 400 still owes 400, and one who leaves 200 in credit is still owed 200. Look at the statement before you hand back a deposit.

What it changes

Once ended, the contract stops being billed — raise-period-charges reads only active contracts — and drops out of the live list from its end date onward. The unit shows as a vacancy and can take a new tenancy.

End the tenancy before retiring the customer, or the monthly raise keeps billing a contract whose tenant you have hidden.

Why it refuses on a race

The write is compare-and-set against the revision read a moment earlier, so two people ending the same tenancy at once means the second is told rather than silently overwriting.

How it works 16 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (16 steps)
id_in trim
Trim whitespace from setting contract id
has_id compare
Check if id in has data
id_guard guard
Stop if has id equals
contract ?
found compare
Check if contract record has data
found_guard guard
Stop if found equals
already_ended compare
Check if contract record status equals ended
ended_guard guard
Stop if already ended equals
end_in trim
Trim whitespace from setting end date
today_win date_period
Apply date_period
today truncate
Truncate today win start to a max length
end_date coalesce
Use the first available value from: end in, today
note trim
Trim whitespace from setting note
updated ?
card to_summary
Format results as a summary card
actions default
Apply default
Settings 3 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

note setting =
end date setting =
contract id setting = [object Object]

About

Tags

pack:rental-bookcontractterminationlifecycle

Details

16 steps 3 configurable settings recipe_id: end-tenancy