> ## Documentation Index
> Fetch the complete documentation index at: https://tradepost.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Import and export

> Moving your inventory in and out as a spreadsheet.

**Import / export** is on the Inventory tab. Export copies your items out as CSV;
import turns a CSV into items.

<Warning>
  **Import creates items. It never updates them.** There is no id column, so
  nothing can match a row to an item you already have. Re-importing an export
  gives you two of everything.
</Warning>

## Columns

Six columns. Two are required; leaving out any of the rest means "use the
default".

| Column        | Required | Accepts                                          | Also headed            |
| ------------- | -------- | ------------------------------------------------ | ---------------------- |
| `name`        | Yes      | Any text, up to 120 characters                   | `item`, `title`        |
| `condition`   | Yes      | One of your subreddit's condition keys           |                        |
| `price`       | No       | A number. Blank means trade-only                 | `cost`, `asking price` |
| `description` | No       | Any text, up to 4,000 characters                 | `notes`, `details`     |
| `status`      | No       | `available` or `traded`. Blank means `available` |                        |
| `photos`      | No       | Up to 8 Reddit photo links, separated by `\|`    | `images`, `photo urls` |

Column order does not matter, and capitals, spaces, underscores and hyphens are
ignored, so `Item Name`, `item_name` and `ITEM-NAME` are one column.

**A heading nothing matches is reported, never silently dropped.** The preview
names it before anything is created.

## Condition

Either the short key or the label works. Capitals do not matter, and a space, a
hyphen or a dot between two parts are all read the same way. Whether there is a
separator at all does matter: `Like New` and `LikeNew` are two different
conditions.

Your subreddit sets the list. The import panel's **What values are accepted?**
shows this subreddit's own keys, which is also what an export writes.

## Price

Currency symbols and thousands separators are stripped. A cell holding `1,200.00`
with a currency symbol in front of it is read as `1200`.

A comma is only a thousands separator when exactly three digits follow it, so a
decimal comma is never silently rescaled. `12,50` is refused rather than read as
`1250`.

Where your subreddit has asking prices switched off the column is still read and
still stored. Leave it in your file. The values come back if prices are switched
on again.

## Photos

`https://i.redd.it` and `https://preview.redd.it` links only, separated by a
pipe. Links from anywhere else are refused. Add photos through the app rather
than by hand.

## Export

<Warning>
  Export copies to the clipboard. It does not download a file. A Reddit app
  cannot hand you one. **Copy CSV** does it, and a text box underneath holds the
  same thing to select by hand.
</Warning>

Items come out oldest first.

## Import

<Steps>
  <Step title="Paste or pick a file">
    Paste a spreadsheet into the box, or choose a file. **Copy a blank template**
    gives you the header row on its own.
  </Step>

  <Step title="Check this file">
    Commas and tabs are both read, so a straight paste out of Sheets or Excel
    needs no converting.
  </Step>

  <Step title="Read the preview">
    It names every unrecognised heading and every row that will be refused, with
    the line each problem is on. Up to 20 are listed, then the rest are a count.
  </Step>

  <Step title="Import">
    The button carries the number that will actually be created. **Nothing is
    created until you press it**, and refused rows are never sent.
  </Step>
</Steps>

A run that fails part way through keeps what it already created and reports the
rest as unsent.

## What does not survive a round trip

Three sets of rows come out of an export and are refused on the way back in. The
export panel counts each before you copy.

| Rows                                            | Fix                                        |
| ----------------------------------------------- | ------------------------------------------ |
| Items in an open trade, exported as `pending`   | Change the cell to `available` or `traded` |
| Items on a condition your subreddit has dropped | Change the cell to one it still uses       |
| Anything past your newest 200 items             | Not in the file at all                     |

## When a row is refused

The report hands back every row that did not become an item, in the same six
columns, so a retry is a paste rather than an editing job.

**The commonest cause is a comma inside a description.** Wrap the whole value in
double quotes, or the row arrives with more values than there are columns.

Where a run stopped because a request never came back, the report says the first
batch of unsent rows may exist after all. Check before pasting those back.

## Limits

200 rows, 1 MB. A file over either is refused whole, before any of it is read.

**Your item cap still applies.** The preview works out how many rows fit under
your subreddit's cap and puts the number on the button. See
[Inventory](/traders/inventory#how-many-you-can-hold).
