Skip to content

feat: add processed documents list view #6

@furch-services

Description

@furch-services

What problem does this solve?

There is no way to see which specific documents have been synced without reading through the raw log. Users have no audit trail and cannot quickly verify whether a specific invoice made it to Paperless-ngx or check its status after a failed sync attempt.

Proposed solution

Add a /documents page with a paginated table of all processed documents. Each row links directly to the document in Paperless-ngx.

  • Columns: Invoice No., Document Date, Gross Amount, Status, Synced At, Paperless Link
  • Paperless link constructed from paperless_base_url + resolved document ID
  • Search/filter by invoice number
  • Status column reflects UPLOADED / FAILED / PENDING with visual indicators (depends on feat/retry-mechanism)
  • 50 rows per page, HTMX-powered search (depends on feat/htmx-ui)
  • Added to the main navigation

Acceptance criteria:

  • /documents route renders a paginated table
  • Paperless link opens the document directly in Paperless-ngx
  • Search filters by invoice number
  • Status column with visual indicators
  • Empty state shown when no documents have been synced
  • Navigation updated

Alternatives considered

Embedding the document list directly on the dashboard was considered, but a dedicated page scales better as the number of synced documents grows and avoids cluttering the dashboard.

Architecture fit

  • Does not require Redis, RabbitMQ, Celery, PostgreSQL, React, Vue, or Node.js
  • Runs inside the single application container (no separate worker or sidecar)

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions