Extract provider, description and price automatically; light invoice ledger view
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 10/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript
- Área
- backend-api-design, frontend
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DataTalksClub/dataops
-
backend bug human P1 portal testing
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
DataTalksClub/dataops#248 · 4 comentarios ·
-
backend bug data frontend human P1 portal
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
DataTalksClub/dataops#244 · 7 comentarios ·
-
infra needs grooming P1
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
DataTalksClub/dataops#235 ·
-
backend data enhancement frontend P1
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
DataTalksClub/dataops#232 · 10 comentarios ·
-
Local dev frontend cannot connect: all interactive /api routes 401 even with valid login tokenAbiertobackend bug needs grooming
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
DataTalksClub/dataops#227 · 1 comentario ·
Todos los issues de DataTalksClub/dataops
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
rajbos/ai-engineering-fluency#2340 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
community documentation first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
lingdojo/kana-dojo#31864 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
zenstackhq/zenstack#2873 ·
Los mantenedores suelen responder en 1 día
-
CLI: TUI shows onboarding when the provider's API key is only in the environment (e.g. OPENROUTER_API_KEY)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. AbiertoCLI
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
cline/cline#14923 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
paperclipai/paperclip#15490 ·
Los mantenedores suelen responder en 1 día