Skip to content

What you can map from

Every value of your own catalogue a channel field can be mapped to, in the order the From select offers them. A field takes one of these, plus a fallback for the products where that value is empty.

Some of these are columns of your product and some are worked out from it. The ones that are worked out are the ones worth reading: a channel refuses a store-relative image path and reads its own words for availability, and neither is something a merchant should have to encode by hand.

Value What it is
product_id OpenCart's own number for the product. Unique and unchanging, which is all a channel's id has to be.
master_id For a variant, the product ID of the master it was made from, and empty for every other product — masters included. This is what a channel's item_group_id is for. A master is not put in its own group, because it has no variant values and a group's items have to differ by one; a master that is only a template is best left out of the feed.
model The product's model, as your product form calls it. OpenCart copies a master's model onto each of its variants unless you override it there, so on a store with variants it repeats, and it is not a safe id.
sku The product's SKU.
ean The product's EAN barcode.
upc The product's UPC barcode.
jan The product's JAN barcode.
isbn The product's ISBN.
mpn The manufacturer's own part number for the product.
name The product's name, in the feed's language.
description The product's description, in the feed's language. Every channel field is text rather than markup, so the HTML is stripped and the whitespace collapsed on the way out.
meta_title The product's meta tag title, in the feed's language — often a shorter name than the product's own, which is what makes it worth mapping into a title a channel truncates.
meta_description The product's meta tag description, in the feed's language.
manufacturer The name of the product's manufacturer, which is what a channel calls a brand. A product with no manufacturer set resolves empty, and the field's fallback is what fills it.
category_path The full path of the deepest category the product is in — Components > Monitors — in the feed's language. A product filed in both a category and its parent is described by the child, because that is the specific answer. This is what a channel's product_type is for, and it is not the Google category: that one is set on the Categories tab.
price The catalogue price as your product form holds it, before tax. A store whose shoppers see prices including tax maps price_tax instead. It is converted into the feed's currency only when the feed's Convert prices switch is on; off, the number is sent as it is, labelled with the feed's currency code.
special The product's special price where one is running right now for your default customer group, and empty otherwise — which is what makes it the honest source for a sale_price. A percentage or amount-off special is worked out to the price it comes to, so a product 20% off does not advertise 20.00. Before tax, and converted on the same terms as price.
price_tax price with the product's tax class applied, as a guest of the feed's store is charged: your store's own tax rates, at that store's address and under its default tax address setting, for your default customer group. Worked out the way OpenCart's checkout works it out. A product with no tax class is its price. Converted, when the feed converts, after the tax is added.
special_tax special with the product's tax class applied, on the same terms as price_tax, and empty wherever special is. The pair to map into a sale_price when price is mapped from price_tax.
quantity How many of the product the store holds, as a number.
availability The channel's own word for what the store has, derived rather than copied: a product whose date available is still in the future is preorder whatever its quantity says, and everything else is in_stock above zero and out_of_stock at or below it. Each channel spells those words its own way and the feed carries its spelling.
stock_status The out-of-stock wording your store shows for the product — Pre-Order, 2-3 Days. It is free text in your own language and no channel reads it, so it is offered for the fields where you want it and never used to decide availability.
date_available The date the product goes on sale, which is what a channel's availability date is.
weight The product's weight, as the number your product form holds. The unit is not appended, so a channel expecting 2.4 kg needs it written into the field's fallback or left unmapped.
link The product's page on the feed's own store, as a full web address. A multi-store install answers on more than one address and this is the one that shop answers on.
image_link The product's main image on the feed's own store, as a full web address and at full size — channels fetch and cache the file themselves, and every one of them prefers the largest version.
additional_image_link The product's other images, as full web addresses. A channel that takes one image per element gets one element per image.
option:<option_id> A variant's value for one of your store's options — Colour, Size — listed under Variant options by the option's name. A select or radio option gives the chosen value's name in the feed's language, a checkbox gives the chosen names joined with /, and a text, date or time option gives what was typed. A master and a plain product resolve empty, so the field's fallback applies. An option deleted after it was mapped resolves empty too, and the feed still generates.

A fallback is a literal you type, never a second value: new in a condition field, your own brand in brand. A field with neither a value nor a fallback is left out of the file.