Frooition CSV Export
JewelTrak generates Frooition-compatible CSV files for items in your inventory. Frooition has no public API — the workflow is:
- JT exports a 134-column CSV
- You download it
- You log in to frooition.com
- You upload the CSV into their bulk uploader
- Frooition wraps each row in your branded HTML template and pushes the listing to eBay
This bridge integration is for clients who pay Frooition for branded listing design and want JewelTrak to be the source of truth for inventory + pricing + Item Specifics, without re-keying everything.
Why use this vs. JT’s direct eBay integration?
| JewelTrak Direct eBay | Frooition CSV | |
|---|---|---|
| Listing description design | Plain text or your own HTML | Frooition’s branded template |
| Inventory + price sync | Automatic (QOH→0 retires listing) | Manual (re-upload CSV as inventory changes) |
| Item Specifics | Structured via eBay API (Metal, Main Stone, etc.) | Limited (universal product IDs only) |
| Operating cost | Your eBay seller fees only | Frooition subscription + eBay fees |
They’re complementary. Each channel has its own per-item override surface (ebay_settings for eBay, frooition_settings for Frooition). Most clients use one or the other; some use both for different inventory tiers.
Per-item overrides
Each inventory / watch / stone detail page has a Sales Channels → Frooition sub-tab where you can override any of ~20 commonly-customized columns just for that item — Title, SKU, Brand, MPN, UPC, condition, prices, etc. Anything left blank falls through to:
- Your tenant defaults (Settings → Integrations → Frooition)
- Mini-templates (if you configured one for that column)
- Category mapping rules (for category columns)
- The inventory record itself (Description as last-resort title, etc.)
You only fill in the per-item sub-tab when you want a Frooition-specific value that differs from the rest of JT.
Setup — per-tenant defaults
Go to Settings → Integrations → Frooition. Configure once; every CSV export inherits these values.
Field Templates
These four templated fields use {Variable} substitution (same engine as tag templates). Available variables: {StockNo}, {StockID}, {InvoiceNo}, {CostCode}, {Description}. For images, {N} is the image index (1..20).
- profile_name template — usually just
{StockNo}. Some Frooition setups use{StockNo}-{InvoiceNo}to disambiguate re-listings. - sku template — usually same as profile_name.
- title template (optional override) — leave blank to use the eBay listing’s saved Title field. Override only if you want a different convention for Frooition than for direct eBay.
- image URL pattern (optional) — leave blank to use JT’s hosted Cloudflare image URLs. Override with a pattern like
https://my-bucket.s3.amazonaws.com/items/{StockID}_{N}.jpgif you self-host product photos.
Category Rules
Replicates the legacy SQL CASE mapping — turn MainGroup (and optionally Category) into an eBay category ID. First matching rule wins.
Example rules for a typical jewelry client:
| Item Type | MainGroup | Category | eBay Cat ID |
|---|---|---|---|
| Jewelry | Earrings | 261989 | |
| Jewelry | Ring | 261990 | |
| Jewelry | Bracelet | 261988 | |
| Jewelry | Necklace | 261993 | |
| Jewelry | Accessories | Pin/Brooch | 261994 |
Priority order at export time:
- The per-item eBay sub-tab CategoryId override wins if set
- Otherwise the first rule that matches both stockType + MainGroup + (optional) Category
- Otherwise the per-stocktype default at the bottom of the settings card
Default eBay categories by stock type
Fallback for items that don’t match any rule. Set one per item family:
- Jewelry default
- Watch default
- Diamond default
- Colored Stone default
- Pearl default
Flat per-tenant values
Configure once, applies to every row:
- Location: country, city, postcode
- Payment: PayPal email (legacy), immediate payment yes/no
- Returns: window in days, refund method
- Shipping defaults: domestic + international service codes
- Package dimensions: length, width, height, weight major/minor
- Optional eBay Business Policy IDs (shipping/payment/return)
Per-item download
Open any item detail page (inventory, watches, diamonds, colored stones, pearls) → Sales Channels → Frooition sub-tab → Download Frooition CSV.
Downloads a single-row file named frooition-{stockNo}.csv. Use this when you’re hand-listing one item at a time.
The panel surfaces two amber notices when relevant:
- “Frooition defaults not yet configured” — set up Settings → Integrations → Frooition first or you’ll export with generic stock values.
- “eBay listing fields not filled in” — title, BIN price, category, and condition come from the eBay sub-tab on this item. Fill those first for a complete row.
Bulk export
On the inventory, diamonds, or watches list pages: select rows via the checkbox grid → Bulk Actions → Export to Frooition CSV.
One CSV file with all selected rows. Named frooition-{stockType}-{date}-{rowCount}rows.csv.
Bulk export on colored stones + pearls list pages is on the Phase 1b list.
What gets in each column
Per-item data (read fresh per export):
- Title, subtitle, description — from the eBay sub-tab on the item (
ebay_settings.Titleetc.) - Buy It Now price, quantity, best offer — from the eBay sub-tab
- Primary eBay category — from the Category Rules lookup
- Item condition — from the eBay sub-tab, defaults to your tenant default
- image1..image20 — from JT’s image library (or the imageUrlPattern substitution if you set one)
Per-tenant defaults fill in the remaining ~70 columns (shipping, returns, location, payment, business policies).
Description handling
The CSV’s description column gets the eBay listing’s BodyHtml field verbatim if you’ve set one. If empty, it falls back to the inventory item’s plain Description with \n line breaks converted to <br> (matches the convention used in legacy SQL exports — Frooition wraps the cell in its own template so newlines collapse to spaces otherwise).
Frooition’s template HTML wraps around this whether it’s structured HTML or plain text, so leaving BodyHtml empty is fine — the branded template still renders nicely.
After download
- Log in to frooition.com
- Open the bulk listing tool
- Upload the CSV
- Frooition validates + renders + pushes to eBay
If Frooition rejects the upload, check:
- All required eBay fields are filled (title, condition, price, category)
- Image URLs are publicly reachable (test by pasting one in a browser)
- The category ID actually exists in eBay’s taxonomy for the marketplace you’re listing to
Workflow tips
- Re-export when inventory changes. Frooition doesn’t auto-sync — if you change a price in JT, re-export and re-upload that row to update the eBay listing.
- Use the per-item eBay sub-tab to lock in Item Specifics before exporting. Even though the CSV doesn’t carry every Item Specifics column, the description body benefits from having those values entered (and the data is there if you also publish directly to eBay).
- Bulk over per-item for batch loads. A 50-item Frooition upload is one CSV, not 50.
What this does NOT replace
The eBay direct integration (/settings/integrations#ebay) handles quantity sync, retire-on-sale, and inbound order capture. Frooition’s flow is one-shot listing-publish only. Most clients eventually use both: Frooition for design, direct eBay for data sync.
Troubleshooting
- Category column shows the wrong eBay ID — Check Settings → Integrations → Frooition → Category Rules. First match wins; reorder rules if a generic one is matching before a specific one.
- Image URLs aren’t loading on Frooition’s preview — If you set an
imageUrlPattern, confirm the pattern resolves to a publicly reachable URL. JT-hosted Cloudflare URLs are always public; self-hosted patterns depend on your storage permissions. - CSV opens in Excel and looks corrupted — Frooition’s MFL format is tab-separated with double-quoted cells. Excel may try to import as comma-separated; use Data → From Text/CSV → Delimiter: Tab. You shouldn’t need to open it manually for the upload — just send the file straight to Frooition.