{
  "schemaVersion": 1,
  "features": [
    {
      "featureKey": "google-sheets-export",
      "name": "Google Sheets exports",
      "category": "exports",
      "status": "live",
      "url": "/integrations",
      "useCases": [
        "Authorize a Google account to receive spreadsheet reports",
        "Choose shared report templates, custom fields, and line items",
        "Create a new private spreadsheet per export",
        "Open completed spreadsheets from export history",
        "Resume a failed report in the same spreadsheet"
      ]
    },
    {
      "featureKey": "workspace-overview",
      "name": "Workspace overview",
      "category": "operations",
      "status": "live",
      "url": "/workspaces/overview",
      "useCases": [
        "See documents needing attention, exports needing action, documents ready to export, and connection issues across accessible workspaces",
        "Compare extraction totals and daily activity in branded grid or list views, then open each workspace’s review screens"
      ]
    },
    {
      "featureKey": "documents",
      "name": "Documents",
      "category": "documents",
      "status": "live",
      "url": "/documents",
      "useCases": [
        "Extract separate transactions from one multi-document PDF while keeping supporting pages with their primary document",
        "View all receipts and invoices in a unified table with customizable columns",
        "Switch between tabs: All documents, To Review, and Duplicates",
        "Search documents by merchant name or content",
        "Sort by document date, amount, merchant, or any visible column",
        "Filter by relative dates: today, last 7/30/90 days, this month/quarter/year, year-to-date",
        "Filter by absolute date range with calendar picker",
        "Filter by document type: receipts or invoices",
        "Filter by payment status: paid, unpaid, partial, refunded, unknown",
        "Filter by source: email, WhatsApp upload, or manual upload",
        "Filter by email account that captured the document",
        "Filter by mobile scanner phone number",
        "Filter by merchant with async search",
        "Filter by labels/tags with async search",
        "Filter by expense category from chart of accounts",
        "Filter by business entity (billed to)",
        "Filter by last 4 digits of payment method",
        "Bulk select documents and edit properties (category, labels, entity)",
        "Bulk mark documents as duplicates",
        "Bulk delete documents",
        "Bulk block senders to stop future processing",
        "Bulk export selected documents to CSV, PDF, or ZIP",
        "Customize visible columns and save preferences",
        "Save filter combinations as reusable views"
      ]
    },
    {
      "featureKey": "duplicate-detection",
      "name": "Duplicate Document Detection",
      "category": "documents",
      "status": "live",
      "url": "/documents",
      "useCases": [
        "Identify repeated copies of the same receipt or invoice during document processing",
        "Keep related invoice and payment evidence linked instead of collapsing it as a duplicate",
        "Prefer the richer reviewable record when duplicate copies carry different document detail",
        "Review detected duplicates in the Duplicates view and manually mark duplicates in bulk"
      ]
    },
    {
      "featureKey": "document-detail",
      "name": "Document Detail",
      "category": "documents",
      "status": "live",
      "url": "/documents",
      "useCases": [
        "View original document image or PDF alongside extracted data",
        "Edit extracted fields: amount, date, merchant, category, payment status",
        "Add or remove labels/tags",
        "Change business entity assignment",
        "View extraction confidence scores",
        "Re-process document if extraction was incorrect",
        "Download original document file",
        "View document processing history and source details"
      ]
    },
    {
      "featureKey": "vendors",
      "name": "Merchants",
      "category": "documents",
      "status": "live",
      "url": "/merchants",
      "useCases": [
        "Browse all merchants grouped alphabetically",
        "Search merchants by name",
        "See document count per merchant",
        "See total amount spent per merchant",
        "See number of currencies used with each merchant",
        "See first and last transaction dates per merchant",
        "Click a merchant to view all their documents in a filtered view",
        "Rename merchants to keep document data consistent",
        "Merge duplicate merchants into a canonical merchant",
        "Support for international characters with proper alphabetical grouping"
      ]
    },
    {
      "featureKey": "bills-to-pay",
      "name": "Bills to Pay",
      "category": "documents",
      "status": "beta",
      "url": "/bills-to-pay",
      "useCases": [
        "View only unpaid invoices in a dedicated interface",
        "See summary cards: total bills count, total amount due",
        "See due date breakdown: overdue, due soon, upcoming",
        "Sort bills by due date to prioritize payments",
        "Filter by merchant, labels, date range, category, entity",
        "Mark bills as paid with optional payment receipt upload",
        "Bulk update payment status for multiple bills",
        "See days until due or days overdue indicators",
        "Auto-match payment receipts imported via email"
      ]
    },
    {
      "featureKey": "automations",
      "name": "Automations",
      "category": "automations",
      "status": "live",
      "url": "/automations",
      "useCases": [
        "Create, edit, enable, disable, and delete automations",
        "Set automation priority to control execution order",
        "View AI-generated automation suggestions",
        "Trigger on document creation: when a new receipt or invoice is processed",
        "Trigger on schedule: daily, weekly, or custom cron expression with timezone",
        "Use saved views as filters for scheduled automations",
        "Set multiple conditions with AND or OR matching logic",
        "Match by field values: merchant contains, amount greater than, category equals",
        "Match by document properties: type, source, payment status, labels",
        "Action: Send to integration (Xero, QuickBooks, Google Drive, Dropbox)",
        "Action: Set document field values (category, labels, entity)",
        "Action: Send email notification to configured addresses",
        "Action: Store in custom location",
        "Action: Export as CSV batch (with option for line items)",
        "Action: Export as PDF batch",
        "Action: Export as ZIP batch",
        "View automation execution history with timestamps",
        "See success rate percentage per automation",
        "Filter execution history by specific automation",
        "See last execution time and total execution count"
      ]
    },
    {
      "featureKey": "context-requests",
      "name": "Context Requests",
      "category": "automations",
      "status": "live",
      "url": "/context",
      "useCases": [
        "Ask a focused question when a document cannot be categorized confidently",
        "Route context requests to WhatsApp or the in-app review queue",
        "Respond with context, leave a document uncategorized, or archive it",
        "Resume categorization after the user supplies the missing context",
        "Resolve several context requests together from the review queue",
        "Use saved categorization preferences and workspace memories in later decisions"
      ]
    },
    {
      "featureKey": "recurring",
      "name": "Recurring Expenses",
      "category": "analytics",
      "status": "beta",
      "url": "/recurring",
      "useCases": [
        "Auto-detect recurring charges like subscriptions (Netflix, AWS, Spotify)",
        "See total count of active recurring charges",
        "See total monthly cost across all recurring expenses",
        "See projected annual cost",
        "Filter by expense category",
        "Filter by recurring type (subscription, utility, etc.)",
        "Filter by frequency: monthly, quarterly, yearly, weekly",
        "Search recurring expenses by merchant name",
        "Sort by amount, name, or frequency",
        "See monthly and annual cost equivalents for each item",
        "Track spending in preferred currency"
      ]
    },
    {
      "featureKey": "sources",
      "name": "Document Sources",
      "category": "sources",
      "status": "live",
      "url": "/sources",
      "useCases": [
        "Upload and process one sample receipt or invoice before subscribing",
        "Start a trial to process additional uploads",
        "Connect Gmail accounts for automatic receipt extraction",
        "Connect Outlook/Microsoft 365 accounts",
        "Connect any IMAP email account with custom server settings",
        "Configure auto-forwarding filters: accept/reject rules by sender or subject",
        "Set default document categorization per email account",
        "Choose a label, mark-as-read, or archive action after successful email extraction (requires mailbox permission; IMAP support varies)",
        "Toggle email monitoring on/off (requires subscription)",
        "View last sync time and account status",
        "Reconnect if authentication expires",
        "Disconnect email accounts",
        "Set up WhatsApp phone numbers for mobile receipt scanning",
        "Activate/deactivate scanner per phone number",
        "Configure filters per mobile scanner",
        "Set up auto-forwarding from mobile scans",
        "View sync status and document count per scanner",
        "View and accept integration invitations from team members"
      ]
    },
    {
      "featureKey": "email-monitoring",
      "name": "Email Monitoring",
      "category": "sources",
      "status": "live",
      "url": "/sources",
      "useCases": [
        "Connect Gmail, Outlook, or IMAP accounts for continuous receipt extraction",
        "Start and stop paid email monitoring",
        "Recover expired or unhealthy provider connections"
      ]
    },
    {
      "featureKey": "mobile-scanners",
      "name": "Mobile Scanners",
      "category": "sources",
      "status": "live",
      "url": "/sources",
      "useCases": [
        "Set up phone numbers for WhatsApp and iMessage receipt scanning",
        "Activate or deactivate scanner channels per number",
        "Process inbound mobile receipt images and PDFs"
      ]
    },
    {
      "featureKey": "business-entities",
      "name": "Business Entities",
      "category": "settings",
      "status": "live",
      "url": "/settings/business-entities",
      "useCases": [
        "Assign each receipt or invoice to the legal entity it belongs to",
        "Use the assigned entity's chart of accounts for categorization",
        "Connect each entity to its own QuickBooks company or Xero organisation and currency context",
        "Stop cross-entity exports and ask for review when the billed company is ambiguous",
        "Filter, report, automate, and export documents by business entity"
      ]
    },
    {
      "featureKey": "business-setup",
      "name": "Business Setup",
      "category": "settings",
      "status": "live",
      "url": "/business-setup",
      "useCases": [
        "See guided setup progress across the key activation steps with real completion state",
        "Jump to each setup action: workspace context, sources, first document, integrations, export, team",
        "Open the learning center or book a guided onboarding call"
      ]
    },
    {
      "featureKey": "destinations",
      "name": "Destinations",
      "category": "exports",
      "status": "live",
      "url": "/destinations",
      "useCases": [
        "See all export destinations in one place: CSV, ZIP/PDF, and connected integrations",
        "Set the workspace default CSV export template",
        "Set the workspace default ZIP/PDF folder structure",
        "Connect, reconnect, or manage export integrations (Xero, QuickBooks, Google Drive, Dropbox, Mercury)",
        "See whether each export format has an automation configured",
        "Review recent manual and automated export history"
      ]
    },
    {
      "featureKey": "integrations",
      "name": "Integrations",
      "category": "integrations",
      "status": "live",
      "url": "/integrations",
      "useCases": [
        "View all installed integrations with status",
        "Connect new accounting integrations: Xero, QuickBooks Online",
        "Connect cloud storage: Google Drive, Dropbox",
        "Disconnect and reconnect integrations",
        "Map expense categories to accounting chart of accounts",
        "Configure tax type mapping",
        "Set up tracking categories",
        "Map contacts/customers between systems",
        "Configure auto-sync schedule",
        "Set folder paths for document storage",
        "Configure file naming conventions",
        "Enable auto-upload when documents are processed",
        "View integration sync status and errors",
        "See last sync timestamp",
        "Retry failed syncs"
      ]
    },
    {
      "featureKey": "xero-integration",
      "name": "Xero Integration",
      "category": "integrations",
      "status": "live",
      "url": "/integrations/xero",
      "useCases": [
        "Connect during onboarding and import a chart of accounts before subscribing; accounting exports require an eligible plan",
        "Match existing Xero Bills and Spend Money transactions before creating new records",
        "Create the appropriate Bill, Spend Money transaction, or Bill payment from document evidence",
        "Attach original receipts and invoices to matched or newly created Xero transactions",
        "Keep each business entity connected to its own Xero organisation, chart of accounts, and base currency",
        "Configure Bill status, categorization, line-item behavior, tax handling, and payment-account mappings per Xero organisation",
        "Pause for review when matches, tax, payment accounts, or cross-currency evidence are ambiguous"
      ]
    },
    {
      "featureKey": "quickbooks-integration",
      "name": "QuickBooks Integration",
      "category": "integrations",
      "status": "live",
      "url": "/integrations/quickbooks",
      "useCases": [
        "Connect during onboarding and import a chart of accounts before subscribing; accounting exports require an eligible plan",
        "Match existing QuickBooks Bills and Expenses before creating new records",
        "Create the appropriate Bill, Expense, or Bill payment from reconciled document evidence",
        "Attach original receipts and invoices to matched or newly created QuickBooks transactions",
        "Keep each business entity connected to its own QuickBooks company, chart of accounts, and home currency",
        "Configure categorization, line-item behavior, tax handling, and payment-account mappings per company",
        "Pause for review when matches, tax, accounts, vendors, currencies, or payment evidence are ambiguous"
      ]
    },
    {
      "featureKey": "analytics",
      "name": "Analytics",
      "category": "analytics",
      "status": "live",
      "url": "/analytics",
      "useCases": [
        "View expense breakdown by category over last 6 months",
        "View expense breakdown by category over last 30 days",
        "See processed messages chart grouped by status",
        "See documents extracted chart grouped by document type",
        "Switch between daily and monthly time granularity",
        "Track spending trends over time",
        "Identify top expense categories"
      ]
    },
    {
      "featureKey": "retroactive",
      "name": "Retroactive Extraction",
      "category": "sources",
      "status": "live",
      "url": "/retroactive",
      "useCases": [
        "Extract receipts from historical emails going back years",
        "Select specific email account and date range for extraction",
        "Get AI-generated quote with estimated document count and cost",
        "Save quotes as drafts to process later",
        "Load and edit previously saved quotes",
        "View extraction history with status: draft, submitted, completed",
        "Track extraction progress in real-time",
        "Re-run extractions for specific date ranges"
      ]
    },
    {
      "featureKey": "exports",
      "name": "Exports",
      "category": "exports",
      "status": "live",
      "url": "/documents",
      "useCases": [
        "Export selected or filtered documents to CSV, PDF, or ZIP",
        "Create reusable CSV templates with custom fields",
        "Download completed export files",
        "Retry failed exports from export history"
      ]
    },
    {
      "featureKey": "exports-history",
      "name": "Exports History",
      "category": "exports",
      "status": "live",
      "url": "/exports-history",
      "useCases": [
        "View all export jobs in paginated history",
        "Filter by export type: Xero, QuickBooks, CSV, PDF, ZIP, Google Drive, Dropbox, Email Forward",
        "Filter by status: All, Completed, Processing, Failed",
        "See export timestamp with relative and absolute time",
        "View linked documents per export",
        "See error details for failed exports",
        "Bulk retry failed export jobs",
        "Download exported files directly"
      ]
    },
    {
      "featureKey": "activity-logs",
      "name": "Activity Logs",
      "category": "operations",
      "status": "live",
      "url": "/activity-logs",
      "useCases": [
        "View processing history of all incoming messages",
        "Search messages by email content, WhatsApp text, or file names",
        "Filter by source type: Email, WhatsApp, Upload",
        "Filter by processing status: Processed, Failed, Processing, Warning",
        "Toggle visibility of skipped messages",
        "See processing status breakdown summary",
        "Expand entries to see detailed processing info",
        "View error messages for failed processing",
        "Bulk re-process failed or warning messages",
        "Block email senders directly from log entries",
        "See extracted document count per message"
      ]
    },
    {
      "featureKey": "pending-links",
      "name": "Pending Links",
      "category": "documents",
      "status": "beta",
      "url": "/documents",
      "useCases": [
        "Review AI-suggested links between receipts, bills, and supporting documents",
        "Approve or reject pending document relationships",
        "Preserve linked document visibility and priority in document lists"
      ]
    },
    {
      "featureKey": "settings",
      "name": "Organization Settings",
      "category": "settings",
      "status": "live",
      "url": "/settings",
      "useCases": [
        "Configure legal entity name and type",
        "Set business address details",
        "Add tax identification numbers",
        "Select industry/vertical",
        "Configure financial year settings",
        "Set accounting method preferences",
        "Choose preferred currency",
        "Create locations with addresses and tax rates",
        "Create departments for expense allocation",
        "Create cost centers for budgeting",
        "Map entities to chart of accounts",
        "Import chart of accounts from accounting software",
        "Create custom expense categories",
        "Set up multi-level category hierarchy",
        "Set default accounts for automations",
        "Invite team members by email",
        "Assign roles and permissions",
        "View pending invitations",
        "Remove team members",
        "Transfer organization ownership",
        "Manage blocked sender list",
        "Configure forwarding rules",
        "Create custom CSV export templates",
        "Define field mappings for exports",
        "Configure file naming conventions",
        "Set export format options",
        "Delete organization and all data"
      ]
    },
    {
      "featureKey": "account",
      "name": "Account",
      "category": "settings",
      "status": "live",
      "url": "/account",
      "useCases": [
        "Manage personal profile information",
        "Update email preferences and notifications",
        "Configure security settings",
        "View list of organization memberships",
        "Create new organizations",
        "Switch between organizations",
        "Generate API keys for programmatic access",
        "Set key permissions and scopes",
        "Revoke existing API keys",
        "View API key usage",
        "Browse available beta/experimental features",
        "Enable or disable beta features",
        "See feature descriptions and status",
        "View current subscription status and plan",
        "See billing dashboard with payment history",
        "Manage payment methods",
        "View invoices and receipts",
        "Browse available subscription plans",
        "Compare plan features and pricing",
        "Choose billing interval: monthly, quarterly, annual",
        "Upgrade or downgrade subscription",
        "Complete checkout with payment"
      ]
    },
    {
      "featureKey": "subscription",
      "name": "Subscription",
      "category": "billing",
      "status": "live",
      "url": "/subscription",
      "useCases": [
        "View subscription success confirmation after payment",
        "See quick setup cards for email accounts, mobile scanners, uploads",
        "View cost confirmation for activating email monitoring",
        "View cost confirmation for activating mobile scanners",
        "See monthly cost breakdown per feature"
      ]
    },
    {
      "featureKey": "dashboard",
      "name": "Dashboard",
      "category": "operations",
      "status": "live",
      "url": "/dashboard",
      "useCases": [
        "See bulk extraction dashboard with backlog status and extraction CTA",
        "See continuous monitoring dashboard with email and mobile scanner overview",
        "See caught-up dashboard with upgrade to monitoring CTA",
        "See subscribed dashboard with full source overview",
        "Quick action: Add email account",
        "Quick action: Add mobile scanner",
        "Quick action: Upload documents",
        "Quick action: View billing status",
        "Quick action: Access documentation",
        "See recent documents summary",
        "See recent activity feed",
        "View connected sources status"
      ]
    },
    {
      "featureKey": "ai-agent",
      "name": "AI Agent",
      "category": "ai",
      "status": "beta",
      "url": "/agent",
      "useCases": [
        "Ask the agent questions about workspace documents and accounting context",
        "Run agent tool actions that can update documents or integrations",
        "Pause sensitive actions for human approval",
        "Remember confirmed workspace context and reuse it in later agent runs"
      ]
    },
    {
      "featureKey": "memory",
      "name": "Workspace Memories",
      "category": "ai",
      "status": "live",
      "url": "/memories",
      "useCases": [
        "Review what Receiptor has learned about the workspace",
        "Edit or archive memories that should no longer be reused",
        "Save confirmed context and corrections for future processing",
        "Reuse categorization and routing preferences across documents"
      ]
    },
    {
      "featureKey": "referral",
      "name": "Referral Program",
      "category": "growth",
      "status": "live",
      "url": "/referral",
      "useCases": [
        "Enroll in the referral program",
        "Copy personal referral link",
        "View referral metrics: visitors, active customers, total sales",
        "See commission structure: 20% for 12 months per referral",
        "View customer discount offer",
        "See promo code for customers to share",
        "Access FirstPromoter dashboard for detailed analytics",
        "Track monthly payouts via PayPal, Wise, or bank transfer",
        "Minimum payout threshold: $50"
      ]
    },
    {
      "featureKey": "banking",
      "name": "Bank activity",
      "category": "banking",
      "status": "beta",
      "url": "/banking",
      "useCases": [
        "Connect bank accounts via Stripe Financial Connections",
        "Reconnect an existing bank account without showing a duplicate connection",
        "Select from connected accounts in dropdown",
        "View currency-aware current and available balances",
        "See account type: checking, savings, etc.",
        "See institution name and last 4 digits",
        "See bank transaction refresh freshness",
        "Filter transactions by date range",
        "View responsive transaction lists with date, description, currency, amount, and status",
        "See posted vs pending transaction status",
        "Paginate through transaction history with newer/older navigation",
        "Search connected Stripe activity for a safe document-group payment match",
        "View provider-neutral Stripe or Mercury payment evidence on a document",
        "See why payment evidence matched without automatically changing accounting records"
      ]
    }
  ]
}
