Invoices
Invoices generated from Quotes for billing renovation work. Track payment status, line items, and funding allocations. Invoices reference vendor Contacts and belong to Projects /Buildings .
Source Files
Layer Path Schema backend/src/db/schema.ts (line ~1864)Routes backend/src/routes/invoices.tsService backend/src/services/invoice-service.tsComponents frontend/src/components/invoices/ (15 files)Queries frontend/src/lib/queries/invoiceQueries.ts
Database Tables
Table Purpose invoicesMain entity — project, contact, amounts, payment status, dates invoice_line_itemsIndividual billed items with description, quantity, price, component type invoice_line_item_funding_measuresLinks line items to Funding Applications measures invoice_line_item_funding_loansLinks line items to funding loans component_invoice_linksLinks Building Components to invoices funding_invoice_allocationsDistributes funding across invoices
Key Fields
Field Type Notes projectIduuid FK Parent project (cascade delete) contactIduuid FK Vendor contact (required) quoteIduuid FK Source quote (optional, set null on delete) invoiceNumbervarchar Unique invoice identifier totalAmount / netAmount / taxAmountdecimal Financial totals (precision 12,2) taxRatedecimal Default 19% (German VAT) paymentStatusenum unpaid, pending, partially_paid, paid, overdue, cancelledpaidAmount / outstandingAmountdecimal Payment tracking discountPercentage, skontoPercentagedecimal Discount and early-payment terms customerPaymentConfirmationboolean Whether customer confirmed payment
Relationships
Invoice *──1 Project
Invoice *──1 Contact (vendor)
Invoice *──1 Quote (source, optional)
Invoice 1──* Invoice Line Items
Invoice *──* Building Components (via component_invoice_links)
Invoice *──* Funding Applications (via funding_invoice_allocations)
Frontend Components
Component Purpose InvoiceFormCreate/edit invoice with financial details InvoiceLineItemsTableManage individual line items InvoicesListList view with filtering and sorting BuildingInvoicesListInvoices scoped to a building InlineInvoicesTable / InlineInvoiceRow / InlineInvoiceExpandedRowCompact inline display LinkFundingApplicationsDialogLink invoices to Funding Applications CreateInvoiceWithProjectDialogQuick-create with project selection InvoiceFileManager / InvoiceFileDropzone / InvoiceFileUploadAttach Files to invoices InvoiceAssociatedFilesActionsManage associated Files InvoiceAuditLogDialogView Audit Logs for an invoice ProjectComboboxProject picker for invoice creation
Features
Derived from quotes — optionally links back to the source quote
Payment tracking with status lifecycle (unpaid → partially_paid → paid)
Funding allocation linking line items to Funding Applications measures and loans
Component linking connecting invoices to Building Components
File management with drag-and-drop upload for invoice documents
Audit trail via Audit Logs dialog for tracking changes
Skonto/discount terms with deadlines (German early-payment convention)
Financial overview aggregated on Buildings detail page
Related Pages
Quotes | Projects | Buildings | Funding Applications | Building Components | Products | Contacts | Files | Financial Calculations | Audit Logs | Database Architecture