Title: RecordToko
Author: original69
Published: <strong>August 25, 2026</strong>
Last modified: August 26, 2026

---

Search plugins

![](https://ps.w.org/recordtoko/assets/banner-772x250.png?rev=3665236)

![](https://ps.w.org/recordtoko/assets/icon-256x256.png?rev=3665236)

# RecordToko

 By [original69](https://profiles.wordpress.org/original69/)

[Download](https://downloads.wordpress.org/plugin/recordtoko.0.4.1.zip)

 * [Details](https://wordpress.org/plugins/recordtoko/#description)
 * [Reviews](https://wordpress.org/plugins/recordtoko/#reviews)
 *  [Installation](https://wordpress.org/plugins/recordtoko/#installation)
 * [Development](https://wordpress.org/plugins/recordtoko/#developers)

 [Support](https://wordpress.org/support/plugin/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](https://support.discogs.com/hc/en-us/articles/360009334333-Terms-of-Service),
[Discogs Privacy Policy](https://support.discogs.com/hc/en-us/articles/360009334513-Privacy-Policy),
[Discogs API Terms of Use](https://support.discogs.com/hc/en-us/articles/360009334593-API-Terms-of-Use).

## Screenshots

[⌊Settings: your Discogs token and the price rule that maps Discogs prices to shop
prices.⌉⌊Settings: your Discogs token and the price rule that maps Discogs prices
to shop prices.⌉[

Settings: your Discogs token and the price rule that maps Discogs prices to shop
prices.

[⌊Import: upload a CSV or fetch your inventory straight from Discogs.⌉⌊Import: upload
a CSV or fetch your inventory straight from Discogs.⌉[

Import: upload a CSV or fetch your inventory straight from Discogs.

[⌊The mandatory dry-run preview - see exactly what will happen before anything is
written.⌉⌊The mandatory dry-run preview - see exactly what will happen before anything
is written.⌉[

The mandatory dry-run preview – see exactly what will happen before anything is 
written.

[⌊Live progress with a running change log while the import processes in the background.⌉⌊
Live progress with a running change log while the import processes in the background
.⌉[

Live progress with a running change log while the import processes in the background.

[⌊The result: a complete WooCommerce product with cover, condition, tracklist and
Discogs attribution.⌉⌊The result: a complete WooCommerce product with cover, condition,
tracklist and Discogs attribution.⌉[

The result: a complete WooCommerce product with cover, condition, tracklist and 
Discogs attribution.

[⌊The Sync tab: practice mode, both sync directions, conflicts and the live activity
log.⌉⌊The Sync tab: practice mode, both sync directions, conflicts and the live 
activity log.⌉[

The Sync tab: practice mode, both sync directions, conflicts and the live activity
log.

[⌊The VAT tab: margin-scheme settings, the margin report and the five-country reference.⌉⌊
The VAT tab: margin-scheme settings, the margin report and the five-country reference
.⌉[

The VAT tab: margin-scheme settings, the margin report and the five-country reference.

[⌊Margin-scheme products show the mandatory mention instead of a VAT amount — on
the product page and the order confirmation.⌉⌊Margin-scheme products show the mandatory
mention instead of a VAT amount — on the product page and the order confirmation
.⌉[

Margin-scheme products show the mandatory mention instead of a VAT amount — on the
product page and the order confirmation.

[⌊The List on Discogs tab: pick conditions, compare with Discogs price suggestions
and create Draft listings — publishing stays a deliberate step.⌉⌊The List on Discogs
tab: pick conditions, compare with Discogs price suggestions and create Draft listings—
publishing stays a deliberate step.⌉[

The List on Discogs tab: pick conditions, compare with Discogs price suggestions
and create Draft listings — publishing stays a deliberate step.

[⌊The Orders dashboard: your latest Discogs and shop orders side by side, per-channel
totals and your slowest movers.⌉⌊The Orders dashboard: your latest Discogs and shop
orders side by side, per-channel totals and your slowest movers.⌉[

The Orders dashboard: your latest Discogs and shop orders side by side, per-channel
totals and your slowest movers.

## 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

 *   [ original69 ](https://profiles.wordpress.org/original69/)

[Translate “RecordToko” into your language.](https://translate.wordpress.org/projects/wp-plugins/recordtoko)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/recordtoko/), check
out the [SVN repository](https://plugins.svn.wordpress.org/recordtoko/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/recordtoko/) by 
[RSS](https://plugins.trac.wordpress.org/log/recordtoko/?limit=100&mode=stop_on_copy&format=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.

## Meta

 *  Version **0.4.1**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [discogs](https://wordpress.org/plugins/tags/discogs/)[import](https://wordpress.org/plugins/tags/import/)
   [records](https://wordpress.org/plugins/tags/records/)[vinyl](https://wordpress.org/plugins/tags/vinyl/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/recordtoko/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/recordtoko/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/recordtoko/reviews/)

## Contributors

 *   [ original69 ](https://profiles.wordpress.org/original69/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/recordtoko/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://ko-fi.com/4eachother)