Add inventory — CSV imports, manual entry, sealed products, plus the history of every batch.
Import a ManaBox CSV export. Cards land as pending;
graduate to unlisted via Import Review.
No file selected
Auto-detected from filename
Import a TCGAutomate eBay File Exchange CSV.
Scryfall identity resolved from card name + collector number.SWU printing resolved via (Set, Card Number). Matched rows land as pending in Import Review; unmatched rows surface there too for Fix Identity.Pokémon printing resolved via (Set, Card Number). Variant auto-detected from *C:Finish (Holo/Reverse Holo/Normal/etc.); language from C:Country/Region of Manufacture (English → EN). Matched rows land as pending in Import Review.
No file selected
Auto-detected from filename
Drop card photos to identify them with Tesseract OCR + Claude Vision.
Output graduates via Import Review. Up to 500 photos per batch
(each face of a double-sided card counts as one).
Drag photos here — every two = one card (front, then back), or browse
Uploading…
Advanced: bind to existing eBay SKU
Use this when the card is already listed on eBay with a legacy SKU
(pok*/swu*) and you want sale attribution to bind. Leave blank to mint
a fresh ZTCG-<GAME>-… SKU. PKM and SWU only; MTG ignores this field.
Recent intake batches across CSV imports, manual adds, OCR scans, and sealed.
Rollback available on ingest sessions; sealed batches are read-only here.
Click a variable above to insert it at cursor position.
—
Pricing Rules
Rules are evaluated in order — first match wins. The formula's result has the mail cost subtracted,
is rounded down to X.X9, then clamped to the price floor.
Dashboard
Lifetime P&L from imported eBay Transactions.
Monthly Trend
Loading…
Month
Revenue
Net Cash
Units
Platform Fees
Expenses
Net After Exp.
No data yet.
Lots
Register and manage card lot purchases.
Lot Registry
Loading…
Per-Lot P&L
Financial performance by lot. Edit lots via Inventory → Lots.
P&L Table
Loading…
Expenses
Business expenses outside of eBay fees (shipping materials, subscriptions, etc.).
Date
Amount (CAD)
Category
Lot (optional)
Description
Date
Category
Description
Lot
Amount (CAD)
No expenses logged yet.
Orders
eBay orders with line-item detail, filters, and summary KPIs.
→
Rows/page
Status
Order #
Buyer / Items
Qty
Subtotal
Total
Date sold
Date paid
Loading…
Per-Set Sales
Sales performance grouped by MTG set. Lifetime by default — use the date filter to scope.
→
Set
Sold qty
Sold value
Listed qty
Listed value
Sales / Listed
Sell-through
7d
30d
Signals
Loading…
Top Cards
Best-selling cards by game, sliced by period · set · rarity · price band. Click a row for sales history.
Game
→
→
Rows/page
Name
Set
CN
Finish
Rarity
Sold
Revenue
Avg $
7d
30d
Loading…
Loading…
Stock
Card-level stock from imports + manual entries. To add new inventory, head to Import.
Scans the inventory DB for card variants
(scryfall_id + finish + condition) that have more than one custom label.
This happens when the same card was imported from multiple lots or sources.
Use the results to decide which records to merge in the Inventory view before syncing to eBay.
3 · SKU Alignment & Consolidation
Aligns all eBay Custom Labels to ZTCG- format,
consolidates duplicate listings per variant into one, and sets correct quantities.
Produces a Revise CSV and an End CSV for redundant duplicates.
Steps:
Ensure your latest Active Listings report is in ebay_reports_dir.
Click Analyze — review stats (to revise / to end / unmatched).
If price conflicts appear (>20% spread), review each row and adjust the Final Price if needed.
Click Download CSVs — two files download automatically.
Upload ztcg_sku_alignment_revise.csv to eBay via Seller Hub → File Exchange first.
After the Revise upload completes, upload ztcg_consolidation_end.csv to end duplicates.
Wait 5–10 min and check File Exchange results for row-level errors.
Migration Coverage
▼
Lot ID
Game
Purchase
Cost
ManaBox
TCGAutomate
Manual
Loading…
Duplicate Variants — Inventory Store
▼
Finds card variants (scryfall_id + finish + condition) with multiple listed custom labels in the inventory store.
These need to be consolidated into a single eBay listing.
Card Name
Set
Finish
Cond
Listings
Total Qty
SKUs
Lots
Click Scan Inventory to detect duplicates.
SKU Alignment & Consolidation
▼
Aligns all eBay custom labels to ZTCG- format
and consolidates duplicate listings per variant. Generates a Revise CSV
(SKU + qty + price) and an End CSV for redundant duplicates.
—to revise
—to end
—already aligned
—unmatched
—skipped
Verify merges before downloading — uncheck any group that should NOT be consolidated.
Each group below maps multiple eBay listings to one ZTCG- SKU. Confirm the titles are truly the same card variant.
Price conflicts (>20% spread) show an editable Final Price field.
Card / SKU
Set
#
Qty
Lowest
Highest
Spread
Final Price
Matching…
Import Cards Review
Card
Set
#
Finish
Cond
Qty
✓
Select a card
Scan
No scan
Scryfall
No image
Printings
Select a card to search
App Settings
Paths, listing defaults, and eBay business policies.
Display Settings
Font size
Theme
Paths
AI Integration
Used for Claude Vision card identification (hybrid matching fallback). Get a key at console.anthropic.com.
Image Hosting (Google Cloud Storage)
When set, card images are uploaded to GCS and public URLs are embedded in the listing CSV. Leave blank to use local serving (localhost URLs, not suitable for eBay).
eBay Listing Defaults
Store Categories
Scryfall Card Database
Checking…
eBay Connection
Checking…
Authorizes this app to read your eBay orders, finances, and inventory via the eBay API. Tokens are encrypted with Google Cloud KMS.
Team
Invite staff, change roles, disable members.
Invite a new member
Pending invites expire in 14 days. The invitee signs in with Google once with this email — their account auto-links.
Members
Email
Role
Status
Joined / Invited
Actions
Loading…
Recent activity
Loading…
Fix Unmatched SKU Groups
Assign each unmatched SKU prefix to a lot. Matched entries will be saved to lots_map.json and existing sales will be re-mapped.
SKU Group
Sales
Assign to Lot
Add Lot
Lot ID *
Game *
Total Cost (CAD) *
Source
Purchase Date
Listed Date
GST (CAD)
QST (CAD)
Notes
Fix Card Identity
Search Scryfall to assign the correct printing.
Type a name to search…
Merge with existing record?
Review Conditions
|Set selected to:
Card
Set
#
Finish
Qty
Conditions
Change Title Template
Please select a new Listing Title template:
⚠ Any manual edits you made to listing titles will be overwritten when a new template is applied.
Change Listing Policies
Pick a new policy for any field. Choose — No Change — to leave that policy untouched on every card.
⚠ Any per-card policy edits in the right panel will be overwritten for the fields you change.
Sync Listings from eBay
Pull active listings from the eBay Trading API into the local snapshot. Rows that are no longer active on eBay will be pruned.
Re-running is safe — this is a full replace of the snapshot for this account.
Sync Sales from eBay
Pull SALE and REFUND transactions from the Sell Finances API for the chosen window.
Re-running a window is safe — already-ingested rows are detected and skipped. Large windows may exceed the server timeout; if that happens, sync in ~30-day chunks.