Skip to content

Guide

Importing a CSV into TCG PowerTools

Once set up, the import takes a few clicks. The work sits in the file before it: every row has to describe a card precisely enough that it can only land on one Cardmarket page. Both parts are here, the route through the interface and what the columns have to carry, plus the pitfalls.

The route in five steps

This is what the import looks like in TCG PowerTools. One point in it deserves attention, the third.

  • Open “Listing & Appraisal” from the sidebar.
  • Choose “Import a file” and drop the CSV from CardEntry into the field. An example file in the PowerTools format is offered there for download.
  • Check the recognised columns. PowerTools maps them to its fields automatically; if a mapping is off, correct it here or choose to ignore the column. This is the step where a silent mistake happens, or does not.
  • Click “Import data”. Depending on the number of cards this takes a moment. Rows that do not go through come back as their own CSV, saying which card failed and why.
  • Only “Publish to Cardmarket” actually lists the stock. Until then everything sits in PowerTools and you can still change it.

How PowerTools recognises the cards

PowerTools matches a row by one of four identifiers: name, set and collector number together, the Cardmarket ID, the TCGplayer ID or the Scryfall ID. The file from CardEntry carries the Cardmarket ID and, in addition, name, set and collector number of every card. Where the Cardmarket ID is present, PowerTools prefers it. Name, set and number are the fallback for cards CardEntry has no ID for.

What PowerTools insists on

Two things are mandatory per row: the quantity and at least one of the identifiers above. And then there is the trap: if language and condition are missing from the file, PowerTools sets them to English and Near Mint. On a German stack that makes every row wrong without a single error message. This is exactly why CardEntry writes both into every row, alongside the Cardmarket ID.

One file per card game

Incoming stock is rarely all one game. The import in PowerTools runs per card game, though, so a mixed stack is split on export: each card game gets its own file. If a session holds Yu-Gi-Oh! and Pokémon cards, you get one CSV with all Yu-Gi-Oh! cards and one with all Pokémon cards. You import them one after another, not together.

The thirteen columns

This is the order and these are the headers the file leaves CardEntry with. It matches the format PowerTools offers as its example file, so the mapping in step three usually already reads correctly. Looking anyway is worth it. This is what a row looks like:

Columns of an import file for TCG PowerTools
ColumnWhat it carries
cardmarketIdThe product identifier at Cardmarket, unique for every article that can be sold there. It decides which page the card lands on.
quantityNumber of copies in this row. Only cards with the same name, condition, language and edition are merged.
nameEnglish card name of the matched version. Used alongside the identifier on import.
setName of the set.
cnCollector number reduced to the number: “039” becomes 39.
conditionCondition as a code, e.g. NM.
languageLanguage written out, e.g. German.
isPlaysettrue or false.
isFirstEdFirst edition: true or false. Only relevant for Yu-Gi-Oh! and Pokémon.
isReverseHoloFoil (Magic) or reverse holo (Pokémon): true or false.
isSignedSigned: true or false.
pricePrice per card. Left empty in the export file. Pricing happens in the import tool.
commentFree text per row, e.g. “Fast Shipping”. Optionally carries the storage location as well.

The name is an identifier, not a label

On import, the card name is used alongside the Cardmarket identifier. A typo or a translated name is therefore not a cosmetic issue: it can push the row onto a different card. What comes out of CardEntry is the English name of the matched version, not the text the camera read.

Condition, language, foil and edition

These four come on top of the identifiers. They decide the price and can only be corrected one by one afterwards. They belong in the file, not in the shop.

  • The language is detected automatically from the image by default. Foil or reverse holo stays empty at first, because detecting it from the photo was too unreliable. Under “AI detection” in the account settings you can switch either on or off or set a fixed value, and override it again per session.
  • The condition is set per card, as a code: MT, NM, EX, GD, LP, PL, PO. Cards without their own value get the fallback condition you choose in the export dialog.
  • Language written out the way Cardmarket lists it: German, English, French, Italian, Spanish, Portuguese, Japanese, S-Chinese, Korean.
  • isFirstEd, isReverseHolo, isSigned and isPlayset carry true or false. Empty does not mean false, it means undetermined. First edition only matters for Yu-Gi-Oh! and Pokémon.

Identical cards appear once

Three copies of the same card in the same condition, language and edition make one row with quantity 3. If any of those differ, or a card carries its own comment, it becomes its own row. That is not a detail: merged rows with mixed conditions would be mispriced in the shop.

Character encoding

The file is UTF-8 with a leading byte order mark, which lets Excel and PowerTools read it correctly. Without it Excel misreads accented characters, and the first time you open the file the names turn to garbage that nobody untangles again.

Storage locations and the extra column

A storage location per card can be assigned from a template, for example AB-C{index} for running numbers in scan order. It can be written into the comment column or into a separate location column, which PowerTools stores as “Location”. Only PowerTools V2 knows the separate column, and whether older versions load a file with an extra column is untested, which is why it is off by default. If you switch it on with an older version, test with a small batch first.

When rows are rejected

An import is rarely all or nothing. If individual rows do not go through, PowerTools creates a CSV holding exactly those rows. Its last column gives the reason (“Error”). The most common one: CardEntry had no Cardmarket ID for a recognised card. For a few cards, the “Single card” route in PowerTools is usually the fastest fix. The rest of your stack is already in by then and does not need uploading again. If many cards are affected or the reason is unclear, reach us on Discord or by email, both in the footer.

What you need outside CardEntry

Building and downloading the file costs you no third-party subscription. Importing and publishing works in TCG PowerTools without paying either: the free version reads files in and publishes up to 50 new changes a day. If you list more than that in a day, or want automatic pricing, you need a paid subscription there. That is a third-party product and not included in CardEntry credits.

The steps and field names follow the public TCG PowerTools knowledge base as of 3 August 2026. The practical notes on rejected rows come from a seller who uses the import daily, as of 7 September 2026. Interfaces change; if in doubt their instructions apply, not this page. CardEntry is an independent tool with no business relationship to TCG PowerTools or Cardmarket.

Try the capture part.

Process 500 card images for free. No subscription, no credit card. You see the finished file before you commit to anything else.

Get started free