US Camera Pro: a used-gear marketplace rebuilt on Magento, synced to eBay.
US Camera Pro buys and resells used cameras and lenses. IWD's Magento development services team folded their separate quoting, pricing, and eBay app into a single Magento store, with a used-gear pricing engine driven by live eBay sold comps, customer trade-in quotes, two-way eBay sync, and in-admin shipping labels.
US Camera Pro
US Camera Pro buys pre-owned cameras, lenses, and photography gear from customers and resells it across its storefront at uscamerapro.com and its eBay store. Every acquired unit is unique, graded by condition with its own serial number and shutter count. That makes pricing and inventory unusually complex. It's the kind of catalog our Adobe Commerce experts are built for.
Running a used-gear business across two separate apps doesn't scale.
So we engineered it into one Magento system.
Two apps became one
The separate quoting, pricing, and eBay app folded into Magento as native extensions, no more sync layer.
A used-gear pricing engine
Buy prices computed from live eBay sold comps and condition-grade formulas, refreshed daily.
Trade-in quotes, self-serve
A Sell Gear tool and My Quotes turn the internal pricing engine into an online offer.
Condition-graded inventory
Catalog templates spawn unique salable units, each with its grade, serial, and shutter count.
Storefront and eBay in sync
Two-way sync keeps both channels aligned from one catalog, no double listing.
Labels printed in-house
USPS and FedEx labels generated in the Magento admin, with customer tracking.
We engineered the platform
around the business.
Off-the-shelf Magento doesn't fit a used-gear marketplace. So we built the system that does.
Nine systems now run as one Magento platform.
Marketplace, payments, shipping, and the custom pricing and quoting engines. All wired into one Magento store.
PlatformMagento 2The single system the whole business now runs on
MarketplaceeBayIdentity, scraper, selling, and trading APIs
MarketplaceM2E ProTwo-way Magento and eBay catalog syncPaymentsStripeCard payment processing
PaymentsBraintreeSecond card gateway
ShippingFedExIn-admin FedEx label generation
ShippingUSPS (Stamps.com)In-admin USPS labels and postage
PricingPricing EngineeBay-comp-driven used-gear valuation
Trade-inQuote ManagementAdmin and storefront trade-in quoting
Built in phases.
US Camera Pro wasn't a single launch. Two apps became one, then a self-serve trade-in storefront, then in-house shipping labels, then a front-end refresh. Each phase shipped without losing the layer beneath it.
- Phase 01Two systems into one
Quoting engine, pricing engine, catalog, and eBay services moved out of a separate app and into Magento as native extensions. Admin Quote Management and bulk catalog import shipped in the same phase.
- Phase 02Storefront & trade-in
Customer-facing Sell Gear quote tool and My Quotes. B2B-versus-consumer pricing, quote PDFs, email with holiday-aware expiry reminders, two-way eBay sync via M2E Pro, and a theme upgrade.
- Phase 03Labels in-house
USPS and FedEx label generation directly in the Magento admin, with configurable handling fees and customer tracking. No more depending on eBay for labels.
- Phase 04Refresh & maintain
Storefront refresh across the homepage, category, and product pages with Core Web Vitals work. Ongoing platform upkeep as the catalog and channels grow.

One system, not two.
The hard part wasn't any single feature. It was taking a business split across two synchronized apps and folding it into one Magento system the team can run and grow from one place.
- Pricing on live comps. An eBay sold-listing scraper feeds a valuation engine that prices every unit.
- Unique, graded units. Each acquired camera or lens is its own item with grade, serial, and shutter count.
- One catalog, two channels. Two-way eBay sync keeps the storefront and the eBay store aligned.
Faster offers,
one system to run.
The build was never the point. This is what changed day to day for US Camera Pro's buying desk and storefront.
Get this for your storeInstant, data-backed offers
The pricing engine turns recent eBay sold listings into a buy quote in seconds. No more pricing every unit by hand. Every offer is consistent and defensible.
Every build was engineered for a used-gear marketplace.
Stock Magento doesn't handle buying gear from customers, pricing graded units against live comps, or selling across a storefront and eBay. These are the quoting, pricing, inventory, sync, and fulfillment layers the business runs on. Every build is owned by US Camera Pro.
PlatformCentral-to-Magento Consolidation
What it doesThe business ran as two systems: a custom app for quoting, pricing, catalog, and eBay services, plus a Magento storefront. All of that logic now lives in Magento as native extensions.
Why from scratchTwo synchronized apps were fragile and slow to change. One Magento platform removed the sync layer entirely.
PricingUsed-Gear Pricing Engine
What it doesA valuation engine that computes buy price and buy percentage from formula tables (condition grade, grade ratios, price settings, shutter-count ratios) fed by real eBay sold-listing data. A daily cron refreshes pricing for every catalog item.
Why from scratchPricing used gear never fit a generic markup formula. The engine encodes how US Camera Pro actually values gear, so every offer is fast, consistent, and grounded in live market comps.
DataeBay Price Scraper
What it doesA scraper that pulls eBay sold and completed listings for comparable pricing, with carefully encoded queries (a stray + vs. % changes result counts dramatically). A weekly cron refreshes the comps table behind the pricing engine.
Why from scratchThe pricing engine is only as good as its comps. Accurate sold-price data is what makes each quote reflect what gear is actually selling for.
Trade-inQuote Management
What it doesA full Quote Management area in the admin: quote lists, create/edit forms, and line-item grids with grade, serial number, shutter count, discount reason, buy price, buy percentage, and retail price. Statuses track each unit through the buy workflow.
Why from scratchBuying gear from customers is a workflow Magento doesn't ship with. This models the entire trade-in process the buying desk runs daily.
StorefrontSell Gear & My Quotes
What it doesA customer-facing Sell Gear quote tool and My Quotes area in the account. Synonym-aware search (f2.8, f/2.8, and f28 all match) and a quote bonus or adjustment that recalculates each line.
Why from scratchSellers want to see what their gear is worth without a phone call. This turns the pricing engine into a self-serve quote on the storefront.
CatalogCondition-Graded Inventory
What it doesThe Magento catalog acts as a template (custom attributes for pricing title, quote title, eBay category, price bounds, identifiers). Each acquired unit becomes its own salable item with a condition grade, serial number, and shutter count.
Why from scratchNo two used units are identical. This treats every camera and lens as a unique graded item while pricing it against a shared template.
B2BB2B vs Consumer Quote Pricing
What it doesB2B customers see the exact buy price with full discount and retail detail. Consumers see a price range (one grade above and below). An admin toggle switches between range and flat pricing for non-B2B buyers.
Why from scratchTrade partners and walk-in sellers need different levels of detail. Group-based pricing shows each audience the right view of the same data.
Trade-inQuote PDF & Email Workflow
What it doesQuote PDFs for customer and internal printing. Email-a-quote to one or many recipients with automatic account creation. Automated expiry reminders that skip weekends and holidays, firing a set number of working days before a quote lapses.
Why from scratchQuotes move through email and print, not just the cart. A quote becomes a shareable document that nudges sellers before it expires.
MarketplaceeBay Two-Way Sync
What it doesTwo-way synchronization between Magento and the eBay store via M2E Pro. New eBay products pull into Magento, Magento products push to eBay, and an eBay store category feeds the homepage clearance and savings sliders.
Why from scratcheBay is a primary sales channel. Sync keeps both channels current from one catalog instead of listing each unique unit twice.
ShippingIn-Admin Shipping Labels
What it doesUSPS (via Stamps.com) and FedEx label generation directly from the Magento admin. Configurable flat or percentage handling fees, customer tracking in My Account, and tracking details in notification emails.
Why from scratchThe team depended on eBay for labels. Generating USPS and FedEx labels in-house put fulfillment back inside the store, with tracking the customer can see.
SearchTuned Catalog Search
What it doesMySQL-based catalog search tuned for used gear: all-words, any-order matching across product, pricing, and quote titles. Admin-managed stop words and quote-search synonyms.
Why from scratchElasticsearch wasn't available in this environment. Tuned MySQL queries with stop words and synonyms make search behave the way buyers and staff expect.
DataBulk Catalog Import
What it doesMagento's CSV import extended for the custom catalog attributes on a large template catalog. Validation catches real data issues like blank prices importing as zero and breaking the scraper's price ranges.
Why from scratchA catalog this large can't be entered by hand. The extended import loads it cleanly and protects the pricing engine from bad data.
UXCore Website Refresh
What it doesFront-end refresh across homepage, category, and product pages, with Core Web Vitals performance work.
Why from scratchThe storefront needed to match the new engine. The refresh modernized the buying and selling experience and tightened page speed.
Still pricing by hand and running two systems?
US Camera Pro stopped doing both. We engineer Magento and Adobe Commerce stores for retailers who have outgrown off-the-shelf, and we stay for the long run. Tell us what you're up against.


