Add a product

Step by step, add a single product with variants, images, inventory, and SEO so it's ready to sell on your storefront.

This article walks you through adding your first product to Brainerce. By the end you'll have a product live on your storefront with a title, price, image, stock count, and a clean SEO slug.

Before you start, make sure you have at least one image for the product (JPG, PNG, or WebP, ideally square 1:1 ratio).

Your plan caps how many products you can have. The Free plan allows 20 products; paid plans have no product cap. When you are at the limit, Add Product, Duplicate and imports are refused with an upgrade prompt. See Plans & limits.

Quick steps

  1. Go to Products in the sidebar.
  2. Click Add Product (top right).
  3. Fill in Product Name and Base Price (the two required fields), and optionally the Inventory Status to count stock.
  4. Add at least one image (recommended, not required).
  5. Leave Status on Active and click Create Product. The product is on sale on a shop only once you also tick that shop under Sales channels.

The detailed walkthrough below covers each step plus variants, SEO, and what happens after you save.

1. Open the products page

From the dashboard sidebar, click Products. You'll see the products list, empty if this is your first product, or a table of existing products like the one below.

The Products list showing existing items with their Status, Name, Slug, Images, SKU, Type, Sales channels and Price columns, the toolbar (All channels, All regions, Filter, Columns, Edit All, Import) and the Add Product button with its split arrow in the top right

The Add Product button sits in the top-right corner. The split arrow next to it opens a dropdown with three ways to add: Add via form (the full editor, below), Add empty row (a quick inline row you fill right in the table), and Scan with AI (snap or upload a product photo and let AI fill in the details for you). A separate Import button handles CSV/bulk import.

Click Add Product to open the editor.

2. Fill in the product name and price

The product editor opens with a blank form. Two fields gate the save button:

FieldWhat goes here
Product NameThe product name customers see on your storefront (e.g. "Anker 735 GaN Charger 65W").
Base PriceThe list price in your store currency. Use a decimal (100, 49.90). Required for a simple product; a variable product prices each variant instead, so this one is skipped. A kit still needs a number here to save, but it only charges that number if the kit is on Fixed price: on the two contents-based pricing modes the kit costs what its contents cost and this field is ignored. See Kits.

Inventory Status sits just below and defaults to In Stock. Switch it to Not for Sale to block purchase temporarily. It is not required to save.

Use Not for Sale only for something you are not selling. For a product that is sold out but coming back, turn Manage Inventory on and set the quantity to 0 instead: that is the only state that offers shoppers a back-in-stock waitlist.

Everything else (SKU, sale price, cost price, description, categories, brands, tags, SEO) is optional but recommended for a polished storefront.

The empty Create Product window: Product Information on the left (Product Name, SKU, Status, Product Type, Slug, GTIN / EAN / UPC barcode, Sale price window) and Pricing, Inventory and Organization on the right, with the Create Product button disabled until a name and a base price are entered

The modal lays out the product in two columns: Product Information (name, SKU, type, slug, barcode, description) on the left, and Pricing, Inventory, Organization (categories, brands, tags) on the right. Press Ctrl + Enter at any point to save without scrolling to the button.

Here's what a filled-in product looks like, an Anker 735 GaN Charger with SKU, price, category, and tags set:

A filled-in product opened in the editor, titled Edit: Flower item 16.20, showing Product Name, SKU SKU-16-20, Status Draft, Product Type Simple Product, the slug with its URL and the note that changing the slug is safe, a Base Price of 89, the Inventory stock badge and the Organization section, with a Save Changes button

Start by typing the product name. It's the only field that has an effect on every other field (the slug auto-derives from it, the SEO title defaults to it, the social preview falls back to it).

Selling in more than one currency? These are the prices for your default region. Buyers elsewhere see them converted automatically, or the exact figure you choose, if you set one under Prices per Region. See Regions and currencies.

Three pricing fields, three different jobs

FieldShown on storefront?Purpose
Base PriceYes, strikethrough when Sale Price is setThe "regular" price.
Sale PriceYes, main price when setA temporary discount. Must be above 0 and lower than the Base Price. Set to blank to remove the sale; 0 is not a sale price.
Cost PriceNo, internal onlyWhat you paid for the item. Used for profit reports only. Never synced to any storefront or marketplace.

Sale price window. Under the pricing fields, Sale price window has Starts and Ends dates (optional): leave both blank for a sale price that is always active, or give both so the sale runs only between them (the end must come after the start, and the product needs a sale price). The end date is the whole of that day in your store's time zone. Before the start date, and after the end date, shoppers see and pay the regular price. The same dates can be edited in the table (Sale Starts and Sale Ends columns), and can differ for one variant or one sales channel. See Schedule a sale with Sale Starts and Sale Ends.

SKU vs barcode

  • SKU is yours: any unique string that fits your inventory system (ANK-735-GAN works great). It's the join key for accounting exports, warehouse tools, and the Inventory page's stock importer. On both importers it is also what decides whether a row is skipped as already in your store: the AI import matches on the product's SKU (never on the name), so a file with no SKU column has nothing to compare and creates a second copy. See Bulk import from CSV.
  • GTIN / EAN / UPC (Barcode) is the global product code printed on the box. Required by Google Shopping, Amazon, and most marketplace feeds, so fill it in if you sell on those channels.

Tip: write a description even if it feels optional

The description appears on the product page and is the single biggest factor in whether a customer buys. Even one or two sentences ("Soft 100% organic cotton, fits true to size, machine washable") makes a noticeable difference in conversion vs. an empty description.

Scrolling down reveals the Description, Product Images upload zone, and the Sales channels toggles in the right column:

Lower half of the Create Product window showing the end of the Meta description, the Product Images drop zone ("Drag & drop images or click to browse"), a block of custom field inputs, and the Sales channels section with one switch per channel, all switched off

Every field in the product form

FieldWhat it doesRequired, limit or default
Product NameThe name shoppers see. The slug and SEO text start from it.Required, 1 to 500 characters. A blank name is refused.
SKUYour own unique product code.Optional, up to 191 characters.
StatusActive (live) or Draft (hidden).Active on a new product.
Product TypeSimple Product, Variable Product (sold in versions such as size and color) or Kit (a set of other products sold as one). A variable product asks you to create its variants.Simple.
SlugThe end of the product URL, built from the name. Letters, numbers and hyphens only. A name in another script offers an ASCII-only slug as a suggestion.Optional, up to 500 characters.
GTIN / EAN / UPCThe barcode number.Optional.
MPN (Manufacturer Part Number)A manufacturer code for product feeds. Shown only while an app that carries a product feed is installed.Optional, up to 70 characters.
Meta descriptionThe text under the title in search results.Optional, up to 160 characters (a counter shows it).
DescriptionRich text shown on the product page.Optional, up to 65,535 characters.
Base Price, Sale Price, Cost PriceSee "Three pricing fields" above. Calculate from cost fills the base price from the cost with a pricing formula and needs a cost price first.Base price required, 0 or more. Cost price optional, 0 or more. Sale price optional, above 0 and lower than the base price (0 is not a sale price; leave it blank for no sale). A product or variant price cannot be negative, and none can be above 1,000,000,000,000. A product that already holds an older sale price at or above its base price can still be edited, and is only checked again when you change a price.
Sale price windowStarts and Ends dates for the sale price.Optional, end after start.
Shipping weight & dimensionsWeight (kg, lb, g or oz) and length, width and height (cm or in). Weight-based shipping rates, carrier labels and Google Shopping feeds read them. Shown only while the Shipping module is on.Optional, 0 or more.
DownloadableTurns the product into a digital file with no shipping and no stock.Off.
Inventory StatusManage Inventory with a Stock Quantity, or In Stock or Not for Sale without counting. Shown for simple products only, and only while the Inventory module is on.In Stock (not counted). A stock quantity is a whole number from 0 to 1,000,000,000.
Categories, Brands, Tags, Modifier GroupsThe organization fields described in section 6. A tag is added by typing and pressing Enter.Optional. One save sends up to 250 tags (255 characters each), 100 categories and 50 brands.
Product ImagesDrag in or Browse from library. JPEG, PNG or WebP, up to 10 MB each. The editor takes 20 images per product.Optional.
Custom Fields, Sales channelsSee section 6.Optional.

Changing Product Type from variable to simple asks "Convert to Simple Product?" and permanently deletes the product's variants if you confirm. A kit's contents are chosen after the product is saved: the kit window opens on its own, and you can reopen it from the Type column of the products table. See Kits.

3. Add product photos from the media library

In the Images section, open the Media Library to pick existing images or upload new ones (the editor takes up to 20 per product).

  • Single-click an image to make it the main image, the one shown on product cards (it gets a star badge).
  • Double-click an image to open the asset editor, where you can adjust it and Remove background for a clean transparent version (powered by Brainerce's built-in AI).
  • For best storefront layout, use square (1:1) images, because most product-card layouts assume square.
  • Supported formats: JPG, PNG, WebP.

Why a product image isn't showing on the storefront

If a product looks fine in the dashboard but has no photo on your live store, the image is almost always still an external link rather than a file Brainerce hosts.

That happens when an image was added by pasting a web address, usually by BOBO or a connected AI assistant working from a spreadsheet or a supplier list, instead of being uploaded to your Media Library. Brainerce copies those pictures onto its own servers in the background, and deliberately hides them from your storefront, cart, and checkout until that copy finishes. It is a short wait, not a permanent state. Reload the product after a minute or two; once the picture appears in your Media Library it is live everywhere.

If it never appears, the link was not a picture. The most common cause is a link to a page that displays a photo: a stock-photo listing on Pexels or Unsplash, or a search-results page, rather than to the picture file itself. Brainerce downloads the web page, finds no image in it, and gives up. A usable address ends in .jpg, .png, or .webp; on a stock-photo site you get one by using the site's own Download button, then uploading that file here.

You can see which state a picture is in without leaving the product. Open the product and look at the thumbnails in the Images section: one still being copied is labelled Uploading, and one that could not be copied is labelled Not uploaded in red. Hover either label to read the full explanation, including the reason the copy failed. A thumbnail with no label is hosted by Brainerce and live on your storefront.

One thing Brainerce will not do for you: it will not go and find a replacement picture on its own. A product whose image failed simply sells without one until you upload a new one, so it is worth scanning the Images section after a bulk AI import.

Asking an AI assistant to add product images

You can tell BOBO or a connected assistant like Claude or ChatGPT to add products with pictures, and it will work, with one caveat worth knowing before you start a large import.

Give the assistant direct links to picture files (addresses ending in .jpg, .png, or .webp), or upload the pictures to your Media Library first and ask it to use those. Links to stock-photo pages will not work. See the section above for why, and how to get a usable link instead.

In ChatGPT, with the Brainerce app, you can attach the photo itself. Drop a picture into the conversation and say "add this to my store"; the photo becomes the product image, with no link and no Media Library step. On a product that already exists, an attached photo is added to its gallery, whereas a list of image links replaces the gallery. Say which you want.

Also be aware that an assistant reporting "added 12 products with images" is telling you the products were saved, not that the pictures arrived. It cannot see your storefront. Spot-check a few products afterwards.

Spreadsheets are the usual trip-up. A column of blue "click here" style links in Excel hides the real web address behind display text, and an assistant reading the file may only get the words, not the link. Before handing over a sheet, paste the actual image addresses into a plain column as visible text.

Sell a digital or downloadable product

Selling an e-book, license key, or file instead of a physical item? In Product Information, turn on the Downloadable toggle. When it's on, Brainerce hides the Inventory section and skips shipping for this product. Use Configure download to attach the file and set an optional download limit (how many times a buyer can download) and download expiry (how long the link stays valid).

Do not sell a gift card or voucher as a product

Gift cards are real in Brainerce, but this form is not where they come from. No toggle here turns a product into a gift card, and no code is minted when someone buys one. A product called "Gift Card" is just a product: money comes in, and nothing issues the buyer anything they can spend.

There is no gift-card product type and no way for a shopper to buy a gift card on your website. If you list one anyway, you would have to watch for those orders and go and issue a card by hand for each of them, which is a manual step nobody remembers on a busy day.

Where gift cards actually come from: you issue them yourself on Marketing → Gift cards, by typing an amount and a reason. Brainerce mints the code, tracks the balance, emails it to a recipient if you give one, and lets the customer spend it at checkout. See Gift cards. They are still in rollout, so the sidebar entry has not appeared for stores yet.

A fixed-amount coupon is not a substitute for stored value. A coupon takes money off an order and vanishes when used, with no remaining balance and no record of what anyone still owes. If someone has paid you for a voucher, issue a real gift card for it instead.

4. Add variants (optional)

A variant is a version of the same product: a Small Red T-Shirt is one variant of "Cotton T-Shirt". If your product comes in multiple sizes, colors, or other options, add them here.

  1. Set Product Type to Variable Product. A gear button (Configure Variations) appears next to it. It stays greyed out until the product has a name.
  2. Click the gear button to open the Manage Variations dialog.
  3. Add an attribute (for example Size or Color) and pick its values (for example S, M, L).
  4. Click Generate Variations. Brainerce creates one variant per combination. For example, Size × Color with 3 sizes and 2 colors creates 6 variants.
  5. For each variant, set its own Price (defaults to the parent product price), SKU and Inventory, then click Save Changes.

The full walkthrough, including bulk edits and sale dates per variant, is in Add variants to a product. A variable product has no plan limit on its variants, only a cap of 500 variants per product.

Each variant tracks inventory separately. The product card on your storefront shows the sum of all variant stocks, and a variant with stock = 0 shows Out of stock at checkout.

5. Optimize for search (SEO)

Two fields inside Product Information control how your product appears in Google search results:

FieldPurpose
SlugThe slug at the end of your product URL, e.g. /products/cotton-t-shirt. Auto-derived from the product name.
Meta descriptionAppears under the title in search results. 150 to 160 characters works best.

There is no separate SEO title or social-preview image on a product; search engines and social cards fall back to the product name and its first image. For a store-wide SEO view, including per-product scoring and fixes, use SEO Autopilot.

Changing a slug is safe. When you rename a product's slug, Brainerce remembers the old address and your storefront automatically redirects it (a permanent 301) to the new one, so the old link keeps working and the page keeps its Google ranking. The same applies to blog post slugs. One caveat: the redirect is performed by the storefront itself, so it works on storefronts built with the current Brainerce template or integration guide. A storefront built before this feature needs a rebuild or update to pick it up.

If you leave SEO fields blank, Brainerce auto-generates them from the product title and main image, and you can always come back and refine later.

Time-savers and extra fields

A few helpers and conditional fields that appear depending on your setup:

  • Generate with AI. On an existing product, the SEO description field has a Generate with AI button that writes a description for you.
  • Calculate base price. The Cost Price field has a button that works out a base price from your cost using the store's pricing formula. See Pricing formulas for how the formula is picked, and note that on a product you have already saved the calculation reads the product's stored categories, brands and tags rather than what is currently selected in the form.
  • Tax behavior. When your store collects tax, a Tax behavior field (Taxable / Exempt) appears so you can exempt specific products.
  • MPN. When the Google app is installed, an MPN field appears next to the barcode for product feeds.
  • Translate. On a multi-language store, a language switcher in the modal header lets you write (or AI-translate) the name, description, slug, and SEO per language.

6. Organize and connect to channels

Scrolling further down the modal exposes the rest of the optional but high-value fields:

FieldWhen to use it
CategoriesThe product's place in your catalog tree. Drives storefront menu navigation and category landing pages. A product can sit in multiple categories.
BrandsThe manufacturer or label (e.g. Anker, Apple). Used for brand filters on the storefront and brand-based reports.
TagsFree-form labels for cross-cutting attributes that aren't categories (e.g. bestseller, summer-sale, new-arrival). Use these to power collection filters.
Modifier GroupsAdd-ons or customizations that change the variant at checkout: toppings on a pizza, engraving on a watch, extended warranty on a charger. Attach a group you've defined elsewhere; the customer picks from it on the product page.
Custom FieldsExtra structured data you've defined in Products → Custom Fields: specs, certifications, buyer input fields, anything beyond the built-in fields. The section appears in the right column whenever you have at least one active custom field.
Sales channelsThe list of your shops. Tick each shop this product should be on sale in. A product you have not ticked cannot be bought on that shop. It stays out of the catalogue, and it cannot be added to a basket even by someone with a direct link. Every toggle starts off, so a new product is on sale nowhere until you tick a shop, and it also has to be Active rather than Draft. Installed marketplace apps that carry a product feed (Google is the one in the marketplace today) appear in this same list. Shopify and WooCommerce never appear: products are never pushed to them.

You can leave every one of these blank for now and add them later from the product page; none of them block saving.

Filling in custom field values

If your store has custom fields defined, a Custom Fields section appears in the product editor, both when creating and when editing a product. The section splits into two groups:

  • Product Attributes are descriptive fields about the product (specs, materials, certifications). All active attribute fields appear here for every product.
  • Buyer Input Fields are fields your customers fill in before adding the product to their cart (engraving text, gift message, custom color). Only fields marked as applies to all products appear at creation time; product-specific input fields can be added after saving.

Fill in the values directly in the form and click Save, and the values are saved together with the rest of the product data.

7. Save the product and publish it as Active or Draft

There is one save button: Create Product on a new product, Save Changes when editing. What decides visibility is the Status select higher up the form:

  • Draft means saved to your catalog but not visible on the storefront. Useful for products you're still preparing.
  • Active means live on your storefront immediately.

You can flip between draft and published from the products list anytime by clicking the status badge.

After saving, you'll return to the products list. Your new product appears at the top with an Active badge once it's published.

A few things to check on the new row:

  • Image thumbnail is pulled from the first image you uploaded. Click the row to add more.
  • Sales channels icon confirms which storefronts and marketplaces will sync this product. If you toggled a shop on under Sales channels in the modal, the relevant channel icon appears here within seconds.
  • Price column shows the base price; if you also set a sale price the base price is struck through and the sale price wins.
  • Status badge: Active = live; Draft = saved but hidden. Those are the only two.

To keep editing, click a cell to change it inline, or use the row's ⋮ → Edit in Form to reopen the full editor. There is no separate product detail page; everything happens in the table and the editor modal.

The editor does not open while the table is scoped to one sales channel. The form saves the product itself, for every channel, so in a channel view Edit in Form is refused with "Use the All channels view for this" and nothing changes. Switch the table back to All channels to use the form. In a channel view you can still edit a few cells for that channel only: price, sale price, SKU, sale dates, tax class, shipping class and status. See A different price on one channel.

What's next?

  • Bulk import. Adding 50+ products? Use the Import button to upload a CSV instead of clicking through one product at a time.
  • Connect a sales channel. Make your products available through your headless storefront, or feed them to Google. Not Shopify: there is no Shopify app, and products are never pushed there. See Connecting sales channels.
  • Set up shipping. Configure rates and zones before customers can check out. See Shipping setup.
  • Take a test order. Use Sandbox payment mode to place a test order against your own store and verify the full flow. See Taking a test order.