Extract provider, description and price automatically; light invoice ledger view
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
- Lĩnh vực
- backend-api-design, frontend
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ả
Request (user intake, 2026-10-04)
Review all invoices and the intake process. Two complaints:
- 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. - 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
subjectandfrom,
andbackend/src/routes/emailDocuments.tsalready auto-processes invoice
intakes on arrival — the gap is thatextractInvoiceTextignored 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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DataTalksClub/dataops
-
backend bug human P1 portal testing
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
DataTalksClub/dataops#248 · 4 bình luận ·
-
backend bug data frontend human P1 portal
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
DataTalksClub/dataops#244 · 7 bình luận ·
-
infra needs grooming P1
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
DataTalksClub/dataops#235 ·
-
backend data enhancement frontend P1
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
DataTalksClub/dataops#232 · 10 bình luận ·
-
Local dev frontend cannot connect: all interactive /api routes 401 even with valid login tokenĐang mởbackend bug needs grooming
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 75/100
DataTalksClub/dataops#227 · 1 bình luận ·
Tất cả issue của DataTalksClub/dataops
Issue tương tự
-
chore v2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
modelcontextprotocol/servers#5115 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
beginner bug good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
philaconvalley/website#168 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug frontend good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
oss-slu/lrda_mobile#294 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
hatchet-dev/hatchet#5179 ·
Maintainer thường phản hồi trong vòng 1 ngày