Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Extract provider, description and price automatically; light invoice ledger view

Đang mở
#237 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
10/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
typescript

Hướng nghiên cứu

The issue says the work shipped the same day, so first check whether any follow-up remains. Read backend/src/invoices/extract.ts and backend/src/routes/emailDocuments.ts for extraction and intake behavior, then inspect the portal invoice ledger described in the issue. Done means the requested provider, description, and price extraction and dense ledger view are in place without overwriting operator-corrected drafts.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

backend enhancement frontend

Request (user intake, 2026-10-04)

Review all invoices and the intake process. Two complaints:

  1. Provider extraction is poor — rows show "Unidentified provider" or raw
    identifiers like "VAT/GST Number DE…". The operator wants name, title and
    price extracted from a forwarded invoice automatically.
  2. The invoice review table is too heavy. Wanted: a dense ledger view like the
    published expense sheet (Date sent, Date paid, Provider, What, Price $,
    Price EUR, Statement, Count) — not the current 4-column review queue.

../dapier may be updated if processing needs it.

Findings

  • The dapier intake contract already carries the email subject and from,
    and backend/src/routes/emailDocuments.ts already auto-processes invoice
    intakes on arrival — the gap is that extractInvoiceText ignored those
    signals and only parsed two PDF layouts (AWS, Stripe), with an issuer
    heuristic that happily returned "VAT/GST Number …" lines.
  • No dapier change is required; normalization lives dataops-side.

Shipped (same day)

  • Extraction (backend/src/invoices/extract.ts): email subject/sender hints
    with a canonical provider catalog; "receipt/invoice from X" anchor; issuer
    plausibility + credibility filters (field-label lines and payment-processor
    noise rejected); generic labeled total/date/currency/invoice-number parsing
    incl. European comma decimals; subject-derived description. Governance kept:
    extraction never invents amountEur/paymentEvidence.
  • Untouched pending drafts are re-extracted automatically when a duplicate
    arrives; new POST /invoices/{id}/reextract action (portal + CLI) upgrades
    old bad rows on demand. Operator-corrected drafts are never overwritten.
  • Portal: the heavy table is replaced by a dense invoice ledger (sheet columns,
    pending first, negative prices, row-click review, compact reprocess form,
    re-extract button on eligible drafts); 44px mobile row floor kept.

Refs #232

Ngôn ngữ chính
TypeScript
Star
2
Fork
0
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của DataTalksClub/dataops

Tất cả issue của DataTalksClub/dataops

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.