Extract provider, description and price automatically; light invoice ledger view
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 10/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- typescript
- Domaine
- backend-api-design, frontend
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- TypeScript
- Étoiles
- 2
- Forks
- 0
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de DataTalksClub/dataops
-
backend bug human P1 portal testing
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
DataTalksClub/dataops#248 · 4 commentaires ·
-
backend bug data frontend human P1 portal
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
DataTalksClub/dataops#244 · 7 commentaires ·
-
infra needs grooming P1
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
DataTalksClub/dataops#235 ·
-
backend data enhancement frontend P1
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
DataTalksClub/dataops#232 · 10 commentaires ·
-
Local dev frontend cannot connect: all interactive /api routes 401 even with valid login tokenOuvertebackend bug needs grooming
Difficulté 3/5 1-2 jours Accessibilité débutants 75/100
DataTalksClub/dataops#227 · 1 commentaire ·
Toutes les issues de DataTalksClub/dataops
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
siyuan-note/siyuan#20313 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 92/100
alunduil/projects-v2-sync#14 ·
-
Service process inherits the caller's cwd at first use, holding that folder open on Windows (EBUSY)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
DevTools page styles leak into the host app in developmentPeut-être pris @onmax l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
nuxt-modules/better-auth#567 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour