← All features
product

Rent agreements with live totals

Every formula from the legacy desktop — plus the rules it only implied.

Total = rent + driver + damage − discount. Balance = total − advance. Late fee = ⌈hoursLate/24⌉ × dailyRate. We compute them on the server so nobody has to remember the math.

  • Eligibility check on create: car active, not on rent, customer active
  • Live totals in the create form as you type
  • Advance & balance enforced: advance ≤ total; receipts recompute balance
  • Return flow calculates late fees and damage; car returns to the pool

How it works

A single SqlAlchemy transaction inserts the rent agreement, details row, first receipt for the advance, and the owner-payout ledger entry. Car.is_on_rent flips true. Return reverses it and computes late charges.

Start your first rent at /dashboard/rent-agreements/new.

More product features