RecordToko

Description

Built for record shops and collectors who sell on Discogs and want their own webshop next to it – without maintaining two inventories by hand.

RecordToko imports your Discogs marketplace inventory straight into WooCommerce, so you don’t have to list every record twice.

Features

  • Import from a Discogs inventory-export CSV, or fetch and download the export directly from Discogs from inside wp-admin.
  • Enriches each listing with cover image, tracklist, and genres/styles from the Discogs release catalogue.
  • Price rules: apply a percentage or fixed adjustment to Discogs prices, with an optional floor price and psychological (x.95) rounding, plus a per-item override at import time.
  • A dry-run preview is mandatory before anything is written — see exactly what will be created, updated, or skipped, and review any errors, before a single product changes.
  • A change log records every create/update action so you can see what happened and when.
  • Your own product photos always take priority — the plugin never overwrites a photo you added yourself with a Discogs cover image.
  • Two-way sync: a sale on Discogs sets your shop stock to 0 within minutes, and a paid shop order takes the record offline on Discogs (reversibly). A daily reconciliation repairs any drift.
  • Practice mode, on by default: the sync watches and logs everything but changes nothing until you switch it off — so you can see exactly what it would do first.
  • Per-record channel switch: mark any record “do not offer on Discogs” and the sync will never touch a listing for it.
  • VAT tools for second-hand sellers: margin-scheme support (correct no-VAT display with the mandatory legal mention per country), a margin report for your VAT return, purchase-price tracking, a small-business exemption mode and a turnover monitor.
  • List on Discogs: create Discogs listings straight from your shop products — always as a Draft first, through a review queue with Discogs’ own price suggestions per condition, published only when you say so. Need to list hundreds? One click queues Draft creation for your whole listable stock, processed in the background within Discogs’ speed limits.
  • An Orders dashboard: your latest Discogs and shop orders side by side (read-only), 30/90-day totals per channel, and your ten longest-standing records so slow movers get noticed.
  • Shipping weight: the plugin reads the weight column from the Discogs inventory CSV (always in grams) and sets it on the WooCommerce product, converted to whatever weight unit your store is configured for (Settings Products General). If a listing’s weight is blank, a weight you set by hand in WooCommerce is left untouched. The format_quantity (“counts as”) column is stored as product meta for future shipping-class rules.

What you can do with it

Getting your inventory in

  • Upload a Discogs inventory-export CSV by hand (up to 10 MB), or let the plugin request and download the export straight from your Discogs account — no file juggling.
  • Works with or without a Discogs personal access token. Without one the plugin still runs, at Discogs’ lower anonymous rate limit; the settings screen tells you so.
  • Every import is resumable and batched in the background, so an inventory of hundreds or thousands of records does not time out.

Deciding what your prices are

  • Choose a percentage adjustment (for example -20% because you save the marketplace fee) or a fixed amount up or down.
  • Set an optional floor price so nothing is ever listed below what you are willing to accept.
  • Switch on psychological rounding to land prices on x.95 — rounding only ever lowers a price, never raises it.
  • Override the price of any individual record: edit it in WooCommerce and it locks automatically — every later re-import keeps your hand-set price. Unlock it on the product page to hand control back to the price rule.

Seeing what will happen before it happens

  • A dry-run preview is mandatory: totals for what will be created and updated, plus a sample of enriched rows exactly as they will appear.
  • Malformed data is refused loudly, with the offending row named — for example a price written as “9,99” instead of “9.99” — instead of being silently imported wrong.
  • Nothing is written to your shop until you press the confirm button.

Watching the import

  • Live progress bar with a running count and a tail of the change log while the batches run.
  • Every create, update, skip and error is written to a change log so you can see exactly what happened and when.
  • A reset button clears a stuck import, and an import that stalls for over an hour is cleaned up automatically.

What lands in your shop

  • A complete WooCommerce product per record: title as artist, title, format and year; cover image; tracklist table; media and sleeve condition; seller notes.
  • Genres and styles from Discogs become product categories, so your shop is browsable from day one.
  • Stock is set per record and items not marked “For Sale” arrive as drafts, ready for you to review.
  • Every product page carries the “Data provided by Discogs” attribution required by the Discogs API terms.

Staying in control

  • Your own product photos always win: a photo you added yourself is never replaced by a Discogs cover.
  • Titles and descriptions you edited by hand survive every re-import — only price, stock, status and categories are refreshed.
  • Products that were not created by RecordToko are never touched, even if their SKU happens to match.
  • Re-importing the same export is safe: records are matched by SKU (which holds the Discogs listing ID), so you get updates, not duplicates.
  • Uninstalling removes everything the plugin stored, including your access token, cached data and the change log table.

Keeping both channels in sync

  • Sold on Discogs? The order poll (every 5 minutes by default) sets the shop stock to 0, so the record cannot be sold twice.
  • Sold in your shop? The Discogs listing is set to Draft — off the marketplace, but reversible. If the shop order is cancelled or refunded, the listing comes back automatically. Prefer permanent deletion? That is a separate, explicit option.
  • A daily reconciliation compares your whole Discogs inventory with the shop and repairs any difference — it also catches sales that happened while the plugin was in practice mode.
  • Double sale in the same window? Stock never goes negative; the first paid order wins, the conflict is logged prominently and you decide about the other order yourself. RecordToko never cancels a Discogs order on its own.
  • Optionally push shop price changes to Discogs (off by default — the price rules stay in charge unless you say otherwise).
  • Everything the sync does — or, in practice mode, would do — is written to the change log.

Putting your records on Discogs

  • The “List on Discogs” tab shows every record in your shop that is not on Discogs yet: pick conditions, set your asking price and create the listings — always as Drafts first.
  • Discogs’ own price suggestions per condition sit right next to your asking price, so you know what the market pays before you publish.
  • Records added by hand link to the Discogs catalogue with a built-in release search — no release number hunting.
  • Publishing is a separate, deliberate step: review your Drafts (in the plugin or on Discogs) and put them up for sale per record or in bulk.
  • Practice mode covers this too: while it is on, nothing is created on Discogs at all.

Keeping an eye on the business

  • The Orders tab shows your newest Discogs and shop orders in one combined list — date, channel, buyer, items, total — without leaving WordPress. Managing them stays where it belongs: on Discogs and in WooCommerce.
  • Simple 30- and 90-day totals per channel show where your records actually sell.
  • The slow-movers list surfaces your ten longest-standing records, so you know what could use a price drop or a promotion.

Getting the VAT right

  • Three modes: normal VAT, the EU/UK margin scheme for second-hand goods, or exempt (small-business schemes such as the Dutch KOR or the German Kleinunternehmerregelung).
  • In margin mode, customers never see a VAT amount or rate — as the law requires — and every product page and order confirmation carries the mandatory mention for your country (editable).
  • Record your purchase price per record; the margin report then computes the VAT due for your return, with both calculation methods: period totals with negative-margin carry-over (mandatory for records in the Netherlands) and per-item (the UK method, 16.67% of the margin).
  • A turnover monitor warns you when you approach your small-business threshold — counting the full sales price, as the EU Court requires, not just the margin.
  • A built-in five-country reference (NL, BE, DE, FR, UK) with rates, legal bases and the exact mandatory invoice mentions. General information, not tax advice.

Good to know

  • This version is one-way: RecordToko reads from Discogs and writes to WooCommerce. It never creates, changes or ends listings on Discogs.
  • The plugin keeps itself well within Discogs’ rate limits and pauses automatically when asked to, so your account stays in good standing.
  • Available in English; the interface is fully translatable.

Discogs API usage and disclaimer

This application uses Discogs’ API but is not affiliated with, sponsored or endorsed by Discogs. ‘Discogs’ is a trademark of Zink Media, LLC.

As required by the Discogs API terms of service, every product page created or updated by this plugin displays a “Data provided by Discogs” notice linking back to the source release on Discogs. Enrichment data (cover image, tracklist, genres/styles) fetched from Discogs is cached for a maximum of 6 hours before being refreshed. The plugin only ever talks to api.discogs.com — no other third-party or external service is contacted, and the plugin collects and sends no telemetry of any kind.

External services

This plugin connects to the Discogs API (api.discogs.com), a service operated by Zink Media, LLC (“Discogs”). It is required for the plugin’s core functionality: importing and enriching your record inventory.

What is sent and when:

  • During an import or preview, the plugin sends the release IDs from your inventory to the Discogs API to fetch catalogue data (titles, track lists, genres, cover images).
  • If you configure a Discogs personal access token, that token is sent with each API request as authentication.
  • If you use the “Fetch from Discogs” option, the plugin requests and downloads your own inventory export from your Discogs account.
  • No other data is transmitted. The plugin sends nothing to any other external service and collects no telemetry.

Service information: Discogs Terms of Service, Discogs Privacy Policy, Discogs API Terms of Use.

Screenshots

Installation

  1. Upload the plugin files to /wp-content/plugins/recordtoko, or install the plugin through the WordPress plugins screen directly, then activate it through the “Plugins” screen.
  2. Make sure WooCommerce is installed and active — RecordToko adds its screen under the WooCommerce menu.
  3. Go to discogs.com/settings/developers while logged in to your Discogs account and click “Generate new token” to create a personal access token.
  4. In wp-admin, go to WooCommerce Discogs Sync Settings, paste the token into the “Access token” field, set your price rule, and save.
  5. Go to the Import tab, upload a CSV export (or fetch/download one from Discogs), review the mandatory dry-run preview, and confirm the import when it looks right.

FAQ

Where do I get a token?

Go to discogs.com/settings/developers while logged in to your Discogs account and click “Generate new token”. Paste the generated token into the Access token field under WooCommerce Discogs Sync Settings.

Is this affiliated with Discogs?

No. This application uses Discogs’ API but is not affiliated with, sponsored or endorsed by Discogs. ‘Discogs’ is a trademark of Zink Media, LLC.

Does it sell my data?

No. The plugin only communicates with api.discogs.com to fetch your own inventory and release data. It sends no telemetry and does not share data with any other third party.

Does the plugin write anything back to Discogs?

Only when you ask it to, and never by surprise. The sync starts in practice mode: it logs what it would do without touching anything. Once you switch practice mode off, a paid shop order sets the matching Discogs listing to Draft (reversible), a cancelled shop order brings it back, and — only if you enable it — shop price changes are pushed to your listings. Records marked “do not offer on Discogs” are never touched, and RecordToko never cancels a Discogs order on its own. New listings are only ever created from the “List on Discogs” tab, by you, and always as Drafts first.

What is practice mode?

A safety net, on by default. In practice mode the sync runs exactly as it would live — polling Discogs orders, reacting to shop sales — but writes nothing: not to Discogs and not to your stock. Every action it would have taken is written to the change log with a “(practice mode)” marker, so you can watch it for a few days and switch it off when you trust what you see.

Does RecordToko handle VAT for second-hand records?

Yes. Pick your situation on the VAT tab: normal VAT, the second-hand margin scheme (no VAT shown to customers, the mandatory legal mention added automatically, and a margin report that computes the VAT due for your return) or exempt for small-business schemes. It covers the Dutch, Belgian, German, French and UK rules out of the box. It is a bookkeeping aid, not tax advice.

What happens to existing products when I re-import?

Products are matched by SKU, which holds the Discogs listing ID. Price, stock, status and categories are refreshed; the product name, descriptions and any photo you added yourself are left untouched, so your own edits survive every re-import.

Which file does the CSV upload expect?

The unmodified inventory export from Discogs (Marketplace – Export inventory). Do not open and re-save it in a spreadsheet first: that can change the price format, which the plugin will refuse loudly rather than import incorrectly.

Will I run into Discogs rate limits?

The plugin throttles itself well below the official limits and pauses automatically when Discogs asks it to. Large imports simply take a little longer; adding a personal access token doubles your speed.

Will RecordToko support other marketplaces, like eBay?

Maybe — that depends on you. eBay is technically feasible (each seller would use their own free eBay developer keys, just like the Discogs token — no middleman, no costs). Vinted sadly has no open API, so that one is out of our hands for now. If you want eBay support, say so in the support forum: the next channel gets built when enough sellers ask for it.

Why is a dry run mandatory?

Because importing hundreds of records can create or overwrite a lot of products at once, the plugin always shows you a full preview — what will be created, what will be updated, what will be skipped, and any errors — before anything is written to your store. You confirm explicitly before the real import runs.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“RecordToko” is open source software. The following people have contributed to this plugin.

Contributors

Translate “RecordToko” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.4.1 – 2026-08-26

  • The “Listen” tab (YouTube previews from the Discogs release) can now be switched off under Settings; it stays on by default.
  • Neutral wording in two code comments.

0.4.0 – 2026-08-26

  • Bulk listing: queue Draft creation for every listable record in one click — processed in the background, one record at a time, within Discogs’ rate limits; records without a linked release are skipped and logged.
  • New Orders tab: your latest Discogs and shop orders combined in one read-only overview, with 30/90-day order counts and revenue per channel.
  • Slow movers: the ten records that have been in stock the longest, with their age.
  • New FAQ: which marketplace next? Voting happens in the support forum (eBay is the frontrunner; Vinted has no open API).

0.3.0 – 2026-08-26

  • New “List on Discogs” tab: create Discogs listings from shop products — always as Draft first, with a review queue, per-condition price suggestions from Discogs, a built-in release search for hand-added records, and separate deliberate publishing (per record or in bulk).
  • Price lock: a price you edit by hand is kept through every re-import; unlock it on the product page to hand control back to the price rule.
  • Product editor: media/sleeve condition fields and a Discogs release link on every product.
  • Imports now store the release id and conditions, so listing your stock needs no re-import.

0.2.0 – 2026-08-26

  • Two-way sync: Discogs orders set shop stock to 0 within minutes (configurable poll); paid shop orders set the Discogs listing to Draft (reversible), with automatic relisting on cancellation/refund and an optional delete mode.
  • Daily reconciliation between your full Discogs inventory and shop stock, repairing any drift.
  • Practice mode (default ON): the sync logs everything it would do without writing anything, until you switch it off.
  • Conflict handling: stock never goes negative; double sales are logged prominently with clear advice — RecordToko never cancels a Discogs order itself.
  • Per-record “do not offer on Discogs” switch in the product editor.
  • Optional price push from shop to Discogs (off by default).
  • VAT tools: margin-scheme mode with the mandatory per-country mention (product page + order confirmation), purchase-price field, margin report (period totals with carry-over, and per-item), exempt mode for small-business schemes, turnover monitor and a five-country reference guide.
  • Listen tab with YouTube previews from the Discogs release, shipping-weight import (grams, converted to your store unit) and three new price-rule modes.

0.1.1 – 2026-08-25

  • Strict price validation: comma-decimal prices in a hand-edited CSV are now rejected with a clear error instead of being silently misread.
  • Full uninstall cleanup: options (including your Discogs token), cached data and the log table are removed when the plugin is deleted.
  • Progress bar shows correct totals immediately after confirming an import.
  • Products not created by RecordToko are never overwritten on a SKU collision – they are skipped and logged.
  • Clear admin notice when WooCommerce is missing; requires WordPress 6.5+ for the plugin-dependency system.
  • Many smaller hardening and polish fixes from a full end-to-end test round.

0.1.0 – 2026-08-23

  • Initial release: CSV and API import, Discogs enrichment, price rules, mandatory dry-run preview, change log.
  • Import product weight (grams, converted to the store’s configured weight unit) and the “counts as” format quantity from the inventory CSV; an existing hand-set weight is preserved when a listing has no weight value.