Funding Applications
Applications submitted to Funding Programs for specific Projects /Scenarios . Track the full lifecycle from eligibility check through approval and disbursement. Each application references a specific program version and contains measures, adjustments, and loans.
Source Files
Layer Path Schema backend/src/db/schema.ts (line ~1566)Routes backend/src/routes/funding-applications.tsService backend/src/services/funding-application-service.tsCalculator backend/src/lib/funding-calculator.tsPages frontend/src/pages/FundingApplications.tsxComponents frontend/src/components/funding/ (7+ files)Frontend Lib frontend/src/lib/funding/ (fundingFormService.ts, useFundingFormState.ts)Queries frontend/src/lib/queries/fundingApplicationQueries.ts
Database Tables
Table Purpose funding_applicationsMain entity — program version, state, amounts, approval tracking funding_measuresIndividual measures within an application (cost, area, eligibility, rates) funding_adjustmentsBonuses/deductions applied at measure, category, or program scope funding_loansLoan-specific details for loan-based programs (KfW)
Key Fields — Applications
Field Type Notes buildingIduuid FK Parent building (cascade) projectIduuid FK Parent project (cascade) fundingProgramVersionIduuid FK References specific Funding Programs version statevarchar Application lifecycle state totalEligibleCosts / totalEligibleAreadecimal Aggregated from measures calculatedFundingAmount / fundingAmountdecimal System-calculated vs. actual applicationDate / applicationReferencetimestamp/varchar Submission tracking approvalDate / approvedFundingAmounttimestamp/decimal Approval tracking disbursedAmountdecimal Actual payout received isCombinableboolean Whether combinable with other funding sourceFundingApplicationIduuid FK Self-referential for application variants
Key Fields — Measures
Field Type Notes componentIduuid FK Optional link to Building Components fundingProgramMeasureIduuid FK Links to program measure definition measureCost / measureAreadecimal Cost and area for this measure fundingRate / calculatedAmountdecimal Calculated funding values eligibleCost / eligibleAreadecimal Eligible amounts after caps isEligibleboolean Whether measure meets program criteria calculationBasisenum How funding is calculated
Relationships
Funding Application *──1 Building
Funding Application *──1 Project
Funding Application *──1 Funding Program Version
Funding Application 1──* Funding Measures ──* Building Components
Funding Application 1──* Funding Adjustments
Funding Application 1──* Funding Loans
Funding Application *──* Quotes (via funding_quote_allocations)
Funding Application *──* Invoices (via funding_invoice_allocations)
Frontend Components
Component Purpose FundingApplicationCardSummary card for a single application FundingApplicationFormDialogCreate/edit application with measure configuration CreateFundingApplicationWithProjectDialogQuick-create with project selection InlineFundingApplicationsTableCompact table within Quotes /Invoices views BuildingFundingApplicationsListApplications scoped to a building ProjectFundingApplicationsApplications within a project detail view ScenarioFundingApplicationsApplications within a scenario view
Features
Eligibility checking based on program version rules and building characteristics
Funding calculation via funding-calculator.ts — applies rates, caps, and bonuses
Adjustment system with three scopes: program-wide, category-level, measure-level
Loan calculations for KfW programs (numberOfDwellings x loanPerDwelling)
Combinability tracking for stacking multiple funding sources
Application variants via sourceFundingApplicationId self-reference
Cross-entity linking to Quotes and Invoices via allocation tables
Related Pages
Funding Programs | Projects | Buildings | Scenarios | Measures | Building Components | Quotes | Invoices | Financial Calculations | Energy Calculations | Database Architecture