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

# Bulk Product Upload

> Upload many vendor products at once from a CSV file

# Bulk Product Upload

Bulk product upload lets vendors add or update many products at once by uploading a CSV file.

Use this feature when you want to import a larger product catalog instead of creating products one by one.

## What is bulk product upload?

Bulk product upload reads product data from a CSV file and creates or updates products for a vendor company.

It can import product information such as:

| Field               | Meaning                       |
| ------------------- | ----------------------------- |
| Product name        | Name of the product           |
| Product number      | Vendor article number         |
| Packaging           | Packaging or unit description |
| Stock               | Optional stock quantity       |
| Price               | Optional product price        |
| Product description | Optional product description  |

## Who can upload products?

Bulk product upload is available to vendor users.

A vendor can only upload products for their own vendor company.

<Warning>
  Vendors cannot upload products into another vendor company's catalog.
</Warning>

## Required upload file

The upload must include a CSV file.

If no file is provided, the upload is rejected.

## Field mapping

During upload, Mathership needs to know which CSV columns belong to which product fields.

This is called field mapping.

Required mappings are:

| Mapping field   | Meaning                                         |
| --------------- | ----------------------------------------------- |
| product\_name   | CSV column containing the product name          |
| packaging       | CSV column containing the packaging information |
| product\_number | CSV column containing the article number        |

<Note>
  For vendor uploads, the product number is required.
</Note>

Optional mappings can include:

| Mapping field        | Meaning                                   |
| -------------------- | ----------------------------------------- |
| stock                | CSV column containing stock quantity      |
| price                | CSV column containing product price       |
| product\_description | CSV column containing product description |

## CSV delimiter

Mathership can detect common CSV delimiters automatically.

Supported delimiters include:

* Semicolon
* Comma
* Tab
* Space

If the delimiter cannot be detected, Mathership falls back to a standard CSV format.

## Creating and updating products

Bulk upload can create new products or update existing products.

| Situation                                            | Result                                                |
| ---------------------------------------------------- | ----------------------------------------------------- |
| Product number is new                                | A new product is created                              |
| Product number already exists for the vendor company | The existing product is updated                       |
| Product number is missing                            | Product is created with no product number placeholder |

This helps vendors update an existing catalog without manually editing every product.

## Product number handling

The product number is used to identify existing products during upload.

If the CSV row has a valid product number, Mathership checks whether a product with that number already exists for the vendor company.

If it exists, the product is updated.

If it does not exist, a new product is created.

<Warning>
  Keep product numbers consistent. Changing product numbers can create duplicate products instead of updating existing ones.
</Warning>

## Stock handling

Stock is optional.

If no stock column is mapped or the value is empty, Mathership stores stock as 0.

If the stock value cannot be read as a number, Mathership also stores stock as 0.

## Price handling

Price is optional.

If no price column is mapped or the value is empty, Mathership stores price as 0.

If the price value cannot be read as a number, Mathership also stores price as 0.

## Product description

A product description can be imported when a description column is mapped.

If no description column is mapped, products are created or updated without changing this optional description field.

## Upload result

After the upload, Mathership returns a result with:

| Result field   | Meaning                               |
| -------------- | ------------------------------------- |
| success\_count | Number of rows successfully processed |
| errors         | Rows that could not be processed      |
| row            | CSV row number with an issue          |
| error          | Reason why the row failed             |
| data           | The row data that caused the issue    |

This makes it easier to correct the CSV and upload again.

## Partial success

Bulk upload can partially succeed.

This means some rows may be imported successfully while other rows have errors.

<Note>
  If some rows fail, review the error list, correct the CSV, and upload the corrected rows again.
</Note>

## Example: Product catalog upload

A vendor wants to upload a catalog with article numbers, names, packaging, stock, and prices.

| CSV column    | Mapping field   |
| ------------- | --------------- |
| Artikelnummer | product\_number |
| Artikelname   | product\_name   |
| Gebinde       | packaging       |
| Lagerbestand  | stock           |
| Preis         | price           |

Mathership then creates or updates the products for that vendor company.

## Example: Updating prices

A vendor already has products in Mathership and wants to update prices.

| Step | Action                                                   |
| ---- | -------------------------------------------------------- |
| 1    | Export or prepare a CSV with product numbers and prices  |
| 2    | Upload the CSV                                           |
| 3    | Map product\_number, product\_name, packaging, and price |
| 4    | Start the upload                                         |
| 5    | Review the upload result                                 |

Existing products with matching product numbers are updated.

## Example: Adding stock values

A vendor wants to add stock quantities to products.

| Step | Action                                              |
| ---- | --------------------------------------------------- |
| 1    | Prepare a CSV with product numbers and stock values |
| 2    | Upload the CSV                                      |
| 3    | Map the stock column                                |
| 4    | Start the upload                                    |
| 5    | Review imported rows and errors                     |

## Common problems

### Upload is rejected

Check that:

* A CSV file was selected
* Field mapping was provided
* Required fields are mapped
* The vendor company exists
* You are logged in as the correct vendor

### Required field is missing

Check that the CSV row contains values for all required mapped fields.

Required fields are product name, packaging, and product number.

### Product was duplicated

This can happen if the product number changed or was missing.

Use consistent article numbers to update existing products.

### Stock or price is 0

This can happen if:

* The mapped column is empty
* The value is not numeric
* The wrong CSV column was mapped

### Some rows failed

Bulk upload may still import valid rows even if some rows fail.

Review the returned error rows, correct the CSV, and upload again.

## Best practices

### Use product numbers consistently

Product numbers are important for updating existing products.

### Check the CSV before upload

Make sure required columns are filled and values are clean.

### Use clear packaging values

Packaging helps customers understand how the product can be ordered.

### Start with a small test upload

Test a few rows first before uploading a large catalog.

### Review upload errors

Always review the error list after upload, especially for larger files.

## Related pages

<CardGroup cols={2}>
  <Card title="Adding Products" icon="plus" href="/en/vendors/products/add-products">
    Add a single product manually.
  </Card>

  <Card title="Edit Products" icon="pen-to-square" href="/en/vendors/products/edit-products">
    Update product information after upload.
  </Card>

  <Card title="Availability" icon="toggle-on" href="/en/vendors/products/availability">
    Mark products as available or not available.
  </Card>

  <Card title="Product Images" icon="image" href="/en/vendors/products/product-images">
    Manage product images after upload.
  </Card>

  <Card title="Packaging Levels" icon="boxes-stacked" href="/en/vendors/products/packaging-levels">
    Define how products are packaged and ordered.
  </Card>

  <Card title="AI Packaging" icon="wand-magic-sparkles" href="/en/vendors/products/ai-packaging">
    Generate packaging levels from packaging text.
  </Card>
</CardGroup>
