ProblemInvoiceGenerator and BatchInvoiceDownload exist but invoices are generated ad-hoc with no archive, search, or regeneration.
Solution
- Add
app/(merchant)/settlement/invoices/page.tsx listing generated invoices with date, settlement ids, amounts, and file status.
- Store invoice metadata in
localStorage (or backend when available) and allow regeneration from stored settlement data.
- Add a batch header/date filter and full-text search across business names/ids.
- Wire filename generation to a date + invoice number (sanitized) instead of raw ids.
Acceptance Criteria
- Regenerating an invoice reproduces identical amounts from stored snapshots.
- Search filters the archive correctly.
- Filenames are unique and sanitized.
npm run build passes.
Note for Contributors: Write a clear PR description. Show archive search and regeneration.
Problem
InvoiceGeneratorandBatchInvoiceDownloadexist but invoices are generated ad-hoc with no archive, search, or regeneration.Solution
app/(merchant)/settlement/invoices/page.tsxlisting generated invoices with date, settlement ids, amounts, and file status.localStorage(or backend when available) and allow regeneration from stored settlement data.Acceptance Criteria
npm run buildpasses.Note for Contributors: Write a clear PR description. Show archive search and regeneration.