Rapaport Trade Pricing & Listings
JewelTrak integrates with Rapaport Trade (formerly RapNet — same service, new name) in two directions:
- Pull — download the Rapaport price list and update your white-diamond inventory pricing automatically.
- Push — upload your diamonds (via the API) and your jewelry, watches, and colored stones (via FTP) as listings.
Setup (one time)
Everything lives on one card: Settings → Integrations → Rapaport Trade. It has three sections:
- API credentials — your Client ID and Secret (OAuth credentials from Rapaport). These power both the diamond listing push and the weekly price sync.
- FTP credentials — the FTP password used to upload jewelry, watches, and colored-stone listings. (Delivery folders and CSV formats are fixed in code and identical for every dealer, so there’s nothing to configure there.)
- Price update policy — pick how your white-diamond inventory should respond when new Rap prices arrive (see the three policies below).
That’s it. From this point on the sync runs automatically.
Auto-sync — runs every Friday
JewelTrak fetches the latest Rapaport price list every Friday morning (around 1–2am US Eastern). Rapaport publishes their new list weekly at Thursday midnight NY time, so this catches it within hours.
You don’t need to do anything. The sync:
- Pulls the new Round and Pear/Fancy price tables.
- Stores them against your tenant.
- Updates every white-diamond stone in your inventory based on your Rapaport Price Update Policy (next section).
You’ll see the new “Rap as of” date on the diamonds page once the sync completes.
If you ever need to refresh sooner — say, you noticed Rap moved sharply mid-week — go to Online → Rapaport Prices and click Download Latest Prices. It does exactly the same thing as the auto-sync, just on demand.
Price update policy
When new Rap prices arrive, your white-diamond inventory needs to respond — but how it responds is your call. Three options live in the Price update policy section of the Settings → Integrations → Rapaport Trade card:
Option 1 — Keep discount constant (default for many dealers)
The Rap Discount % stays where you set it. Your Price 1 / ct floats with the new Rap price.
- Rap goes up → your asking price goes up too (your margin is preserved as a percentage).
- Rap goes down → your asking price goes down too.
Pick this when: you sell consistently at a fixed discount off Rap and want your prices to track the market both ways.
Option 2 — Keep $/ct constant
Your Price 1 / ct (and the resulting Price 1 total) stay where they are. The Rap Discount % is recalculated against the new Rap price.
- Rap goes up → your discount appears bigger (better deal vs. Rap, same dollar price).
- Rap goes down → your discount shrinks (worse deal vs. Rap, same dollar price).
Pick this when: you’ve manually priced your stones and don’t want a Rap update silently shifting your asking price.
Option 3 — Hybrid (rap-up = discount, rap-down = $/ct)
Best of both, asymmetric:
- Rap rises → keep the discount. Your $/ct goes up with the market — you don’t leave money on the table when prices rise.
- Rap falls → keep the $/ct. Your asking price holds — you don’t drop your price just because Rap weakened.
Pick this when: you want to capture upside in rising markets but resist racing prices down when Rap drops.
You can change the policy at any time. The next sync (or your next manual download) applies the new policy.
Scope — what gets updated
The auto-sync only touches stones that match all of:
Category = 'White Diamonds'(fancy-color diamonds are excluded — Rap doesn’t price them)IsLabGrown = 0(lab-grown diamonds are excluded — Rap is natural-only)CtWeightPurch > 0(purchase weight must be set so the price-table lookup works)
A stone also needs a shape, color, and clarity that match the price table. Behind the scenes:
- Round / Old Mine / Old European / Circular Brilliant → Round price table
- Everything else → Pear / Fancy price table
- Clarity codes
LCandFLmap toIF(RapNet doesn’t publish a separate LC/FL row) - Carat-weight buckets: 6.0–9.99 ct → 5.5 row, 11.0+ ct → 10.5 row, all other weights match their natural row
If a stone’s color/clarity/weight doesn’t have a published Rap row, it’s left alone — that’s normal for very small or very large or off-grid stones.
Single-stone refresh
On any white-diamond detail page there’s a ↻ Update Rap Price button next to the Rap fields. It runs the exact same lookup and policy math as the bulk sync, just for one stone. Use it after editing a stone’s color/clarity/shape if you want the Rap pricing to refresh immediately without waiting for Friday.
Pushing listings to Rapaport Trade
Each item has a Channels section. Tick Rapaport and the item enters the upload queue. Diamonds go out over the API; jewelry, watches, and colored stones go out over FTP (using the FTP password on the card).
- Single-item uploads are immediate.
- Batch uploads run on a schedule and bundle all queued items into one CSV submission.
Discounts
The DiamondDiscount field is stored as an actual percentage (e.g. -35 for 35% off Rap), not a decimal fraction. Display and entry use the same units.
When listings don’t appear on Rapaport Trade
Common causes: missing photos, missing GIA cert, malformed measurements, or required Rapaport fields (depth, table, polish, symmetry) not filled in. The upload log surfaces the rejection reason.
Troubleshooting the auto-sync
- No “Rap as of” date moving — confirm your Rapaport credentials are still valid (Settings → Integrations → Rapaport Trade → API credentials).
- Some stones didn’t update — see the Scope section above. Stones missing color/clarity/shape, or with bucketing outside the published rows, are silently skipped.
- Want to see what changed — the sync writes an audit-log row each run with the count of stones updated.