• Mahmoud Aglan's avatar
    feat(rentals): escalation tiers, dual utilities modes, bank-rate late fee, grace period · 8a66d739
    Mahmoud Aglan authored
    ## Schema (Phase_96_001)
    - escalation_type / escalation_rate / escalation_tiers_json — flat or tiered annual rent increases
    - utilities_mode / utilities_rent_pct / utilities_facility_pct / facility_monthly_cost — support rent%, facility-cost%, or both
    - payment_due_day — configurable per-contract (default day 5)
    - late_fee_bank_rate — annual bank rate for daily penalty calculation
    - grace_period_months / early_termination_months — additional contract terms
    - Data migration: backfills utilities_rent_pct from utilities_percentage
    
    ## Service layer
    - RentalContractService: computes escalated total_amount across flat/tiered modes; handles all utilities modes; recalculates VAT and grand_total
    - RentalInvoiceService: calcBase() now escalation-aware (by period); bulkGenerate skips grace months and uses payment_due_day; calcLateFee supports bank-rate daily formula
    - Seeds RENTAL_LATE_FEE_BANK_RATE business rule (27.25% annual)
    
    ## UI
    - contract_form: new sections for escalation (dynamic tiers table), utilities mode, payment terms, extra contract conditions; year-by-year preview
    - contract_show: mode-aware utilities display, escalation card, grace/termination info
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    8a66d739
Name
Last commit
Last update
..
Controllers Loading commit data...
Models Loading commit data...
Services Loading commit data...
Views Loading commit data...
Routes.php Loading commit data...
bootstrap.php Loading commit data...