Form TL-3 · Maintenance log · newest first
All products · one log
TopLoader changelog — every release, newest first
Every change filed against the system, across all products. TopLoader is running in a live production shop and available for beta access — currently on v0.9.6-beta. v1.0 is reserved for when paid plans go live.
Deal editor section totals, keyboard navigation improvements, Sentry error monitoring, DB performance optimization, and a batch of stability fixes.
- [NEW]Section totals in the deal editor: market, trade, and cash totals shown at the bottom of the Items section. Custom Items shows market and offer totals. Desktop shows a table footer row; mobile shows a compact pill bar.
- [NEW]Sentry error monitoring integrated — production errors are now captured and alerted automatically.
- [IMPROVED]Pressing Enter on the quantity field now moves focus to the next item's market value, or adds a new item if at the end of the list.
- [IMPROVED]Card name inputs now auto-capitalize on mobile keyboards.
- [IMPROVED]Dashboard loads are meaningfully faster — count queries now run at the database level instead of in application code.
- [FIXED]Authentication checks optimized across all database queries — faster page loads across the app.
- [FIXED]Onboarding checklist no longer flashes briefly on the dashboard before data finishes loading.
- [FIXED]Fixed: users with multiple shops no longer get stuck on the shop-select screen at load.
Security hardening, cross-tenant isolation, and inventory inline editing.
- [IMPROVED]Data isolation hardened across all API routes — your shop's data is strictly separated from other shops at every layer.
- [FIXED]Security patch: role checks are now strictly scoped per shop, blocking a potential privilege escalation path for users with accounts at multiple shops.
- [NEW]Market value is now inline-editable in the inventory table — click any value to edit in place without opening a modal.
- [IMPROVED]Nav active state highlighting corrected across all routes. Org-select now shows a loading indicator while Clerk resolves memberships.
- [FIXED]Multiple layout bugs causing horizontal scroll on desktop and content clipping on mobile fixed in a single pass.
Vendor Mode — a standalone product for individual vendors operating at card shows.
- [NEW]Vendor Mode launched: a simplified dashboard experience for individual vendors at card shows — separate from full shop accounts.
- [NEW]Vendor Mode toggle in the admin shop list, with a VM badge on vendor accounts to distinguish them from standard shops.
- [NEW]Vendor Mode landing page and beta code path for early access sign-ups.
- [IMPROVED]Show inventory items now visible to vendors through their Vendor Mode view.
Show Mode — a full card show management system built into the dashboard.
- [NEW]Show Mode launched: manage an entire card show from one screen — buying, selling, and trading all in one structured log.
- [NEW]Structured log sheet with distinct Buy, Sale, and Trade entry types, each with the right fields for that transaction type.
- [NEW]Buy-to-inventory flow: items purchased at a show automatically create inventory entries with cost basis tracked.
- [NEW]Line-item buy entries with per-item market value and a live target hint (what you need to sell for to hit your target margin).
- [NEW]Multi-select sale picker: select multiple inventory items and mark them sold in one action, directly from show inventory.
- [NEW]Vendor pricing settings: set a target margin percentage and automatically see the minimum sell price per item.
- [NEW]Per-item % estimation helper with quick-select chips (60%, 70%, 80%, 90%) and an actual market value override for precise offers.
- [NEW]In-show inventory status: items can be marked as currently at a show, separate from standard Available/Sold/Returned.
- [IMPROVED]Sale and trade pickers filter to show-linked inventory only — no noise from items not brought to the show.
- [FIXED]Deleting a sale transaction automatically reverts the linked inventory item back to in-stock.
- [IMPROVED]Cost basis and market value are both visible on show inventory, so margin is always clear.
Traded-For field, payment display improvements, and SlabTrack mobile polish.
- [NEW]Traded-For field on trade deals: record exactly what was given in exchange for trade credit — surfaced in the finalize modal before committing.
- [IMPROVED]Trade deals now hide cash payment options entirely — the deal form stays focused for pure trade workflows.
- [IMPROVED]Payment method tracking improved across all deal states and the receipt display.
- [IMPROVED]SlabTrack mobile: fixed iOS input zoom on focus, improved column order for one-handed use, and better sort control placement.
- [FIXED]Attach-deal picker now shows recent deals and correctly searches by creator name when looking up deals to link to a customer.
Inventory traceability, global customer search, Square export improvements, and a UI polish pass.
- [NEW]Inventory source linking: each inventory item now shows which deal and customer it came from. Clickable links to the originating deal and customer profile.
- [NEW]Global search now covers customers — search by name or phone number and jump directly to their profile.
- [IMPROVED]Square export now prompts for a location name and embeds it in the export header, supporting multi-location shops.
- [IMPROVED]Loading skeletons added across inventory, reports, and customer pages — no more blank content flashes.
- [IMPROVED]Error states and empty states now show consistent icons and messaging throughout the app.
- [IMPROVED]Reports page: top sellers section and an inventory health summary (items in stock, total value held) added.
- [IMPROVED]Returning seller chip shown in the deal editor when the linked customer has prior deals on record.
Customer profiles — full customer management with deal history, stats, search, and email integration.
- [NEW]Customer profiles: store name, contact info, email, notes, and tags. Editable from the customer detail page.
- [NEW]Customer detail page: all deals and SlabTrack submission cards linked to a customer in one view.
- [NEW]Customer stats bar: total deal count, card count, and value totals shown on each profile.
- [NEW]Customer search with typeahead — available in the deal editor and the customer list page.
- [IMPROVED]CustomerLinkControl is now always editable — attach a customer to finalized deals after the fact without reopening the deal.
- [IMPROVED]Sending a receipt auto-syncs the entered email address back to the linked customer profile.
SlabTrack: cert number registry links, contact attempt logging, inline grade/cert entry, and a full analytics reports page.
- [NEW]Cert number links: PSA, BGS, and TAG cert numbers are now clickable links that open the grading company's official cert verification page. Shows in card rows and a "Verify ↗" button in the cert field. Links also included in customer notification emails.
- [NEW]Contact attempt log: replaced the single Contacted toggle with a "Log Attempt" button that records a timestamped history of contact attempts per customer. Shows attempt count and last attempt date.
- [NEW]SlabTrack Reports page: grade distribution bar chart, submission pipeline breakdown, by-company card/graded/declared value stats, top customers by card volume, and headline stats (avg grade, total declared value, % graded).
- [IMPROVED]Reports link added to the Submissions page header for quick access.
Email receipt delivery, customer email profiles, and post-finalization customer linking.
- [NEW]Email receipts: send a deal receipt directly to the customer from the receipt modal. Sends from noreply@toploader.io.
- [NEW]Customer profiles now store an email address, editable from the customer detail page and used to prefill the receipt email field automatically.
- [NEW]Sending a receipt auto-syncs the email address back to the linked customer profile.
- [NEW]Finalized deals can now be linked to a customer profile after the fact directly from the deal view.
- [IMPROVED]Emailed receipts correctly apply the shop's payout rounding setting (floor, ceil, nearest) to match what's shown on screen.
Service-aware UI throughout the app, CardLadder search button, clickable dashboard stats, and the /deals route restructure.
- [NEW]Service gating: the dashboard now automatically redirects to only the services your shop has enabled — no dead ends.
- [NEW]Welcome banner, dashboard stats, settings tabs, customer detail panel, and mobile nav all adapt to which services your shop has active.
- [NEW]CardLadder search button added to the deal editor alongside the TCGPlayer button. Both show inline color-coded labels (blue "TCG", green "CL") when enabled together.
- [IMPROVED]Dashboard stat cards are now clickable and navigate to the relevant section.
- [IMPROVED]Settings page hides deal-related tabs for shops without deal management, and hides Grading Companies for shops without SlabTrack.
- [IMPROVED]Mobile bottom nav and FAB button adapt per enabled service.
POS inventory export for 6 systems, server-side export history, and landing page overhaul.
- [NEW]Inventory export in 6 formats: Generic CSV, BinderPOS, Square, Lightspeed, Clover (XLSX), and Shopify.
- [NEW]Clover export generates a properly structured XLSX with all 4 required sheets: Items, Modifier Groups, Categories, and Tax Rates.
- [NEW]"New since [date]" export button appears after each export — only exports items added since the last run, preventing duplicate POS imports.
- [NEW]Export history stored server-side per shop and format. Works correctly across devices and browsers.
Revoke pending invitations and fix for invites not appearing in team UI.
- [NEW]Admins can now revoke pending invitations directly from the team page.
- [FIXED]Pending invitations now correctly appear in the team management UI.
- [IMPROVED]Seat count display now shows pending invites separately: "3 / 5 seats (1 pending)".
Pending invitations tracked in the team screen and counted against seat limits.
- [NEW]Pending invitations shown in a dedicated section on the team management page.
- [IMPROVED]Seat enforcement now includes pending invitations. Invite flooding blocked at the server level.
- [IMPROVED]Team header now shows member count and invite count: "4 members · 1 invited".
Full team management: invite staff, assign roles, and control access with per-plan seat limits.
- [NEW]Invite team members by email address. They receive a Clerk invitation link.
- [NEW]Role system: Admin, Manager, and Employee. Each role has different permissions across the deal workflow.
- [NEW]Plan-based seat limits: Starter (2), Team (5), Pro (unlimited), Founding (5).
- [NEW]Admins can change any member's role. Members cannot change their own role.
- [NEW]Invite sends are rate-limited to prevent abuse.
Unusual deal banner and finalize confirmation modal for added confidence before committing.
- [NEW]Unusual deal banner: orange warning appears when your effective payout rate exceeds your base rate by more than 10%.
- [NEW]Finalize confirmation modal shows the full deal summary: customer name, item count, market value, and color-coded cash/trade payout breakdown.
- [IMPROVED]Mixed-payout deals now show cash (amber) and trade (violet) blocks side-by-side in both the confirm modal and the receipt.
- [IMPROVED]Receipt print updated to render both payout types for mixed deals with inline color labels.
Mistake prevention warnings so bad deals get caught before they're finalized.
- [NEW]Warning banner surfaces: blank customer name, items with $0 market value, and duplicate card names in the same deal.
- [NEW]Items with a $0 market value are highlighted in red until corrected.
- [IMPROVED]Save status ("Saved at 2:14 PM") is now always visible, no longer hidden on mobile.
Bottom finalize button and cleaner receipt payout display.
- [NEW]Added a Finalize Deal button at the bottom of each deal. No more scrolling back to the top.
- [IMPROVED]Receipt redesigned to show cash and trade payouts separately with distinct color blocks and large type.
- [IMPROVED]Deal status bar (Saved, Finalized, Voided) now always visible regardless of scroll position.
Plans and seat limits, the billing architecture foundation.
- [NEW]Four plans introduced: Starter, Team, Pro, and Founding. Each has a seat limit enforced at the server level.
- [NEW]Per-shop seat overrides available for custom arrangements — contact us to set one up.
- [NEW]Seat limit error message shown at invite time, not after a broken state.
- [IMPROVED]Billing infrastructure in place — paid plans arriving with v1.0.
Business reports with margin trends, deal volume, and employee performance.
- [NEW]Reports dashboard: deal count, payout totals, market value acquired, and gross margin.
- [NEW]Employee performance breakdown: see who is running the most deals and at what margin.
- [NEW]Date range filtering for all report views.
- [NEW]Inventory analytics: items in stock, total market value held.
Inventory system: finalized deals automatically populate stock.
- [NEW]Inventory system launched. When a deal is finalized, all items are automatically added to inventory.
- [NEW]Inventory status tracking: Available, Sold, and Returned.
- [NEW]Inventory view with sorting and filtering by status, value, and date.
Deal lifecycle states and digital receipts.
- [NEW]Deal lifecycle: Open to Finalized to Voided. Finalized deals can be reopened by admins.
- [NEW]Digital receipts generated at finalization, customer-ready and printable.
- [NEW]Void deal with reason. Voided deals stay in history and are clearly labeled.
- [IMPROVED]Role-based deal controls: employees can create, managers and admins can finalize.
Autosave and conflict detection.
- [NEW]Autosave: deals save automatically as you type. No manual save required.
- [NEW]Conflict detection: warns you if a deal was updated from another session while you were editing.
- [NEW]Deal timestamps: created at, last saved at, and finalized at tracked on every deal.
Multi-item deals, pricing engine, and payout modes.
- [NEW]Multi-item deal support: add any number of cards or lots to a single deal.
- [NEW]Payout modes: Cash, Trade, and Mixed. Mixed splits payout across both types.
- [NEW]Tier-based pricing with configurable rate tiers based on market value thresholds.
- [NEW]Market value adjustment field for overriding calculated totals.
- [NEW]Per-item cash and trade offers shown inline as you build the deal.
First release. Deal creation and basic pricing.
- [NEW]Deal creation with market value input and payout calculation.
- [NEW]Cash offer display based on a configurable rate.
End of log · updated with every release