diff --git a/src/lib/invoice-pdf.ts b/src/lib/invoice-pdf.ts index b4bc7ad..7c3a953 100644 --- a/src/lib/invoice-pdf.ts +++ b/src/lib/invoice-pdf.ts @@ -18,12 +18,23 @@ export interface InvoiceLineItem { billable?: boolean; } +export interface InvoiceSubsection { + key: string; + label: string; + billable: boolean; + items: InvoiceLineItem[]; + subtotal: number; +} + export interface InvoiceCaseGroup { caseNumber: string; caseTitle: string; practiceArea?: string | null; items: InvoiceLineItem[]; subtotal: number; + /** Optional subsections (Billable Fees, Billable Expenses, Non-Billable Fees, Non-Billable Expenses). + * When provided, the renderer groups items by subsection with a header and subtotal. */ + subsections?: InvoiceSubsection[]; } export interface InvoicePdfInput {