Understanding Sync
How Austin's Comic Collection pulls data from eBay and keeps it current.
Sync is the engine that keeps your inventory, sales, and orders mirrored from eBay into our database. This page explains exactly what runs, when, and how to interpret the Last synced badge in the top bar.
What gets synced
On every sync we pull three streams from eBay:
- Listings — every active or recently-ended listing. We dedupe by eBay listing ID and update title, price, quantity, watch count, and end date in place.
- Inventory items — the catalog-level item record (separate from a listing). We use this to fill condition, category, and SKU when the listing payload is sparse.
- Orders — every order placed since the last sync. We compute net proceeds (sale price minus eBay fees minus shipping costs) and write a corresponding
INCOMEledger entry.
We do not pull buyer messages, store-level analytics (separate scope we did not request), or anything outside the seller-facing scopes you granted at connect time.
Frequency
There are two kinds of sync:
- Scheduled sync — runs every hour on the hour for free accounts; every fifteen minutes on Pro. The scheduler picks up sequentially so a thousand-listing inventory does not hammer eBay's rate limits.
- Manual sync — triggered from Settings → eBay → Run sync now or by clicking the Last synced badge in the top bar. Manual syncs queue ahead of scheduled work but still respect a thirty-second minimum cooldown.
The Last synced badge in the top bar shows the time of the most recent successful sync. Hover for the exact ISO timestamp.
How the incremental delta works
We store the timestamp of the last successful sync per stream (listings, items, orders). On the next sync we pass modifiedAfter=<lastSync> to eBay's API so we only pull records that have changed. This makes incremental syncs fast — usually well under five seconds even with thousands of listings — and stays well inside eBay's rate-limit budget.
If a sync fails partway through, the lastSync cursor is not advanced for the failing stream, so the next attempt picks up exactly where the failure happened. There are no missed records on transient failures.
Reading the Last synced badge
The badge has three colors:
- Green dot — last sync succeeded within the last sync window.
- Yellow dot — last sync is older than expected (e.g. last hour for Free). We will retry on the next scheduled tick.
- Red dot — the last sync attempt failed. Hover to see the error message; click to retry.
If you see persistent red, jump to Troubleshooting — most red badges resolve with a reconnect.
Manual vs scheduled
For most users, scheduled syncs are sufficient — you do not need to babysit the connection. Manual syncs are useful when:
- You just listed something on eBay and want to see it in the app immediately.
- You just made a sale and want the income reflected in today's ledger.
- You see a stale Last synced badge and want to verify the connection.
What about deleted listings?
If you end a listing on eBay, our next sync detects the status change and updates the local copy to ended. We do not delete the row — historical data is preserved so your reports stay accurate. You can permanently delete a listing from the inventory detail drawer if you want.