BACKEND ISSUES RESOLVED:
1. Tax Excluded Calculation:
Fixed subtotal, tax amount, discount, and total computations in backend controllers when excludeTax or isWithoutTax is enabled.
2. Customer and Admin Quotation PDF Generation:
Updated server-side PDF data generation to properly include terms and conditions, client details, payment terms, and tax exclusion flags.
FRONTEND ISSUES RESOLVED:
1. React Hooks Crash on Public Quote URL:
Fixed the "Rendered more hooks than during the previous render" error in PublicUrl.tsx by placing all React hooks unconditionally at the top level before conditional returns.
2. Without-Request / Template Quotation Line Items Support:
Added normalization logic in InvoiceDetailsById.tsx to extract and display line items from template and without-request quotes as well as direct invoices.
3. Quotation Link and Status Badges on Invoice Details:
Added an interactive Quote link badge to navigate directly to quote details, a Direct Invoice badge for non-quote invoices, and a dynamic payment status pill (Paid, Partial, Awaiting Payment, Overdue).
4. Tax Excluded UI Indicators:
Added visual "Tax Excluded" badges and explicit "Amount Sent to Customer (Tax Excluded)" notices across quotation and invoice pricing cards.
5. Tested the all possible scenerios in with request and without request quotes