Financial Calculations
Financial logic for Quotes, Invoices, funding, and commissions across the renovation project lifecycle.
Architecture
| Layer | Location |
|---|---|
| Quote finance service | backend/src/services/quote-finance-service.ts |
| General finance service | backend/src/services/finance-service.ts |
| Commission calculator | backend/src/services/commission-calculator.ts |
| Funding calculator | backend/src/lib/funding-calculator.ts |
| Amount calculation hook | frontend/src/hooks/useAmountCalculation.ts |
| Financial document service | frontend/src/lib/services/financialDocumentService.ts |
| Admin finance routes | backend/src/routes/admin/finance/ |
| Admin finance pages | frontend/src/pages/admin/ (finance-related) |
Database Tables
| Table | Purpose |
|---|---|
costBreakdowns | Line-item cost breakdowns per quote/invoice |
costRates | Configurable cost rates (labor, materials) |
commissionAgreements | Partner commission terms |
commissionBookings | Realized commission entries |
targets | Revenue and capacity targets |
periodSettlements | Periodic financial settlements |
Calculation Areas
Quote Calculations
quote-finance-service.ts handles:
- Line item totals from Products pricing
- Tax calculations (VAT rates)
- Discount application
- Net/gross amounts
Funding Calculations
backend/src/lib/funding-calculator.ts computes:
- Eligible funding amounts per program
- Stacking rules (which programs can combine)
- Maximum funding caps
- Customer co-payment after funding
Commission Calculations
commission-calculator.ts determines:
- Partner commissions based on agreement terms
- Tiered commission rates
- Period-based settlement amounts
Frontend Amount Hook
frontend/src/hooks/useAmountCalculation.ts provides reactive calculation of totals, taxes, and discounts as users edit financial documents.
Admin Configuration
Finance administration is available through the Admin Dashboard:
- Cost rates — configure standard rates for labor and materials
- Commissions — manage commission agreements and view bookings
- Capacity targets — set revenue and capacity goals per period
Related
- Quotes — quote entity with financial data
- Invoices — invoice entity with payment tracking
- Funding Applications — funding calculations per application
- Funding Programs — funding program rules and limits
- Products — product pricing used in calculations
- Admin Dashboard — finance configuration UI
- Scenario Planning — cost comparison across scenarios