"Other" Emails Tab - Product Specification

Author: Product Team Status: Draft Last Updated: 2026-02-04


1. Problem Statement

Orcha's billing inbox processes incoming emails through a two-stage classification: a deterministic pre-filter removes spam, followed by an LLM triage that identifies invoices for extraction. Emails that don't match invoice signals (no PDF attachments, no invoice keywords, few financial keywords) are silently dropped.

This creates a blind spot. Business-relevant emails that aren't invoices — IBAN change notifications from suppliers, payment reminders, supplier inquiries, contract updates — are lost without any trace. The AP team has no way to know these emails arrived, and no record that they were discarded.

For a mid-sized company processing hundreds of emails monthly, this means:

2. Goal

Surface business-relevant non-invoice emails in Orcha so the AP team has visibility into all meaningful correspondence arriving at the billing inbox:

  1. Classify incoming emails into three categories: invoice (extract as today), other business-relevant (store metadata), and spam/irrelevant (discard)
  2. Display "other" emails in a dedicated tab with enough context to understand what arrived and when
  3. Err on the side of caution — if the system isn't confident an email is truly "other", treat it as a potential invoice and process it through extraction

3. Success Metrics

Metric Target
Business-relevant non-invoice emails captured (vs. silently dropped) 100% — no business email is lost
Invoice misclassification rate (invoices wrongly sent to "other") < 1% — confidence threshold ensures invoices are still extracted
AP team awareness of non-invoice correspondence Visible in UI within same session as invoice review
False positives in "other" tab (spam appearing as business-relevant) < 5% of entries

4. Core Concepts

4.1 Three-Way Email Classification

Today, emails are binary: either they're invoices (processed) or they're not (dropped). The new model introduces a third category:

Classification What it means What happens
Invoice Contains invoices, receipts, or bills to extract Processed as today (no change)
Other Business-relevant but not an invoice Metadata stored, shown in "Other" tab
Skip Spam, newsletters, irrelevant content Discarded (no change)

4.2 Email Categories

"Other" emails are further classified into sub-categories to help the AP team quickly scan and prioritize:

Category Examples
Payment Reminder "Your invoice #123 is overdue", "Payment reminder for February"
IBAN Change "Please update our bank details", "New IBAN effective March 1"
Supplier Inquiry "Question about your recent order", "Request for quotation"
Employee Info "New employee starting March 1", "Updated contact details"
Contract/Legal "Renewal notice for contract #456", "Updated terms of service"
General Inquiry "Follow-up on our meeting", business correspondence that doesn't fit above
Other Catch-all for business emails that don't match any specific category

4.3 Metadata-Only Storage

"Other" emails are stored as metadata only — sender, subject, date, category, and attachment filenames. The email body and attachments are not retained. This is a view-only reference so the AP team knows what arrived; they can look up the original in their email system if needed.

4.4 Confidence-Based Safety Net

When the system is uncertain whether an email contains an invoice, it should err on the side of processing it as an invoice rather than filing it under "other". A confidence threshold ensures that borderline cases are treated as potential invoices — it's better to over-extract than to miss an invoice.


5. User Roles

AP Team (Accounts Payable)

No new roles are introduced. The "Other" tab is view-only with no actions required.


6. User Flows

6.1 Happy Path: Business Email Arrives and Is Categorized

1. Supplier sends an email: "Please update our IBAN to DE89..."
2. Orcha's pre-filter passes it through (not spam)
3. LLM classifies it as "other" with category "IBAN Change"
4. Email metadata (sender, subject, date, category, attachment names) is stored
5. AP team opens the "Other" tab in document overview
6. They see the entry: "supplier@example.com | Please update our IBAN... | IBAN Change"
7. AP team looks up the original email and updates the IBAN in their banking system

6.2 Invoice Misclassified as "Other" (Safety Net)

1. An invoice email arrives with an unusual format (no PDF, invoice in email body)
2. LLM classifies it as "other" but with low confidence (< 0.8)
3. System overrides: upgrades the email to "invoice" for extraction
4. The invoice is processed through normal extraction pipeline
5. No data is lost

6.3 Spam Correctly Filtered

1. Newsletter email arrives at billing inbox
2. Deterministic pre-filter catches it (known spam sender or subject pattern)
3. Email is discarded — does not appear in "Other" tab or anywhere else

6.4 Unknown Category

1. Business email arrives that doesn't fit any predefined category
2. LLM classifies it as "other" with category "other" (catch-all)
3. Email appears in the "Other" tab with category label "Other"
4. AP team can still see sender, subject, and date for context

6.5 Email with Attachments (Non-Invoice)

1. Supplier sends a contract renewal with a PDF attachment
2. LLM classifies it as "other" with category "Contract/Legal"
3. Metadata stored includes attachment filename: "contract_renewal_2026.pdf"
4. AP team sees the attachment name in the "Other" tab
5. Attachment itself is NOT stored in Orcha — AP team retrieves it from their email

7. UI Specification

7.1 Tab Placement

A new "Other" tab is added to the document overview, alongside the existing tabs (All, Needs Review, Has Errors). The tab shows the count of "other" emails if applicable.

7.2 Date Filter

The "Other" tab uses the same date filter as the documents view, ensuring a consistent experience. The AP team can filter by date range to find emails from a specific period.

7.3 Table Columns

Column Description
Received Date and time the email was received (formatted as DD.MM.YY HH:MM CET)
Subject Email subject line
Sender Sender email address
Category Human-readable category label with badge styling
Attachments Comma-separated list of attachment filenames (if any)

7.4 Interactions

7.5 Category Display

Categories are shown as human-readable labels with a subtle badge/tag style:

Internal Value Display Label
payment-reminder Payment Reminder
iban-change IBAN Change
supplier-inquiry Supplier Inquiry
employee-info Employee Info
contract-legal Contract/Legal
general-inquiry General Inquiry
other Other

8. Edge Cases & Business Rules

Edge Case Behavior
Invoice classified as "other" with low confidence Upgraded to "invoice" and processed through extraction (confidence < 0.8 threshold)
LLM returns an unrecognized classification Defaults to "other" / "General Inquiry" — never throws an error or retries indefinitely
LLM returns an unrecognized category Defaults to "Other" catch-all category
Email contains prompt injection in subject/body Email content is sanitized before LLM processing; classification should be unaffected
Same email processed twice (message queue retry) Duplicate metadata entries are acceptable — view-only tab, low impact
Storage failure when saving "other" email metadata Logged as error but does not block the email processing pipeline
Email with no subject Displayed with empty subject column
Email with many attachments Attachment names truncated with ellipsis after reasonable length
Adding new categories in the future "Other" catch-all handles unknown categories without requiring system changes; new named categories can be added as needed

9. Data Retention


10. Out of Scope (v1)


11. Open Questions

  1. Category granularity: Are the seven proposed categories sufficient, or do specific tenants need additional categories? (Suggestion: start with proposed set, "other" catch-all handles gaps)
  2. Notification for critical categories: Should IBAN changes or payment reminders trigger an alert/notification to the AP team rather than waiting for them to check the tab?
  3. Retention policy: Should there be a configurable retention period for "other" email metadata, or is indefinite retention acceptable?
  4. Re-classification workflow: Should v2 allow the AP team to manually re-classify an "other" email as an invoice (triggering extraction)?
  5. Duplicate handling: If the same email is processed twice due to queue retries, should we deduplicate in the UI or is showing duplicates acceptable?
  6. Multi-language category labels: Should category labels follow the tenant's language setting (DE/EN), or are English labels sufficient?

12. Process Flowchart

flowchart TD
    START(["Email arrives at billing inbox"]) --> PREFILTER{"Deterministic\nPre-Filter"}

    PREFILTER -->|"Spam / Irrelevant"| DISCARD(["Discard\n(no trace)"])
    PREFILTER -->|"Passes"| LLM{"LLM\nClassification"}

    LLM -->|"Invoice"| EXTRACT(["Process through\nextraction pipeline"])
    LLM -->|"Skip"| DISCARD
    LLM -->|"Other"| CONFIDENCE{"Confidence\n≥ 0.8?"}

    CONFIDENCE -->|"No — uncertain"| EXTRACT
    CONFIDENCE -->|"Yes — confident"| CATEGORIZE["Assign sub-category:\nPayment Reminder, IBAN Change,\nSupplier Inquiry, Employee Info,\nContract/Legal, General Inquiry,\nOther"]

    CATEGORIZE --> STORE["Store metadata only:\nSender, Subject, Date,\nCategory, Attachment filenames"]
    STORE --> DISPLAY(["Display in 'Other' tab"])

    style DISCARD fill:#f4f4f4,stroke:#999,color:#666
    style EXTRACT fill:#e8f5e9,stroke:#4caf50
    style DISPLAY fill:#e3f2fd,stroke:#2196f3