Skip to main content

Overview

Order upload is the primary data ingestion mechanism for High IQ. Users can get their purchase data into the app through four distinct methods, each optimized for different scenarios. This page documents every flow, decision point, error state, and edge case across all import methods.

Import Method Decision Tree

Flow 1: Receipt Photo Upload

The most common import method. User photographs a physical or digital receipt.

Happy Path

Review Screen States

Edge Cases & Error Handling

Detailed edge cases:
ScenarioWhat HappensUser Action Needed
Blurry photoError message with retake tipsRetake with better focus
Not a receipt”This doesn’t look like a receipt”Try again or use manual entry
Handwritten receiptLower confidence extractionReview carefully, edit as needed
Very long receipt (20+ items)All items extracted, scrollable reviewReview all items
Receipt with discountsDiscounts extracted as line itemsVerify final prices
Receipt in portrait orientationAuto-rotated before processingNone
Receipt with cannabis slangAI trained on cannabis terminologyMay need minor edits
Duplicate receiptNo automatic detection for photosUser’s responsibility to check
Image > 10MBAuto-resized on deviceNone
Offline when submittingError message, retry when onlineWait for connectivity
AI extraction timeoutRetry prompt after 30 secondsTap retry or try manual

Flow 2: Gmail Sync

Bulk import of historical orders from Gmail. See Gmail Sync for the complete feature guide.

First-Time Flow

Quick Sync Flow (Returning Users)

Gmail Edge Cases

ScenarioHandling
No receipts found in any time rangeFriendly empty state with alternative methods
200+ receipts foundWarning to import in batches of 50
Google Workspace restrictionsError explaining corporate email limitations
Token expiredSilent re-authentication, retry scan
Dispensary receipt from unusual formatAI classification with confidence score
Same order in multiple emailsDeduplicated by Gmail message ID
Forwarded receipt emailsClassified by content, original date used
User revokes Google permissions mid-importError with re-authorization prompt

Flow 3: Manual Entry

For users who want full control or when automated methods are not available.

Flow 4: Label Scanner to Stash

Using the label scanner as an entry point to stash management.

Confirm Order Screen

After AI parsing, the Confirm Order screen gives you full control before saving.

Inline Strain Re-matching

If a strain name was extracted incorrectly, tap any item name to edit it inline. When you finish typing (on blur or submit), the app immediately re-checks the name against the strain database:
ResultIndicatorWhat It Means
Match foundGreen dot + confidence %Strain profile linked — item will be saved to stash
No matchRed dot + “New” badgeNo strain found — item will not be saved to stash
CheckingPulsing dot + “Checking…”Re-match in progress
If a strain shows a red dot, try typing the most common version of the name (e.g., “GSC” → “Girl Scout Cookies”). The database has 16,000+ strains and most common names match.
Only items with a confirmed strain match (green dot) are added to your stash. Items with no match are saved to your order history but not to your active inventory. This ensures stash features like the music player, Cannabis Coach, and restock predictions work correctly.

”Your Input” Pane

A collapsible section below the order date shows the original raw text you pasted or scanned. Use it to spot parsing errors — if the AI misread a strain name, you can find the correct spelling in your original input and retype it in the item field.

Saving with Unmatched Items

SituationWhat Happens
All items matchedOrder saved, all items added to stash
Some items matched, some unmatchedOrder saved, matched items go to stash, unmatched items are not saved (info toast shown)
Zero items matchedSave blocked — at least one strain must match before you can confirm

Cross-Method Data Comparison

Data PointReceipt PhotoGmail SyncManual EntryLabel Scanner
Strain nameAI extractedAI extractedUser selectedAI extracted
PriceAI extractedAI extractedUser enteredNot available
QuantitySometimes extractedSometimes extractedUser enteredNot available
DispensaryAI extractedAuto-detectedUser selectedNot available
Product typeAI inferredAI inferredUser selectedAI detected
Terpene dataNot availableNot availableNot availableAI extracted
Adds to stashYes (current)No (historical)Yes (current)Optional
Duplicate checkManualAutomatic (message ID)ManualNot applicable

Post-Import Processing

After any import method, a common processing pipeline runs:

Stash Management

What happens after orders are imported.

Gmail Sync

Complete Gmail Sync feature documentation.

Label Scanner

Full label scanning user flow.

Achievement System

How order uploads trigger achievements.