How to Create SKUs and Barcodes for Retail Products and Variants

Create one stable SKU for every sellable product or variant that needs separate price, stock, purchasing, scanning or reporting. Learn when to use manufacturer GTINs, internal barcodes and supplier codes, with practical cleanup steps for POS and ecommerce.

Retail product data workflow from product and variant to SKU, barcode, POS, stock and reporting.

A stable identifier should follow the same sellable variant through ecommerce, POS, stock, purchasing and reports.

A customer sees a product name and a price. Your team sees much more: sizes, colours, scents, pack sizes, branch stock, supplier codes, barcode labels, imports, returns and reports. If those records do not have stable identifiers, the same item can slowly become several different products inside the business.

The problem usually appears during growth. A catalogue is copied into a new POS. Staff create a second version of an existing product. A spreadsheet removes a leading zero. A barcode is attached to the parent product instead of the exact size. Sales and stock reports then split one item across several records.

Direct answer — DIRECT ANSWER Create one stable, unique SKU for every sellable product or variant that needs its own price, stock, purchasing, scanning or reporting. Keep the pattern short and documented. Use the manufacturer’s existing GTIN when one has been assigned. Use an internal barcode only for your own scanning when your POS supports it. Never use product names as match keys, reuse old codes for new items or place an internal SKU in a GTIN field.

This guide is for specialty retailers that sell through ecommerce, customer apps, POS, assisted orders or multiple branches. It explains the identifier rules in easy English and includes examples for florists, gifting brands, bakeries, perfume shops, jewellery stores and cafés.

In this guide

  • The difference between a product, variant, SKU, barcode, GTIN and supplier code

  • How to decide which options need separate sellable variants

  • A simple SKU pattern that remains readable as the catalogue grows

  • When to use a manufacturer barcode, an internal barcode or a GS1 GTIN

  • Examples for flowers, cakes, perfume, jewellery, café retail and gift sets

  • How poor identifiers damage imports, POS scanning, stock and reporting

  • A step-by-step setup method and pre-import cleanup checklist

  • An editable SKU and Barcode Setup Template

  • How Bloomlytix connects identifiers with the wider retail workflow

Start with the product structure, not the barcode

A barcode cannot fix a weak product catalogue. First decide what the business is selling. Then identify the exact sellable level that needs a price, quantity, purchase record or scan.

Five-level product identifier ladder showing product, variant, SKU, barcode and GTIN.

Figure 1. Product structure comes first. Identifiers are attached to the exact sellable level that needs control.

TERM

PLAIN-ENGLISH MEANING

WHO USUALLY CONTROLS IT

MAIN USE

Product

The main item or product family shown to customers.

The retailer or brand owner.

Content, category, images and shared product information.

Variant

A sellable version of the product, such as a size, colour, scent, flavour or pack.

The retailer or manufacturer.

Separate price, stock, barcode, availability or reporting.

SKU

An internal code used to identify a product or variant inside the business.

The retailer.

Search, stock, purchasing, imports, returns and reports.

Barcode

A machine-readable pattern that encodes an identifier for scanning.

The manufacturer, retailer or standards body, depending on the code.

Fast POS lookup, receiving, counting and fulfilment.

GTIN

A global trade-item number used to identify a product in external trade. UPC and EAN are common GTIN formats.

The brand owner through GS1, or the manufacturer for resold goods.

Marketplaces, retailers, supply chains and product matching where required.

Supplier / manufacturer code

The item number used by the supplier or manufacturer.

The supplier or manufacturer.

Purchase orders, invoices and supplier mapping.

Core principle — CORE PRINCIPLE One product can have several identifiers, but each identifier needs one clear purpose. Your SKU does not replace the manufacturer’s GTIN, and a supplier code should not silently become your permanent internal identity.

SKU, barcode and GTIN are not the same thing

Comparison of SKU, barcode and GTIN showing who controls each identifier and how it is used.

Figure 2. A SKU is an internal code, a barcode is a scannable symbol, and a GTIN is a standard trade-item number.

A SKU is normally readable by staff and meaningful only inside your business. A barcode is the visual or digital symbol a scanner reads. The value inside that barcode may be your internal code or a standard external identifier such as a GTIN.

A GTIN is the number under many retail barcodes. GS1 describes GTIN-12 as UPC, GTIN-13 as EAN or JAN, GTIN-8 for smaller items and GTIN-14 for cases or packaging. The important business rule is that the number identifies the trade item; the black-and-white bars are one way to carry that number.

Official references: GS1 GTIN guidance · Shopify SKU guidance.

Decide which choices are real variants

Not every customer choice needs its own stock record. A variant should normally be separate when the choice changes how the item is priced, stocked, purchased, scanned, fulfilled or reported.

CUSTOMER CHOICE

SEPARATE VARIANT?

REASON

Perfume size: 50 ml or 100 ml

Yes

Each size has its own pack, price, stock and usually its own manufacturer GTIN.

Ring size 6 or 7 held as separate stock

Usually yes

Each size may be counted, purchased and sold independently.

Cake message typed by the customer

No permanent variant

The message belongs to the order, not to a reusable stock item.

Bouquet ribbon colour with no separate stock or price

Maybe not

Use an order option when it does not need separate inventory or reporting.

Coffee beans: 250 g or 1 kg pack

Yes

Different net content is a different sellable pack and should have separate identifiers.

Gift note: call before delivery

No

This is an operational note, not a product identity.

Perfume product tree with 30 ml, 50 ml and 100 ml variants, each with its own SKU and manufacturer GTIN.

Figure 3. Each sellable perfume size has its own variant, SKU and manufacturer identifier.

Variant rule — VARIANT RULE Create a separate variant when the business needs to answer a different price, quantity, purchase, availability, barcode or reporting question. Do not create permanent variants for one-off notes that belong only to a customer order.

Give every sellable variant one stable SKU

There is no universal SKU format. Your business creates it. The best format is the one staff can read, software can import and the company can keep stable for years.

A practical SKU should be:

  • Unique: no two active or historical variants should use the same code.

  • Stable: do not change the SKU because the title, supplier, price or branch changed.

  • Short: long enough to be clear, but not a complete product description.

  • Consistent: the same pattern and separators are used across the catalogue.

  • Searchable: staff can type or scan it without confusing spaces or symbols.

  • Documented: the rule is written down, owned and reviewed before imports.

Readable SKU pattern with stable product-family, item-sequence and variant components.

Figure 4. A readable SKU uses stable components and avoids information that changes frequently.

SKU COMPONENT

EXAMPLE

GOOD USE

RISK TO AVOID

Family or category prefix

PF

Helps staff recognise a broad product family.

Do not use a category that changes often.

Stable item sequence

1042

Provides a unique base identity that does not depend on the name.

Do not recycle the sequence for a new item.

Variant code

050

Distinguishes the 50 ml sellable variant.

Use one documented unit and format.

Separator

-

Makes parts readable and easier to type.

Avoid spaces and unusual symbols that break imports.

Complete SKU

PF-1042-050

Short, readable and stable.

Do not hide price, stock or supplier inside the code.

Format note — Shopify recommends unique SKUs, short and consistent formats, and avoiding confusing characters such as O/0 and I/1. Treat this as practical platform guidance rather than a universal standard. See Shopify SKU guidance.

Do not put changing information inside the SKU

A SKU is a long-term identity. Information that changes should live in its own product, purchasing or stock field.

AVOID ENCODING

WHY IT BECOMES A PROBLEM

STORE IT HERE INSTEAD

Selling price

Prices change, discounts differ and markets use different currencies.

Price and offer fields.

Current supplier

A product can move to another supplier while remaining the same variant.

Supplier mapping and purchase records.

Branch name

The same variant may be sold in several branches or transferred later.

Branch inventory records.

Stock quantity

Quantity changes every day.

Inventory by location.

Temporary campaign

Black Friday, Ramadan or Valentine labels expire.

Tags, collections and campaign fields.

Employee initials

Staff change and ownership moves.

Activity history and assigned user.

Product title

Titles are written for customers and may be improved for SEO.

Product title; keep a separate stable ID/SKU.

Choose the right barcode approach

The barcode decision depends on where the product will be scanned and who else needs to recognise it.

Decision tree for choosing a manufacturer GTIN, internal barcode or custom-item reference.

Figure 5. Use an assigned manufacturer GTIN when it exists; create internal codes only for internal use and test them with the real POS.

SITUATION

RECOMMENDED STARTING POINT

IMPORTANT CONTROL

Reselling a packaged product with a manufacturer barcode

Use the manufacturer’s assigned GTIN/barcode on the correct variant.

Do not create a second GTIN or replace it with your store SKU in external fields.

Private-label or manufactured product entering external trade

Check the marketplace, retailer and supply-chain requirement; obtain GS1 identifiers when required.

The brand owner is normally responsible for correct assignment.

Only scanning inside your own stores

Create an internal barcode value supported by your POS and scanners.

Clearly label it as internal; do not present it as a GS1 GTIN.

One-off custom order line

Use an order line, reference or internal code if needed.

Do not create permanent catalogue clutter for every unique request.

Supplier code received on an invoice

Keep it as a supplier mapping.

Do not assume it is a GTIN or your internal SKU.

Product already has several external identifiers

Store each in the correct field and type.

Map them to one variant; do not merge different variants.

Official GS1 references: GTIN Management Standard · GTIN reuse guidance.

Use industry examples without copying the exact code

The examples below show the logic, not a mandatory format. Every business should check platform limits, scanner support, supplier data and staff needs before finalising its rule.

Example retail SKUs for florist, bakery, perfume, jewellery, cafe and gift products.

Figure 6. Different industries can use the same principles while choosing their own readable pattern.

INDUSTRY

PRODUCT STRUCTURE

IDENTIFIER GUIDANCE

Florist

Premium Rose Bouquet > Small / Medium / Large > colour where separately controlled

Give each separately priced or stocked variant its own SKU. A made-to-order bouquet may use an internal barcode only if scanning adds value; a GTIN is not automatic.

Bakery

Chocolate Celebration Cake > 1 kg / 2 kg > configured flavour

Use SKUs for repeatable sellable variants. Keep customer message and one-off decoration inside the order, not the permanent SKU.

Perfume

Oud Amber > 30 ml / 50 ml / 100 ml

Use the manufacturer GTIN for each size when reselling branded goods, plus your own SKU for internal operations.

Jewellery

Halo Ring > Size 6 / 7 / 8, or separately identified piece

Use a variant SKU when size is stocked separately. Serial numbers, certificates, purity and unique-piece custody are separate specialist requirements.

Café retail

House Coffee Beans > 250 g / 1 kg

Each pack size should have a separate variant, SKU and manufacturer identifier where assigned.

Gift set

Celebration Box > Lavender / Black theme

Use a separate SKU for each repeatable set. A predefined set sold as one trade item may also need its own GTIN when external trade requires it.

Protect leading zeros and long numeric codes

Spreadsheet software often treats codes as numbers. That can remove leading zeros, display long values in scientific notation or change the cell during export. Product identifiers should be stored and imported as text unless the platform documentation says otherwise.

RISK

EXAMPLE

SAFE CONTROL

Leading zero removed

001245 becomes 1245

Format the column as text before pasting or importing.

Scientific notation

A long barcode becomes 6.29123E+12

Use text format and inspect the exported CSV in a plain-text editor.

Automatic date conversion

03-11 becomes a date

Avoid ambiguous codes and keep the field as text.

Trimmed spaces or symbols

A code changes during cleanup

Use a documented, platform-safe character set.

Duplicate created

Blank or altered code causes a new import row

Test a small import and match by stable ID/SKU, not title alone.

Import warning — IMPORT WARNING Never assume the file is safe because it looks correct on screen. Export a small sample, reopen the raw CSV, and verify every SKU, barcode and GTIN before the full import.

Poor identifiers create operational problems

One product variant SKU connected to ecommerce, POS, branch stock, purchasing, imports and reports.

Figure 7. One stable variant identity supports ecommerce, POS, stock, purchasing, imports and reports.

PROBLEM

TYPICAL CAUSE

BUSINESS RESULT

Duplicate product after import

The new system matched by title or created a row for a blank SKU.

Sales and stock split across two records.

POS scans the wrong size

One barcode was attached to the parent product instead of the exact variant.

Staff sell or reduce the wrong item.

Stock differs by channel

The website and POS use different product or variant IDs.

Overselling, hidden stock or manual reconciliation.

Supplier invoice cannot be matched

Supplier code was not mapped to the internal SKU.

Receiving takes longer and purchase history is incomplete.

Return goes to the wrong item

Several variants share a code or the label is unclear.

False stock increases and inaccurate reports.

Best-seller report is split

The same variant has old and new SKUs with no mapping.

The owner cannot see the full product history.

Merchant Center rejects the identifier

An internal SKU was submitted as a GTIN or a wrong GTIN was guessed.

Listings can lose visibility or be disapproved.

Shopping-data note: Google Merchant Center guidance says to submit the correct assigned identifiers and not to guess a GTIN or place an internal SKU in the GTIN field.

A practical 10-step setup method

  1. List every sales channel and product source Include ecommerce, apps, POS, marketplaces, supplier catalogues, spreadsheets, branches and legacy systems. —

  2. Define the product and variant model Write which choices create separate price, stock, barcode or reporting records. —

  3. Choose the SKU owner Name the person or team allowed to create, approve and retire codes. —

  4. Select a simple pattern Use stable family, sequence and variant components that fit the platform and staff workflow. —

  5. Reserve old codes Keep discontinued SKUs in history and prevent reuse for a different item. —

  6. Map external identifiers Keep manufacturer GTIN, MPN and supplier code in their correct fields against the same variant. —

  7. Choose the barcode rule Use existing manufacturer barcodes where assigned; create internal barcodes only for supported internal scanning. —

  8. Clean and test a small sample Import a limited group, scan at POS, receive a purchase, transfer stock, sell, return and report. —

  9. Document exceptions Define how custom items, bundles, gift sets, one-off orders and products without GTINs are handled. —

  10. Lock the operating rule Train staff, restrict casual code changes and review duplicate or blank identifiers regularly. —

Pre-import SKU cleanup checklist

Six-step pre-import SKU cleanup workflow from export and duplicate review to testing and approval.

Figure 8. Clean, map and test product data before the complete import.

  • Every sellable product and variant is present once.

  • Parent products and variants are separated correctly.

  • Every tracked variant has one unique SKU.

  • Blank, duplicate, reused and temporary SKUs are resolved.

  • Leading zeros and long numeric identifiers are preserved as text.

  • Manufacturer GTINs remain attached to the exact correct variant.

  • Internal barcodes are labelled as internal and tested with the POS.

  • Supplier codes are mapped instead of replacing the internal SKU.

  • Discontinued items remain archived and their codes are not reassigned.

  • Old and new codes have a mapping table when a change is unavoidable.

  • Branch opening stock uses the approved variant, not a duplicate row.

  • A small import, sale, return, transfer and report have been tested before full migration.

SKU and Barcode Setup Template

Use one row for every sellable product or variant. The fields below can be copied into a spreadsheet or implementation workbook before import.

FIELD

EXAMPLE / INSTRUCTION

Product ID

Stable internal parent ID, if the platform uses one.

Product title

Customer-facing product name.

Variant title

Size, colour, scent, flavour, pack or other sellable choice.

Internal SKU

Unique, stable code for this exact sellable variant.

Barcode value

The value scanned internally or supplied by the manufacturer.

Barcode type

Internal/custom, GTIN-8, GTIN-12/UPC, GTIN-13/EAN, GTIN-14 or another supported type.

Manufacturer GTIN

Use only the correct assigned number; leave blank when none exists.

Manufacturer / MPN

Brand and manufacturer-assigned part number where applicable.

Supplier code

Supplier’s item number used on purchase orders and invoices.

Unit / pack

One piece, 50 ml, 250 g, 12-pack, gift set, etc.

Stock tracked?

Yes / no; and whether the exact variant has its own quantity.

Active branches

Locations allowed to stock or sell the variant.

Sales channels

Website, app, POS, assisted orders, marketplace, etc.

Legacy code

Old SKU or identifier needed for migration mapping.

Status

Draft, active, discontinued or archived.

Reviewer / date

Named approval before import or launch.

Template rule — TEMPLATE RULE Do not force every field to contain a value. A blank GTIN is safer than a made-up GTIN. The required fields depend on the product, sales channel, marketplace and country.

How Bloomlytix supports the identifier workflow

Bloomlytix uses a connected catalogue across ecommerce, customer apps where included, POS, staff operations, branch inventory, purchasing, fulfilment and reporting. Product and variant records can carry internal SKU and barcode-related identifiers used by supported search and scanning workflows. Exact barcode formats, labels, scanner models, imports and advanced packaging features depend on the current tenant configuration and release.

BLOOMLYTIX AREA

ROLE IN THE WORKFLOW

Connected catalogue

Keep the approved product and variant structure in the same operating platform used by ecommerce and POS.

POS product search

Find products quickly by name, SKU or supported barcode workflow where configured.

Branch stock

Attach stock movements and quantities to the correct product or variant and location.

Purchasing

Map supplier purchases and invoice evidence to the approved internal item.

Orders and fulfilment

Keep the sold variant attached to the same order used by staff and delivery.

Reports

Review sales, products, branches, stock movement and purchase history from connected records.

Implementation support

Use onboarding to confirm the catalogue pattern, import template, scanner compatibility and product-scope rules.

Product scope — Bloomlytix does not issue GS1 GTINs. Supported barcode types, scanner models, label workflows, import formats and advanced packaging options depend on the current tenant configuration and release. Confirm these requirements during discovery and onboarding rather than assuming universal hardware or format support.

Questions to ask during a product-data demonstration

  • Can one parent product hold several sellable variants with different prices, stock and identifiers?

  • Can every variant have a unique SKU and the correct manufacturer barcode or GTIN?

  • Can staff search by product title, SKU and barcode at POS?

  • What happens when a duplicate SKU or barcode is imported?

  • Can products exist in the catalogue without being active on every channel?

  • How are supplier codes mapped to internal SKUs during purchasing?

  • Can stock be viewed and moved by exact variant and branch?

  • Can a discontinued SKU remain in historical orders and reports?

  • How are bundles, gift sets, custom lines and one-off orders represented?

  • Which barcode formats and scanner models are supported?

  • Can the business export product, variant, SKU, barcode and stock data?

  • How are Product structured data and Merchant Center identifiers kept consistent with the catalogue?

Frequently asked questions

What is the difference between a SKU and a barcode?

A SKU is the internal code your business uses to identify a product or variant. A barcode is the machine-readable symbol a scanner reads. A barcode can encode your internal SKU or another identifier such as a GTIN.

Does every product variant need its own SKU?

Give a variant its own SKU when it needs separate price, stock, purchasing, scanning, fulfilment or reporting. An option that exists only as a note and does not need separate control may not need a permanent SKU.

Can I create my own barcodes?

You can create internal barcodes for your own stores when the POS and scanner support the chosen format. An internal barcode is not automatically a GS1 GTIN and may not be accepted by marketplaces or external retailers.

Should I reuse a SKU after discontinuing a product?

As a business rule, avoid reusing old SKUs. Historical orders, returns, integrations and reports can still refer to the original code. GS1 also generally prohibits reassigning a GTIN to another trade item.

How long should a SKU be?

There is no universal length. Keep it as short as practical while remaining unique and readable. Shopify currently suggests short, consistent formats and notes that many businesses use roughly 4-16 characters.

Is UPC the same as a GTIN?

UPC is the common name for GTIN-12 and its retail barcode format. EAN normally refers to GTIN-13. They belong to the wider GTIN system.

Can I use my SKU as the GTIN in Google Merchant Center?

No. If the product has an assigned GTIN, submit that correct GTIN. Do not place an internal store SKU in the GTIN field. If no GTIN exists, follow the channel’s rules for products without standard identifiers.

Does every custom product need a GTIN?

No. Some custom, handmade or one-off items do not have assigned GTINs. The correct approach depends on the product, brand ownership, marketplace and supply-chain requirement.

Final SKU and barcode checklist

  • The product and variant structure is agreed before codes are created.

  • Every separately priced, stocked or reported variant has one unique SKU.

  • The SKU pattern is short, stable, readable and documented.

  • Price, supplier, branch, stock quantity and temporary campaigns are not encoded in the SKU.

  • Old SKUs remain reserved and are not reused for new products.

  • Manufacturer GTINs stay attached to the exact correct variant.

  • Internal barcodes are clearly separated from GS1 identifiers.

  • Supplier codes and MPNs are stored in their own fields or mapping table.

  • Leading zeros and long numeric codes are protected during CSV work.

  • The POS, scanner, ecommerce import and branch stock workflow have been tested.

  • Duplicate, blank and mismatched identifiers are reviewed regularly.

  • The product page, structured data and external feed use the same verified product facts.

Next action — Use the SKU and Barcode Setup Template in this guide for one real product and all its variants. Then test that product through ecommerce, POS, branch stock, purchasing and reporting before converting the full catalogue.

Book a product-data workflow demo

Related Bloomlytix guides: Connect ecommerce and POS · Multi-location inventory · Perfume inventory · Jewellery inventory · Cafe ordering and POS · Retail software migration.

Portrait of Asad Ali Choudhry
About the author

Bloomlytix Technology Lead

Asad Ali Choudhry leads Bloomlytix’s technical direction, bringing more than 10 years of experience in SaaS product development, ecommerce platforms, mobile apps, system architecture, and retail operations automation.

Book a product-data workflow demo

Bring one real product with its variants, SKUs and manufacturer identifiers. We’ll map it across ecommerce, POS, branch stock, purchasing and reporting.

Chat with us WhatsApp