The all-in-one reseller dashboard for tracking inventory, sales, profits, and cross-platform listings.
FlipTrack offers three subscription tiers to match your reselling needs. Features above your current tier appear in the navigation with a lock icon and show an upgrade prompt when clicked.
Core tools to get started with reselling:
Track up to 50 items with full details, photos, and platform tagging. A soft-cap warning appears at the limit.
Full dashboard with KPI cards, goals, profit calendar, death pile, and quick export.
Record unlimited sales and expenses with filtering, search, and running totals.
Track supplies with low-stock alerts. Import and export inventory via CSV.
Everything in Free, plus the tools to scale your business:
Full Insights analytics, Profit Dashboard with per-item analysis, and Value Breakdown view.
P&L statements, trend analysis, and period comparisons with PDF export.
AI-generated listing text, templates, status matrix, and Copy & List workflow for all platforms.
AI Identify, AI Listing Generator, Price Research, and marketplace comparables.
Haul tracking with per-location ROI, and Buyer CRM with tier-based profiles.
Shipping queue, packing slips, return tracking, and bulk fulfillment tools.
Unified 0-100 Flip Score for every item. BUY/PASS/MAYBE verdict when sourcing. Arbitrage alerts and seasonal demand calendar.
Generate branded photo collages for social media. Download shareable receipt PNGs after sourcing hauls.
Everything in Pro, plus premium integrations and automation:
Direct API integration: publish, sync, and manage eBay listings. Etsy price sync on save.
Show planning, Smart Builder, analytics, cloning, run sheets, and show CSV exports.
Batch Barcode Scanner and Batch List mode for rapid multi-item workflows.
Quarterly estimates, Schedule C prep, mileage log, and year-over-year comparison.
Automated repricing engine with custom rules, platform targeting, and eBay auto-push.
Background removal, auto-enhance, watermarking, batch processing, and square padding.
Hands-free item entry via voice. Donate death pile items with tax-deductible FMV tracking on Schedule C.
FlipTrack is a Progressive Web App (PWA) — it works in your browser and can be installed to your home screen for a native app experience. All data syncs to the cloud via Supabase so you can access it from any device.
Click the Sign Up button in the top-right corner. Enter your email and a password, then verify your email address.
After verifying, log in with your credentials. Your account menu appears in the top-right showing your sync status.
On mobile, tap "Add to Home Screen" from your browser menu. On desktop, look for the install icon in the address bar. This gives you a full-screen app experience.
FlipTrack's 22 views are organized into three grouped dropdown menus in the header, keeping the interface clean and uncluttered. Navigation groups include ARIA expanded states for screen reader accessibility. Features above your tier display a lock icon.
Dashboard, Profit, Insights, Reports, Expenses, Tax Center, Period Compare, Platform ROI, Returns
All Items, Supplies, Value Breakdown, Sourcing & Hauls, Inventory Health, Sourcing Analytics, Listing Scores, Margin Alerts
Sales Log, Crosslist, Shipping, Buyers
Click any group to reveal its views. The active group highlights in blue so you always know where you are. On mobile, all views are accessible from the bottom navigation bar's "More" popup.
Your command center — a real-time overview of your reselling business. The dashboard updates automatically as you add items, record sales, and track expenses.
Six key metrics at a glance: inventory value, revenue, net profit, ROI, low stock alerts, and average days to sell.
Set custom revenue and profit targets. Track your progress with visual progress bars that update in real-time.
Heatmap calendar showing daily profit — green for profitable days, red for losses. Click any day for details.
Pie chart showing revenue distribution across all your selling platforms, color-coded by platform.
Identifies stale inventory that hasn't sold. Items are scored by urgency (0–100) so you know what to reprice or delist.
Banner notification for items that are out of stock or below your set threshold. Never miss a restock opportunity.
SVG bar chart showing items sold per week over the last 8 weeks. Includes trend indicator (up/down arrow with percentage), weekly average line, and hover tooltips with revenue details.
Visual breakdown of aging inventory in 30/60/90+ day buckets with bar indicators. Shows how many items are aging and the total cost at risk, helping you identify what needs repricing or delisting.
The dashboard includes a Quick Export section for downloading CSV templates and generating PDF reports. It also features a Backup & Restore panel where you can download a full JSON backup of all your data (inventory, sales, expenses, supplies) or restore from a previous backup file.
A deep dive into your profitability with per-item, per-platform, and per-category breakdowns. Filter by date range and sort by any metric.
| Item | Revenue | Cost | Profit | Margin |
|---|---|---|---|---|
| Nike Air Max 90 | $165.00 | $45.00 | $98.75 | 59.8% |
| Vintage Levi's 501 | $89.00 | $12.00 | $67.42 | 75.8% |
| PS5 Controller | $52.00 | $35.00 | $10.26 | 19.7% |
Switch between All Time, Last 7 Days, 30 Days, 90 Days, or Year-to-Date to analyze specific periods.
Sort by profit, ROI, margin, or revenue. Filter by platform or category to drill into specific segments.
See revenue and profit per selling platform to identify your most profitable channels.
Understand which product categories are driving the most profit and which need adjustment.
Your complete product catalog. Every item you source, list, and sell is managed here with rich filtering, sorting, inline editing, and bulk operations.
| ☐ | Item | Category | Price | Cost | Margin | Platforms | Actions |
|---|---|---|---|---|---|---|---|
| ☐ | Nike Air Max 90 | Shoes | $165.00 | $45.00 | 72.7% | eBay | ✏️ 🛒 🗑 |
| ☐ | Vintage Levi's 501 | Clothing | $89.00 | $12.00 | 86.5% | Posh Mercari | ✏️ 🛒 🗑 |
| ☐ | iPhone 13 Case | Electronics | $22.00 | $4.00 | 81.8% | eBay Etsy | ✏️ 🛒 🗑 |
The inventory view has a powerful multi-filter system. Combine any of these filters to narrow down your catalog:
Filter by any selling platform — eBay, Etsy, Poshmark, Mercari, Amazon, Facebook Marketplace, Depop, and more.
Filter by category, then drill into subcategory. Subcategory options update dynamically based on your selection.
In Stock, Low Stock, or Out of Stock. Quickly find items that need restocking.
Filter by item condition (NWT, NWOT, EUC, etc.) and smoke exposure (Smoke-Free, Exposure, Unset).
Sort your inventory by name, price, cost, margin %, ROI, days listed, or date added — in ascending or descending order.
Select multiple items using checkboxes, then perform batch actions:
Delete multiple items at once with undo capability. Items go to trash first.
Record sales for multiple items simultaneously.
Adjust prices for selected items by percentage or fixed amount. Preview changes before applying.
Reassign categories or change platform listings for multiple items at once.
Click any price in the inventory table to edit it inline — no need to open the full editor. Use the +/− buttons next to the quantity field for quick stock adjustments.
The Add Item modal is your primary way to get products into FlipTrack. Access it from the + Add Item button in the header or with Ctrl+N.
Name, category, subcategory. FlipTrack auto-detects Books for special fields (ISBN, Amazon rank, FBA calculator).
Enter your list price and cost. FlipTrack instantly shows expected profit and margin percentage.
Select which platforms you'll list on. Platform-specific fees are automatically factored into profit calculations.
Set condition, smoke exposure, color, size, brand, dimensions, and upload product photos with drag-and-drop.
When you select "Books" as the category, special fields appear: ISBN lookup (auto-populates title, author, publisher), Amazon sales rank, FBA fee calculator, and book-specific condition tags (Like New, Very Good, Good, Acceptable, Reading Copy, Collectible). You can also scan ISBNs with your device camera.
For products in multiple sizes or colors (e.g. S/M/L/XL of the same shirt), use variants instead of creating separate items.
The inventory list shows the parent with aggregate quantity. Click to expand and see individual variants. Each variant can be listed on different platforms at different prices. Selling a variant decrements only that variant's stock.
Click any item in the inventory table to open the slide-out Drawer editor. This is your full item management panel with everything in one place.
Edit name, category, price, cost. See real-time profit/margin preview as you adjust values.
Manage which platforms the item is listed on. View listing status per platform with expiration dates.
Upload, crop, rotate, enhance, and manage product photos. Remove backgrounds with AI.
Enter weight and dimensions. FlipTrack suggests optimal packaging and estimates shipping costs.
Set condition tag, smoke exposure, color, size, material, brand, model, style, and pattern.
View a chart of all price changes over time, including sale prices.
Record every sale with platform, price, fees, and shipping costs. FlipTrack automatically calculates your net profit per transaction.
Click the 🛒 icon on any inventory item, or use the Mark as Sold button in the drawer.
Choose the selling platform, enter the sale price, quantity, and shipping cost. Fees are auto-estimated based on platform fee structures.
The modal shows expected profit after fees. Choose per-unit or total pricing. Optionally back-date the sale.
Toggle Bundle in the sold modal to sell multiple items in a single transaction. When enabled, you can select additional items from your inventory. The total sale price auto-populates from the combined list prices, and the revenue is split proportionally across items based on their individual list prices. A red/green comparison shows how the bundle price compares to the original combined total, so you can instantly see the discount given.
The sold modal includes a collapsible Ship-to Address section with fields for street, city, state, and ZIP code. When filled in, this address auto-populates packing slips generated from the sale record, saving time on fulfillment.
Filter your sales history by date range and keyword search. The summary totals (revenue, fees, profit) update to reflect only the filtered results.
Track every business expense to maintain accurate profit numbers. Expenses feed into your Reports and Tax Center automatically.
Each expense requires a date, category, description, and amount. Use the search bar and date filters to find specific expenses. All expenses are included in your P&L reports.
Track your packing and shipping supplies inventory — boxes, mailers, tape, bubble wrap, labels, tissue, thank-you cards, and more. Set low-stock thresholds for automatic alerts.
Enter name, quantity, cost, and a low-stock threshold. FlipTrack alerts you when stock drops below the threshold.
Increment or decrement quantities with +/− buttons, or set exact values. Changes sync to the cloud immediately.
A banner appears on the dashboard when any supply falls below its threshold. Never run out of boxes again!
Data-driven intelligence about your reselling business. Insights analyzes your inventory, sales, and performance to surface actionable recommendations.
Top categories by revenue, profit, units sold, and total items. See which categories deliver the best margins.
Revenue and margin breakdown by platform. Identify which channels perform best for your products.
How fast items sell. Identifies fast movers vs. slow movers and stagnant inventory.
Best-selling items and highest-margin items. Helps you understand what to source more of.
Items that have never sold or are moving extremely slowly. Candidates for repricing or delisting.
30, 60, and 90-day performance snapshots showing revenue trends, seasonal patterns, and sell-through rates.
Generate professional Profit & Loss statements on a weekly or monthly basis. Navigate between periods to compare performance over time.
| Line Item | Amount |
|---|---|
| Revenue | $2,145.00 |
| Cost of Goods Sold | ($984.00) |
| Platform Fees | ($269.33) |
| Gross Profit | $891.67 |
| Shipping Supplies | ($42.00) |
| Packaging | ($18.50) |
| Software | ($9.99) |
| Net Profit | $821.18 |
| Margin | 38.3% |
Toggle between Weekly and Monthly using the buttons at the top.
Use the ◀ Previous / Next ▶ arrows to move between weeks or months.
Click Export PDF to download a formatted P&L statement for your records or tax preparation.
Visualize your inventory value distributed across categories and subcategories. Understand where your money is tied up and which categories contribute most to your business.
Each category row shows: total value, % of total, unit count, profit contribution, and average margin. Click any category to expand subcategory details. Click a subcategory to filter the inventory view to just those items.
Manage your multi-platform listings from a single interface. Track listing status, sync with eBay and Etsy APIs, manage Whatnot live shows, and keep all your platforms in sync.
Shows summary stats across all platforms: total active listings, expired listings, platforms connected, and quick action buttons.
| Item | eBay | Etsy | Poshmark | Mercari |
|---|---|---|---|---|
| Nike Air Max 90 | Active | Expired | — | Active |
| Vintage Levi's | Active | Active | Active | — |
| iPhone Case | — | Not Listed | Active | Active |
eBay is currently the only platform with full direct API integration.
Connect your eBay account via OAuth. FlipTrack can sync your active listings, push new items to eBay, publish drafts live, and end listings — all from the Crosslist panel. All API calls have a 15-second timeout with clear error messages if the connection is slow. On mobile, OAuth uses a redirect flow instead of a popup for reliability. Failed auto-list and crosslist cache operations now show toast notifications instead of failing silently.
eBay listings that are ended or deleted externally (directly on eBay, by another tool, or expired) are automatically detected during sync and marked as "ended" in FlipTrack. This keeps your Crosslist Status Matrix accurate without manual cleanup.
Price synchronization is one-directional: FlipTrack pushes prices to eBay, never the other way around. When you update a price in FlipTrack, it is automatically pushed to your eBay listing. This ensures FlipTrack remains the single source of truth for pricing across all platforms.
Repricing rules now automatically push updated prices to both eBay and Etsy when a rule fires. Previously, repriced items only updated locally — now the new price is synced to live listings on both platforms in real time.
Etsy push is now live. When pushing a listing to Etsy, FlipTrack shows a taxonomy picker (Etsy's required category tree) and a shipping profile selector so your listings go live immediately instead of being created as drafts. Select the correct Etsy taxonomy and your preferred shipping profile, and the listing publishes as an active listing on your Etsy shop.
Additional Etsy sub-tabs:
View favorites, total sold, active listings, and revenue summaries pulled from your Etsy shop.
Star rating average, distribution bar, and your 10 most recent reviews with rating and message.
View pending (unshipped) orders. Enter tracking numbers and carrier, then mark as shipped directly to Etsy.
View and edit listing tags (max 13). Get AI-suggested tags based on title and category. Push updated tags to Etsy.
Push product photos from FlipTrack to your Etsy listings via the API.
Push price and quantity changes to Etsy. Bi-directional quantity sync keeps both systems in alignment.
Plan and track your live shows: create show records, build item lineups from your inventory, mark items as sold during or after the show, track viewer peaks and expenses, and generate run sheets and prep lists. After shows, the analytics panel shows best day/time recommendations, sell-through rates, and category performance across all your recorded shows.
Save listing templates per category with variables that auto-fill from item attributes. Enable auto-relist rules (daily, weekly, or disabled) to keep listings fresh across platforms.
For platforms without direct API integration — Poshmark, Depop, Mercari, Grailed, Facebook Marketplace, and others — FlipTrack provides a Copy & List workflow to make crosslisting fast and easy.
In the Crosslist Status Matrix, each item row shows action buttons per platform:
Generates a platform-optimized listing description using AI, tailored to the specific platform's style and format (e.g., hashtag-heavy for Poshmark, clean and concise for Depop, live-show energy for Whatnot). Descriptions are hard-capped to each platform's character limit (1,000 for Whatnot/Depop/Mercari, 1,500 for Poshmark, 4,000 for eBay). The text is automatically copied to your clipboard.
Copies your default listing text (or template-based text) to the clipboard — title, condition, category, notes, and a shipping message.
Opens the platform's listing creation page in a new tab (e.g., poshmark.com/create-listing or depop.com/products/create). Just paste your text and upload photos.
Manually update the listing status (Active, Expired, Not Listed) to keep your Status Matrix accurate.
FlipTrack generates a listing optimized for that platform and copies it to your clipboard. For Poshmark, this includes relevant hashtags; for Depop, it keeps the style short and trendy; for Whatnot, it uses energetic live-show language. All descriptions stay within the platform's character limit.
The platform's listing creation page opens in a new browser tab, ready for you to paste.
Paste your listing text (Ctrl+V), upload your product photos, set the price, and publish. Then cycle the status in FlipTrack to "Active" so your Status Matrix stays up to date.
Manage your fulfillment workflow from sale to delivery. Access via More ▾ → Shipping in the nav bar.
All unshipped orders across all platforms in one list. Filter by platform, status, or date range.
Mark individual or batch orders as shipped with tracking numbers. Updates across all connected platforms.
Generate and print packing slips — single or batch. Customize with your seller info, logo, and format preferences.
Estimate rates from USPS, UPS, and FedEx based on weight and dimensions. Compares carriers to find the cheapest option.
Log and track customer returns with reason codes and status tracking.
Export your shipping log as CSV for records or carrier integration.
Track where you buy your inventory and how each sourcing trip performs. Access via More ▾ → Sourcing.
Record a sourcing trip with date, location (thrift store, estate sale, etc.), total spent, and notes.
Associate inventory items with the haul. FlipTrack splits costs evenly across linked items.
As items sell, FlipTrack calculates per-haul ROI, revenue, and profit. See which sources deliver the best returns.
Aggregated stats by location show: total hauls, total spent, total revenue, item count, ROI, and margin. Ranked by performance to identify your most profitable sources.
After a sourcing trip, click "Share Receipt" on any haul card to generate a branded 1080×1350 receipt-style PNG. The receipt shows haul name, date, location, item count, total invested, estimated value, projected profit, ROI percentage, and a mini item list — perfect for sharing on Instagram or with your reseller community.
Quarterly tax estimates and Schedule C preparation. Access via More ▾ → Tax Center.
Q1–Q4 breakdown with IRS due dates. Calculates self-employment tax (15.3%) and federal income tax based on 2025 brackets.
Full sole proprietor breakdown: revenue, COGS, gross profit, business expenses, and net profit — organized just like the IRS form.
Track business miles for the vehicle deduction ($0.655/mile for 2025). Add entries with date, start/end locations, and miles driven.
Compare tax liability across years to spot trends and plan ahead.
Build relationships with repeat customers. Access via More ▾ → Buyers.
Two separate badge systems track buyer value:
Both badges show side-by-side on buyer cards. A single-purchase buyer shows only the loyalty badge. The spending badge appears once they cross $100.
Each buyer profile tracks: name, email, phone, platform handles, total spent, number of purchases, items bought, and a communication log for notes and conversations. Buyers are automatically created when you record sales.
Track purchase offers from buyers across all platforms.
Offer Aging Alerts: Offers older than 24 hours appear as a dashboard banner so no potential sale goes cold. Counter Offers: Propose a counter-price that updates the offer record and keeps negotiation history intact.
Professional product photography tools built right into FlipTrack. Upload images via drag-and-drop or file picker (max 15 MB per image).
Crop to any aspect ratio, rotate, and flip images. Perfect for straightening product shots.
One-click brightness, contrast, and color correction for better listing photos.
AI-powered background removal creates clean, white-background product shots.
Add white padding to make photos square — perfect for marketplace listings that require square images.
Add your branding watermark to protect product photos from being stolen.
Apply enhancements to multiple images at once for efficient listing preparation.
Use your device camera to scan UPC, ISBN, or EAN barcodes. FlipTrack looks up the product and auto-populates item details. Works with front and back cameras.
Scan multiple items in one session using Ctrl+B. Each scanned item is queued, and you can adjust quantities or remove items before adding them all to inventory at once.
Take a photo of any item, and FlipTrack's AI will identify it — extracting brand, category, color, condition, and suggested pricing. Comps are now auto-fetched after identification, showing a comp-verified price badge with median, range, and confidence level. Enter your cost to get an instant BUY, PASS, or MAYBE sourcing verdict with estimated profit and days-to-sell.
Look up comparable prices by UPC or keyword across eBay, Amazon, and Etsy. View recent sold listings to determine optimal pricing. Integrates with the barcode scanner for instant lookups.
Fetch recently sold comparable listings from eBay via a Supabase edge function powered by the eBay Browse API — no OAuth required. Results are cached for 30 minutes. If the edge function is unavailable, FlipTrack falls back to your own local sales data.
Visual histogram showing the price range of comparable sold listings, with average, median, low, and high prices.
Confidence-based price suggestion (high, medium, low) based on comp data. One-click "Use Price" button in the add-item form. Accept/drop percentage buttons let you quickly adjust the suggested price up or down by a fixed percentage.
Each item's detail drawer includes a Comps tab showing live market data, price comparison vs your current listing price, and links to search external marketplaces.
When adding a new item, comps are automatically fetched when you finish typing the item name. A suggestion row appears with market price and a one-click apply button.
Anonymous aggregated sold prices across all FlipTrack users. Opt-in to contribute and query community medians with percentile ranges. Privacy-first: only sold prices shared, never individual data.
Automate price adjustments with rule-based repricing. Set conditions and let FlipTrack handle price drops on stale inventory.
| Rule | Condition | Action | Status |
|---|---|---|---|
| Stale 30-day drop | Unsold > 30 days | −10% | Active |
| Floor price | Margin < 15% | Hold price | Active |
| Weekend bump | Sat/Sun | Round to .99 | Paused |
Conditions include days listed, margin thresholds, platform-specific triggers, and Whatnot show performance. Actions include percentage drop, fixed amount drop, percentage raise, and Set to Comp Median — market-driven pricing that uses live eBay comp data instead of blind percentage adjustments. Rules can be applied to single items or your entire inventory. When a repriced item has a live eBay listing, price changes are automatically pushed to eBay. Etsy price sync is also supported.
FlipTrack sends in-app and (optionally) browser push notifications to keep you informed. Click the bell icon in the header to open the notification center.
When supply quantities drop below your set thresholds.
Alerts when items are selling faster or slower than usual.
Upcoming show reminders and post-show summaries.
Confirmation when a sale is successfully recorded.
Every morning, see yesterday's sales count, revenue, profit, and selling streak as an in-app notification and optional browser push. Never miss a day's results.
Flags items priced 20%+ below market (raise your price) or 30%+ above (consider lowering), based on live comp data.
Every inventory item gets a unified 0-100 Flip Score that combines four key metrics into a single sortable number. Find your best performers and identify items that need attention at a glance.
Higher profit margins earn more points. Items with 60%+ margin get full marks; below 15% scores near zero.
Newer items score higher. Items listed within 3 days get full points; items over 90 days score zero.
Based on your Listing Score (photos, title, description, pricing, metadata). Better listings = higher Flip Score.
Items with more sales and recent activity score higher. A sale within 14 days gets a bonus boost.
Grades: A (80+), B (60+), C (40+), D (20+), F (<20). Sort your inventory by Flip Score to prioritize which items to promote, reprice, or delist.
When scanning an item at a store with AI Identify, enter your cost to get an instant sourcing verdict. FlipTrack calculates estimated profit, margin, comp confidence, and days-to-sell from your own category history.
Margin > 40% with medium+ comp confidence. Strong profit potential with market validation.
Margin 15-40% or low comp confidence. Decent opportunity but research further before committing.
Margin < 15%, no comps, or estimated profit under $3. Not worth the effort.
Uses your own sales history to estimate how long similar items take to sell in that category. Fast-selling categories get a score bonus.
A per-category monthly demand heatmap showing when your items sell fastest. Requires at least 3 months of sales history. Displays in the Insights view.
Color-coded monthly grid for all categories and per-category breakdowns. Darker green = more sales that month.
Auto-generated insight strings like "Your Electronics sell 3x faster in November" help you time your sourcing and listing strategy.
Generate branded photo collages from your inventory for Instagram, TikTok, and other social platforms. Select items from inventory, choose a layout, and download or copy the image.
2×2 grid (1080×1080), 3×3 grid (1080×1080), single hero with details (1080×1350), and stories format (1080×1920).
Each cell shows the item photo with name and price overlays. FlipTrack watermark in the corner. Brand fonts and accent colors.
Download as PNG or copy directly to clipboard for instant sharing. Access via the bulk menu after selecting items.
Items stuck in the death pile at critical or extreme urgency show a "Donate" button. Record the fair market value and organization name, and FlipTrack automatically creates a tax-deductible expense entry.
Donations are recorded as expenses with category "donation" and appear as a Charitable Donations line in your Schedule C summary in Tax Center.
For donations over $250, FlipTrack displays a reminder that IRS requires written acknowledgment from the receiving organization.
Add items hands-free during sourcing runs using your device's microphone. FlipTrack uses the Web Speech API to continuously listen and parse item details from natural speech.
Say "Nike Air Max size 10 twenty dollars good condition" and FlipTrack extracts: name, price ($20), and condition (Good).
Items queue up as you speak. Review, remove any mistakes, then tap "Add to Inventory" to transfer them to the add-item form.
Works in Chrome, Edge, and Safari. Falls back gracefully with a "Voice not supported" message on unsupported browsers.
Anonymous aggregated sales data across all FlipTrack users. Opt in to contribute your sold prices and access community-wide medians, percentiles, and volume data.
Only sold prices are shared — never listed prices, item photos, or user identities. No individual data is ever exposed; only aggregated statistics are returned.
Query by category, brand, and condition to see median price, 25th/75th percentiles, and total sale count from the community pool.
Community pricing is off by default. Toggle on from settings to start contributing and accessing community data in the Comps panel.
Power user shortcuts for faster navigation and actions. Shortcuts are disabled when typing in input fields. Shortcut hints now appear as small badges on relevant buttons throughout the interface, so you can discover them naturally.
| Shortcut | Action | Badge Shown On |
|---|---|---|
| Ctrl + N | Open Add Item modal | Add Item button |
| Ctrl + F | Jump to Inventory search | Search input placeholder |
| Ctrl + E | Export all data | Export button |
| Ctrl + B | Open Batch Scan | Batch Scan button |
| Escape | Close any open modal, drawer, or overlay | — |
FlipTrack is designed to be accessible to all users. Version 1.7 completes the accessibility overhaul with WCAG-aligned improvements across the entire application, including 44px minimum touch targets on mobile, focus trapping in all modals and overlays, aria-labels on 88+ icon-only buttons, aria-hidden on decorative emoji, and aria-current on active navigation.
Slider from 80% to 130%, plus preset buttons: Small, Default, Large, and XL. Your preference is saved.
Choose between the default font (DM Mono) and a dyslexia-friendly option (OpenDyslexic). Adjustable weight.
Light and dark modes with high-contrast support. Your preference persists across sessions.
All interactive elements — buttons, links, tabs, selects, menu items — show visible :focus-visible outlines for keyboard navigation.
88 icon-only buttons across all views now have descriptive aria-labels. Close buttons, nav groups, stat cards, and all interactive elements are labeled for screen readers.
All form inputs — bulk action selects, sliders, toggles — are properly associated with <label> elements.
All product images use item names as alt text. Emoji placeholders include role="img" and aria-label. Lightbox dynamically updates alt text with item name and photo counter.
All modals and overlays trap keyboard focus inside and return focus to the trigger element on close — including add item, record sale, price research, identify, item drawer, batch scan, lightbox, scanner, CSV mapper, materials, trash, sold, and shipping.
All interactive elements meet the 44px minimum touch target size on mobile, compliant with WCAG 2.1 and Apple Human Interface Guidelines.
Modals use role="dialog" with aria-modal and aria-labelledby. ARIA live regions announce dynamic content updates.
Expandable navigation sections include aria-expanded state, announcing open/closed status to assistive technology.
Quick List is a streamlined camera-to-listing pipeline that lets you go from taking a photo to a fully populated Add Item form in seconds. Available from the header Tools menu and the mobile bottom nav bar.
Click Quick List from the Tools menu in the header, or tap the camera icon in the mobile bottom nav. Your device camera opens immediately.
Take a photo of the product. FlipTrack automatically sends the image to the AI Identify engine as soon as you capture it — no extra button press needed.
The Add Item form opens pre-filled with AI-detected details — name, category, brand, color, condition, and suggested pricing. Adjust any fields, add platforms, and save.
Collaborate with partners, employees, or virtual assistants by creating a team. Team members share the owner's inventory, sales, and expenses with role-based access control.
Open the Team panel from your account menu and click Create Team. Give your team a name — you are automatically assigned the Owner role.
Generate a 6-character invite code and share it with your team members. Codes can be single-use or multi-use. Members join by entering the code in their own FlipTrack account.
Set each member's role to control what they can do with the shared inventory.
When a member joins a team, their sync queries automatically use the team owner's account ID. This means all team members see the same inventory, sales, and expense data. Editors can add and modify items; viewers can browse and generate reports but cannot change data.
All team data is protected by Supabase RLS policies. Members can only access data their role permits, enforced at the database level.
Changes made by any team member sync in real-time to all other members via WebSocket subscriptions.
All analytics views — Profit Dashboard, Inventory Health, Platform ROI, and more — reflect the shared team data.
Users without a team continue to work in solo mode with their own private data, exactly as before.
FlipTrack includes a comprehensive guided tour that walks you through every major feature with 47 interactive steps across 11 sections. The tour highlights each feature on-screen with tooltips that explain what it does and how to use it.
KPI cards, goals & profit calendar, platform breakdown, and quick activity views.
Add Item form, AI Identification, barcode scanning, batch scan, Quick List, and prefill features.
Filters, sorting, bulk actions, inline editing, and the item detail drawer.
Recording sales, sales log, and the Profit Dashboard.
Crosslist dashboard, status matrix, eBay integration, and Copy & List workflow.
CSV import/export, accessibility panel, notifications, and account settings.
Inventory Health, Sourcing Analytics, Platform ROI, Period Compare, Returns Tracking, Listing Scores, and Margin Alerts.
Flip Score, Source Score, Comps Auto-Pricing, Arbitrage Alerts, Seasonal Demand Calendar, and Community Pricing.
Social Photo Gallery, Haul ROI Receipts, Daily Sales Digest, and Voice-Powered Adding.
Donation Tracker, Smart Repricing with Comps, and market-driven pricing rules.
The tour automatically navigates to the correct view for each step — if the tour reaches a step that requires the Inventory view, FlipTrack switches to it seamlessly. Steps targeting elements that are not currently visible (e.g., desktop-only buttons on mobile) are automatically skipped.
FlipTrack works fully offline. All data is stored locally in your browser's IndexedDB. When you're online, changes sync to Supabase in real-time for multi-device access.
When you go offline, an amber banner appears at the top of the screen: "You are offline — data will sync when you reconnect." All changes queue automatically. When connectivity returns, queued changes push to the cloud and a toast notification confirms sync completion. A mutex-based sync guard prevents concurrent sync operations from corrupting data. All sync failures now display user-facing toast notifications (e.g., "Sync failed — changes saved locally, will retry" and "Cloud sync error — your data is safe locally") so issues are never silent.
Signing out now performs a comprehensive cleanup: all background sync intervals (eBay/Etsy polling) are stopped, IndexedDB metadata is cleared, localStorage data is purged, and realtime channel subscriptions are removed. This ensures a clean state for the next session.
The sync icon in the header shows your current status: spinning during sync, a checkmark when synced, or a warning badge when changes are pending. The timestamp shows when data was last synced.
FlipTrack lets you download a complete JSON backup of all your data and restore from it at any time. This is independent of cloud sync — it's your personal safety net.
On the Dashboard, scroll to the Quick Export panel in the right column.
A JSON file named fliptrack-backup-YYYY-MM-DD.json downloads to your device containing all inventory, sales, expenses, and supplies data.
In the same Quick Export panel, click the Restore Backup button and select your JSON backup file.
A confirmation dialog shows the backup date and item counts. Confirming replaces all current data with the backup contents and syncs to the cloud.
All items with full details: names, SKUs, UPCs, categories, platforms, pricing, conditions, images (URLs), dimensions, and custom fields.
Complete sales history with prices, quantities, fees, shipping costs, dates, and buyer information.
All expense records with categories, amounts, dates, and descriptions.
Packing supplies inventory with quantities and costs.
FlipTrack supports tracking inventory and sales across 15+ selling platforms, each with accurate fee structures built in.
| Platform | Transaction Fee | Processing |
|---|---|---|
| eBay | 12.9% + $0.30 | Included |
| Etsy Coming Soon | 6.5% + $0.20 | 3% + $0.25 |
| Poshmark | 20% (orders > $15) | Included |
| Mercari | 10% | 2.9% + $0.50 |
| Amazon | 15% (avg) | Included |
| Facebook MP | 5% (shipped) | Included |
| Depop | 10% | Included |
| Whatnot | 8% | 2.9% + $0.30 |
eBay is the only platform with live API integration. Etsy integration is coming soon. All other platforms (Poshmark, Depop, Mercari, Grailed, Facebook Marketplace, etc.) are supported via the Copy & List workflow — use AI-generated listing text, deep links, and manual status tracking in the Status Matrix. Whatnot is supported with planning and analytics tools (not direct API). You can record sales from any platform.
Bulk-add items from a CSV file. FlipTrack maps columns to item fields automatically.
Export your inventory, sales, tax summary, or show data as CSV files for spreadsheets or external tools.
Generate formatted P&L statements, tax summaries, and analytics as downloadable PDFs.
Generate UPC/EAN barcodes and QR codes. Print barcode label stickers with custom sizing.
Deleted items go to the Trash first — they are not permanently removed immediately. Open the Trash modal to restore individual items or empty the trash permanently. This acts as a safety net against accidental deletions.
The Inventory Health dashboard gives you a diagnostic view of your unsold inventory — how old it is, where your money is stuck, and which categories turn over fastest. Use it to identify stale inventory and optimize your sourcing decisions.
Items are grouped into four age buckets — 0-30 days (fresh), 31-60 days (aging), 61-90 days (stale), and 90+ days (dead stock). Color-coded bars show how your inventory distributes across these buckets, with item counts and dollar values for each.
A sortable table showing sell-through rate, average days to sell, and ROI for each product category. Quickly identify which categories are hot sellers and which are dragging down your overall performance.
Side-by-side columns showing your top 8 and bottom 8 items by return on investment. Click any item to open its detail drawer. Helps you double down on winners and learn from underperformers.
Visual bar charts breaking down your unsold inventory by category, condition, and platform. See at a glance where your money is concentrated.
Sourcing Analytics complements the Sourcing & Hauls view by analyzing the profitability of your sourcing locations and trips over time. See which thrift stores, estate sales, and online sources deliver the best ROI.
Per-source breakdown showing total items purchased, items sold, revenue, profit, and ROI percentage. Identifies your most and least profitable sourcing locations.
Monthly sourcing spend and return trends. See if your sourcing is becoming more or less efficient over time.
Highlights your highest-ROI individual items by source, so you know what kinds of finds to look for at each location.
Average cost per item by source and overall, helping you set smarter sourcing budgets.
Compare the performance of every selling platform side by side. Platform ROI shows revenue share, average margins, fee impact, and sell-through speed for each marketplace you use.
| Platform | Sold | Revenue | Margin | Avg Days | Fee Rate |
|---|---|---|---|---|---|
| eBay | 42 | $2,840 | 52% | 14d | 13% |
| Poshmark | 18 | $1,120 | 48% | 21d | 20% |
| Mercari | 12 | $680 | 38% | 18d | 10% |
Visual bar chart showing what percentage of your total revenue comes from each platform. Helps you decide where to focus your crosslisting efforts.
Full metrics table with sold count, revenue, profit, margin, ROI, average days to sell, average fees, fee rate, and top-selling category per platform.
Period Compare shows your business performance side by side across time windows — this week vs last week, this month vs last month, and a rolling 30-day comparison. Trending arrows highlight which metrics are improving or declining.
This week vs last week with six KPIs: revenue, profit, items sold, items listed, average sale price, and expenses.
This month vs last month — same KPIs with trend arrows showing percentage change.
Last 30 days vs the previous 30 days — smooths out week-to-week noise for a clearer picture.
A bar chart showing monthly revenue and profit for the past 12 months, plus a sortable monthly breakdown table. Identifies seasonal patterns and long-term growth trends.
Track returns and refunds with reason codes, refund amounts, and restock status. Returns Tracking identifies problem categories and items so you can reduce your return rate over time.
Click "Log Return" to select a sale, choose a reason code (9 built-in options like "Not as described" or "Defective"), enter the refund amount, and optionally restock the item back to inventory.
Dashboard cards showing total returns, return rate, total refunded, and revenue lost. Updated in real time as you log returns.
Visual bar chart of return reasons ranked by frequency — quickly see if "Not as described" or "Defective" is your biggest issue.
Table showing which product categories have the highest return rates, so you can improve descriptions or avoid problematic items.
FlipTrack checks your eBay orders every 30 minutes for cancellations and refunds. When detected, an urgent notification fires — in-app toast, sound alert, and browser push notification. The return is auto-logged in your Returns Tracking with the correct reason and refund amount, and the item is automatically restocked to inventory.
Restocking a returned item now correctly increments the item quantity in inventory (previously it only toggled the sold status without updating quantity).
Listing Scores grades every unsold item on a scale from A to F based on listing completeness — title quality, photos, description length, pricing, and platform coverage. Actionable suggestions help you improve weak listings.
Each item is scored on title length, photo count, description quality, whether a price is set, if a category is assigned, and how many platforms it's listed on. The overall grade is weighted and combines into a letter grade with color coding.
Each item shows its individual grade plus specific tips — for example, "Add 2 more photos," "Write a longer description," or "List on more platforms." Click any item to open its editor and make improvements.
Margin Alerts continuously scans your unsold inventory and flags items that fall below your profit thresholds. Set your own minimum margin percentage, minimum dollar profit, and stale-day cutoff to catch problems before they hurt your bottom line.
Adjust three key thresholds directly on the page. Changes save to your browser instantly and persist across sessions:
Alert when an item's profit margin is below this percentage (default: 20%). Critical alert if margin is negative.
Alert when dollar profit is below this amount (default: $5). Catches items where the margin percentage looks fine but actual dollars are too low.
Flag items that have been listed longer than this many days (default: 60). Critical alert at 120+ days.
Alerts are color-coded by severity — critical (red), high (orange), and medium (yellow). Each alert shows the item name, the specific issue, and links directly to the item editor so you can take action immediately.
Items with cost recorded but no listing price set get an automatic "high" alert — money is invested but the item isn't priced for sale.
Generate platform-optimized product descriptions using AI. Adapts tone and formatting for eBay, Poshmark, Depop, Mercari, Whatnot, and more. Descriptions are automatically capped to each platform's character limit (e.g., 1,000 for Whatnot, Depop, and Mercari; 1,500 for Poshmark; 4,000 for eBay) so listings are always ready to paste.
Snap a photo and let AI identify the product — brand, category, condition, and suggested price.
Remove cluttered backgrounds from product photos for clean, professional listings.
Get optimized tag recommendations for Etsy listings based on title, description, and category analysis.
Major improvements to eBay order sync, sale calculations, notifications, and inventory management.
Push notifications now fire for eBay sales, best offers, and auction completions — not just returns and cancellations. Works even when the tab is in the background.
Sale price now matches eBay's displayed Subtotal (item price only). Previously bundled shipping and handling into the price, causing mismatches with eBay's numbers.
New field on sales for platform surcharges not captured by the API (e.g., eBay's 6% below-standard store performance fee). Calculates on the correct fee basis and shows as an orange badge in the sales table.
The Sync button now runs eBay listing sync alongside cloud sync. No more waiting for the 15-minute auto-cycle — click sync to check for new orders immediately.
Tracking numbers and shipped status now populate immediately when a sale is first detected, instead of requiring a separate backfill cycle.
Auction items show Current Bid, Start Bid, and Reserve Price instead of profit/margin/ROI in the item drawer. Bids update from eBay's Browse API on each sync. Auctions excluded from margin alerts.
Buyers now have two badge systems: Loyalty (by purchase count: New → Regular → VIP → Elite) and Spending (by total spent: Shopper → Regular → Big Spender → Store Sponsor).
Source names are automatically deduplicated — "Marshall's" and "Marshalls" merge into one entry. Runs on save and retroactively on startup. Keeps Sourcing Analytics clean.
The Stale/Stuck cards in Inventory Health are now clickable — expand to see every item 60+ days old with Edit and Quick -10% reprice buttons for immediate action.
eBay Trading API and Offer API errors are detected on first failure and silently skipped on subsequent syncs. Flags persist across sessions via IDB — no more console error spam.
A major expansion of Whatnot tools with 14 new features built for live sellers. No other reseller tool offers this level of Whatnot integration.
Real-time command center during live shows: running revenue, sell-through rate, elapsed timer, items remaining queue, and revenue-per-hour. Quick-action buttons to mark items sold or given away.
Group show items into auction lots with names and starting bids. Lots appear on run sheets with item breakdowns and total value calculations.
Set a revenue target for each show. Progress bar tracks achievement in real-time during live shows. Analytics tab shows goal hit rate across all shows.
Auto-generate a shareable text recap after shows: items sold, revenue, sell-through, top seller, giveaways, and goal status. Copy to clipboard for posting on social media.
Push notifications at 60 minutes and 15 minutes before scheduled shows. Uses existing VAPID push infrastructure for background delivery.
Data-driven bid suggestions based on show history, comp data, and list prices. Shows suggested bid, min/max range, and reasoning for each item in the Pricing tab.
Identifies categories that haven't been featured recently. Shows days since last show, sell-through rate, and urgency status. Ensures balanced show content over time.
Track items given away during shows for engagement. Records cost impact on P&L so profit calculations stay accurate. Giveaway button available during live shows.
Select any two past shows for side-by-side metric comparison: items, sold, sell-through, revenue, profit, rev/hour, duration, peak viewers, and giveaway cost.
Global view of all unshipped sold items from Whatnot shows. Shows item name, show name, sale date, price, and bin location. One-click "Mark Shipped" workflow.
Per-item storage location field shown on run sheets, live dashboard queue, and shipping queue. Helps hosts grab items quickly during live shows.
AI-powered prescriptive suggestions: "Move to Whatnot $1 auction," "Bundle into lot," "Drop price 15%," "Crosslist to more platforms," or "Donate for tax write-off." Based on aging, show history, and comp data.
Suggested prices per platform accounting for fee structures and buyer culture: +25% for Poshmark's offer culture, -5% for Mercari, auction bids for Whatnot, +15% for Etsy vintage premium.
AI-generated descriptions now respect platform character limits: 1,000 for Whatnot/Depop/Mercari, 1,500 for Poshmark, 4,000 for eBay. Whatnot descriptions use live-show-friendly language. Default 1,000 char safety net for all platforms.
All analytics are in Crosslist > Analytics tab:
Three new features that go beyond what competitor reseller tools offer — supply cost intelligence, peer benchmarking, and a seamless sourcing-to-listing pipeline.
Automatically distribute bulk supply costs (boxes, poly mailers, labels, tape) across individual inventory items as part of COGS. Five allocation methods: Per-Item (fixed cost each), Per-Shipment (on sale), Even Split (across stock), By Weight Class (light/medium/heavy multipliers), and By Category (custom rates per category). Run bulk allocation from Supplies view and see true profit per item with supply costs factored in.
See how your monthly metrics compare to other resellers with anonymized percentile rankings. Tracks revenue, profit, units sold, average profit per item, ROI, sell-through rate, and days to sell. Each metric shows a percentile bar, label (Top 10%, Above Average, etc.), and tier classification: Power Seller, Full-Time, Part-Time, or Hobbyist. Privacy-first — your data never leaves your device.
When scanning items in Sourcing Mode, check "Auto-queue for crosslisting" and select target platforms (eBay, Poshmark, Mercari, Whatnot, Depop, Facebook). Items are added to inventory AND queued for crosslisting in one step. Eliminates the gap between sourcing and listing — scan, score, add, and list in a single workflow.
Version 2.0 is a major release focused on automation, platform integrations, and mobile experience. Bundle sales, automatic eBay return detection, live Etsy push, and a redesigned mobile layout headline 14 new features and improvements.
Sell multiple items in a single transaction. The "Bundle" toggle in the sold modal lets you select items, auto-populates the total from list prices, and splits revenue proportionally. Red/green comparison shows discount vs. original total.
Collapsible Ship-to Address fields (street, city, state, ZIP) in the sold modal. Addresses auto-populate packing slips for faster fulfillment.
FlipTrack checks eBay orders every 30 minutes for cancellations and refunds. Fires urgent notifications (toast, sound, push). Auto-logs returns and restocks items.
Listings ended or deleted externally on eBay are automatically detected and marked as "ended" in FlipTrack during sync.
One-directional price sync: FlipTrack pushes prices to eBay (never pulled from eBay). Repricing rules auto-push to both eBay and Etsy.
Etsy push now shows a taxonomy picker and shipping profile selector so listings go live immediately instead of as drafts.
Immediate visual feedback when saving or syncing data. A progress bar shows operation status so you always know when your data is safe.
Custom appPrompt replaces the broken native window.prompt on iOS PWA, restoring full functionality for all prompt-based inputs.
Four new inventory categories added: Sneakers, Jewelry, Video Games, and Media. Better organization for specialized resellers.
Redesigned mobile inventory view with a card-based layout optimized for touch interaction and small screens.
Comps are now powered by the eBay Browse API via a Supabase edge function, providing richer market pricing data with accept/drop percentage buttons on suggested prices.
Flip Score formula updated so high-margin items are no longer penalized for age. Better reflects true resale potential for slow-but-profitable inventory.
Welcome CTA for new users, empty dashboard banner with getting-started guidance, and friendlier error messages throughout the app.
URL hash routing keeps you on the current page when you refresh. No more losing your place — bookmarkable views and back-button navigation.
Version 1.9 connects FlipTrack's existing AI, comps, and analytics systems into user-facing flows that no competitor has. 12 new features across 6 phases — smart sourcing verdicts, market-driven repricing, social content generation, voice input, donation tracking, and community pricing.
AI Identify now auto-fetches comp data from eBay sold listings. A comp-verified price badge shows median, range, and confidence level — no manual research needed.
Enter your cost in the Identify results to get an instant BUY, MAYBE, or PASS sourcing verdict with estimated profit, margin analysis, and days-to-sell estimate.
Every item gets a unified score combining margin, freshness, listing quality, and demand signal. Sortable column in inventory. Grades A through F.
Morning notification with yesterday's sales count, revenue, profit, and selling streak. In-app and optional browser push.
New "Set to Comp Median" repricing action uses live eBay market data instead of blind percentage drops. Market-driven pricing.
Scans inventory against market comps to flag underpriced (raise!) and overpriced (lower!) items. Shows in Insights with suggested actions.
Generate branded photo collages (2×2, 3×3, hero, stories) from selected inventory items. Download as PNG or copy to clipboard for social media.
Per-category monthly demand heatmap in Insights. Shows when categories sell fastest with auto-generated timing insights.
Generate branded 1080×1350 receipt PNGs for sourcing hauls. Shows items, cost, value, profit, and ROI — shareable on social media.
Donate death pile items with FMV recording. Auto-populates Charitable Donations line in Schedule C for tax deductions.
Hands-free item entry via Web Speech API. Parses item names, prices, and conditions from natural speech during sourcing.
Opt-in anonymous aggregated sales data across all FlipTrack users. Query community medians and percentiles by category.
Version 1.8 added sales momentum tracking, smarter dashboard intelligence, CSV expense imports, listing expiry visibility, tracking number logging, return rate analysis, and 94 bug fixes across the entire codebase.
A streak widget on the dashboard counts consecutive days you've made at least one sale. Stay motivated and spot gaps in your selling cadence before they become a pattern.
The Insights view now surfaces your best-performing day of the week by sales volume and revenue, with actionable listing timing advice.
A dashboard banner flags pending offers older than 24 hours with item names and amounts so you never let a buyer go cold.
The Add Item modal now has a Snap button that opens your camera and runs AI Identify in one tap — photo to pre-filled form in seconds.
Enter carrier tracking numbers when recording a sale. Numbers are stored on the sale record and displayed as clickable tracking links in the sales table.
The Platform ROI comparison table now includes a return rate column showing the percentage of sales returned per platform.
Bulk-import expenses from any CSV file. Auto-detects date, category, description, and amount columns from bank exports and PayPal transaction histories.
Inventory rows now show days since last sale and listing expiry countdowns. Expiry badges appear when any platform listing expires within 7 days.
Comprehensive audit fixed XSS escaping gaps, O(n²) performance issues, team data isolation bugs, offline sync reliability, accessibility (44px touch targets, ARIA states), and mobile CSS compatibility.
Version 1.7 added dashboard intelligence (sales velocity charts, inventory aging), full data backup & restore, keyboard shortcut discoverability, and improved error handling across the sync layer.
New SVG bar chart on the dashboard showing items sold per week over the last 8 weeks. Includes a trend indicator comparing the last 4 weeks vs. the prior 4 weeks (up/down arrow with percentage change), a dotted average line, and hover tooltips showing per-week revenue breakdown.
New dashboard panel breaking down in-stock inventory into 30-59 day, 60-89 day, and 90+ day aging buckets with visual progress bars. Displays total aging items and cost at risk so you can take action before stock becomes dead inventory.
Download a complete JSON backup of all your data — inventory, sales, expenses, and supplies — in a single file. Restore from any previous backup with a confirmation dialog showing item counts. Located in the Quick Export section on the dashboard.
Keyboard shortcuts are now displayed as small badge hints on their corresponding buttons (e.g., "Ctrl+N" on the Add Item button, "Ctrl+F" in the search placeholder). Badges auto-detect Mac vs. Windows and are hidden on mobile screens.
All sync failures now display user-facing toast notifications instead of silent console warnings. Push failures show "Sync failed — changes saved locally, will retry" and pull failures show "Cloud sync error — your data is safe locally."
Added styled components for sales velocity chart (.sv-*), inventory aging summary (.aging-*), and keyboard shortcut badges (.kbd-hint). All responsive — shortcut badges hidden on mobile via media query.
Version 1.6 added Quick List, multi-user team support, enhanced comparables pricing, and a comprehensive in-app guided tour, plus significant accessibility and security improvements.
Camera-to-listing in seconds: open camera, snap a photo, AI auto-identifies the item, and a pre-filled Add Item form appears with name, category, brand, condition, and suggested pricing.
Create teams, invite members with 6-character codes, assign roles (Owner, Editor, Viewer), and share inventory with real-time sync. Supabase RLS enforces role-based data access.
eBay comps powered by a Supabase edge function with app-level credentials (no OAuth needed). Includes price distribution histograms, confidence-based pricing suggestions, a Comps tab in the item drawer, and inline comps in the Add Item form.
42-step interactive tour across 11 sections covering every view. Smart navigation auto-switches views, skips hidden targets, and supports both desktop and mobile layouts.
Focus trapping added to batch scan, lightbox, scanner, CSV mapper, materials, trash, sold confirmation, and shipping modals — completing coverage across all overlays.
16 hardcoded hex colors in Phase 9 views replaced with CSS variables (--good, --warn, --danger). New semantic aliases added: --error, --loss, --fresh, --aging, --stale, --dead.
31 emoji nav icons now have aria-hidden="true" to prevent screen reader noise. Active nav items include aria-current="page" for accurate navigation context.
CTA pulse animation, footer navigation links, and the first FAQ auto-opens for better first-visit experience.
Fixed eBay and Etsy OAuth callback validation that previously accepted null state parameters, closing a CSRF bypass vulnerability.
Fixed escHtml→escAttr in photo-tools.js HTML attribute context. Continued XSS prevention across rendering paths.
Fixed offline queue retry counter that was resetting on re-enqueue, causing infinite retry loops for failed operations.
Fixed returns dirty-tracking parameter order, sourcing revenue calculation using wrong field, trapFocus() event listener memory leak, and restoreItem() accepting invalid indices.
Version 1.5 introduced Phase 9: Analytics & Intelligence — seven new views providing deep visibility into inventory health, sourcing performance, platform ROI, period trends, returns tracking, listing quality, and margin alerts.
Aging breakdown (0-30d, 31-60d, 61-90d, 90d+), category turnover rates, ROI ranking of top and bottom items, and composition charts by category, condition, and platform.
Per-source ROI breakdown, trend analysis over time, best individual finds, and average cost-per-item by sourcing location.
Side-by-side comparison of every selling platform — revenue share, margin, fee rate, average days to sell, and top category per platform.
Week-over-week, month-over-month, and rolling 30-day comparisons with trending arrows. 12-month trend chart and monthly breakdown table.
Log returns with 9 reason codes, track refund amounts, auto-restock items, and identify problem categories with high return rates.
A-to-F grading of every unsold item based on title, photos, description, pricing, and platform coverage. Actionable per-item suggestions.
Configurable threshold alerts for low margin %, low dollar profit, stale inventory, and items missing a price. Severity-based color coding (critical/high/medium).
Fixed inventory value flickering on refresh caused by animated counter race conditions. Values now animate once per page load and update directly on subsequent syncs.
Dashboard stats now refresh after every sync operation (initial, realtime, and mobile sync) instead of showing stale cached values.
Added 23 missing CSS classes for Phase 9 views. Fixed naming mismatches between JS modules and stylesheets.
Period Compare profit bars now scale correctly against max profit (not revenue). Trend arrows handle edge cases like negative growth from zero baseline.
Version 1.4 focused on deep security hardening, reliability improvements, mobile experience, and comprehensive accessibility.
All dynamic values in HTML attribute contexts (onclick handlers, title attributes, data attributes) now use escAttr() instead of escHtml() for proper attribute-context escaping. Covers all views and feature modules.
External API data from eBay and Etsy (product titles, images, error messages) is now escaped before rendering to prevent injection from third-party sources.
All eBay and Etsy API calls now have a 15-second AbortController timeout with clear error messages: "Request timed out" or "Network error — check your connection."
Silent failures eliminated: eBay auto-list, crosslist cache generation, and sync interval errors now surface user-visible toast alerts.
Full mutex-based sync guard prevents concurrent sync operations from corrupting dirty tracking. Upgraded from basic flag to proper lock pattern.
Signing out now stops all background intervals (eBay/Etsy polling), clears IndexedDB metadata, purges localStorage, and removes realtime channel subscriptions.
All date calculations now use local timezone consistently via localDate() instead of UTC toISOString(), preventing off-by-one date errors near midnight.
Subcategory rows in the Value Breakdown view are now clickable — a missing closing tag prevented the click handler from attaching.
All interactive elements meet the 44px minimum touch target size on mobile, compliant with WCAG 2.1 and Apple Human Interface Guidelines.
eBay and Etsy OAuth connections now use redirect flow instead of popup on mobile for reliable connection without popup blockers.
Batch barcode scanner uses photo capture mode on mobile instead of video stream for better compatibility across devices.
Drawer buttons no longer hidden behind the iOS home indicator. Mobile horizontal overflow eliminated with overflow-x containment.
Every icon-only button across all views now has a descriptive aria-label — condition tags, scan buttons, action buttons, and more.
Product images use item names as alt text. Emoji placeholders include role="img" and aria-label. Lightbox updates alt text dynamically.
Price research and identify modals now trap keyboard focus inside and return focus to the trigger element on close.
50+ hardcoded z-index values migrated to a CSS custom property scale (--z-dropdown through --z-toast) for consistent and predictable layering.
Small, Default, Large, and Extra Large presets now scale correctly across all content areas without breaking layout.
Inventory action buttons (Sold/Edit/Delete) no longer overlap on mobile screens. Header elements flex properly with min-width constraints.
Version 1.3 brought the subscription tier system, comprehensive accessibility foundations, and initial reliability hardening.
Three tiers (Free, Pro $12/mo, Unlimited $25/mo) with hybrid gating. Locked features show lock icons and display an upgrade modal with tier comparison.
Centered overlay with tier comparison cards showing feature breakdowns, "Maybe Later" and "View Pricing" options.
New Supabase profiles table with subscription_tier tracking, auto-created on signup via database trigger with row-level security.
When eBay or Etsy detects a sale via order sync, FlipTrack automatically decrements item quantity and marks other platform listings as sold-elsewhere when fully sold out — preventing overselling.
Pro and Unlimited view code now loads in separate bundles. Free-tier users get a 78% smaller initial JS payload (597 KB → 127 KB), and Pro feature initialization is deferred until needed.
All interactive elements now show visible focus outlines via :focus-visible CSS across 6 stylesheets — buttons, links, tabs, selects, menu items.
Close buttons, navigation groups, stat cards, and interactive elements have descriptive aria-labels. Upgrade modal uses role="dialog".
All form inputs properly associated with <label> elements. Bulk action selects, sliders, and toggles fully labeled.
All photo slots include descriptive alt text. Photo images support Enter key activation with tabindex and role="button" attributes.
Concurrent sync operations prevented by _isSyncing flag, eliminating data conflicts during rapid saves.
Auth event listeners initialized once with guard flag, preventing duplicate registration on re-render.
Notification center prevents duplicate event listener setup when re-initialized.
Batch barcode scanner properly clears setTimeout timers when closing, preventing background leaks.
All CSS custom properties (--hover, --card, --bad) defined in :root. Muted text contrast improved from #555 to #777.
Color utility functions return safe fallback (--muted) for unrecognized status codes instead of undefined.
Per-item profit analysis with margin badges, platform filtering, and summary KPI cards.
Trend tracking, platform comparison, and margin trend analysis in the Insights view.
Background Remover and Auto-Enhance for professional product photography.
Price adjust, category assign, platform toggle, and export CSV for selected items.