In this article · 9 sections
- What is a barcode, and what is an EAN code?
- How is an EAN-13 code built?
- Does a barcode show the country where the product was made?
- When is a barcode required?
- How do you get a barcode from GS1 Bulgaria?
- SKU vs EAN: what is the difference?
- How do you enter the EAN in CloudCart?
- Which barcode mistakes get products rejected?
- Frequently asked questions
In short: an EAN barcode is a 13-digit GTIN that eMAG, Google Shopping, price comparison sites and retail chains use to recognise a product. In Bulgaria the numbers are issued by GS1 Bulgaria. Under the tariff in force from 1 January 2026, a block of 100 numbers costs a €210 joining fee for a turnover up to €10,000, plus €80 a year, excluding VAT.
This guide is for founders, expats and companies that sell in or from Bulgaria and need barcodes for their own brand or for a reseller catalog. The fees and steps come from GS1 Bulgaria's registration page (in Bulgarian) and the channel rules from Google Merchant Center Help. The last part shows how the barcode goes into CloudCart, the Bulgarian ecommerce platform, so it reaches every sales channel.
What is a barcode, and what is an EAN code?
A barcode is a product number printed as bars that a scanner can read. The number itself is the GTIN (Global Trade Item Number), and the bars are the symbol that carries it. In everyday use, "EAN code" means a 13-digit GTIN printed with the EAN-13 symbol. According to GS1 Bulgaria's identification standards (in Bulgarian), there are four GTIN structures: GTIN-8, GTIN-12, GTIN-13 and GTIN-14.
One EAN identifies one product in one variant, worldwide. That is why Google and marketplaces use it to place your offer next to other sellers' offers for the same model.
| Symbol | Number it carries | Where it is used |
|---|---|---|
| EAN-13 | GTIN-13, 13 digits | The standard in Europe: almost every product scanned at a till |
| EAN-8 | GTIN-8, 8 digits | Small packs where an EAN-13 does not fit |
| UPC-A | GTIN-12, 12 digits | Products from North America |
| ITF-14 | GTIN-14, 14 digits | Cartons and multipacks that do not pass through a till |
| GS1 DataMatrix and QR code | GTIN plus more data (batch, expiry date, web address) | Two-dimensional codes; in Bulgaria DataMatrix is used for medicines in pharmacies |
A linear (one-dimensional) barcode is the one with vertical bars: EAN-13, EAN-8, UPC and ITF-14. Two-dimensional codes such as DataMatrix and QR hold more data in less space and are read with a camera or a 2D scanner. The symbols are described on GS1 Bulgaria's page on barcode symbols (in Bulgarian).
How is an EAN-13 code built?
An EAN-13 code has three parts: a company prefix, a product number and a check digit. The company prefix starts with the prefix of the GS1 organisation that issued it, which for Bulgaria is 380, and continues with the company's own number. Next comes the number the company gives each of its products. The 13th digit is calculated from the first 12.
The larger the block of numbers, the shorter the company number and the more digits are left for products. With a block of 100 numbers, a company numbers its products with 2 digits (00 to 99); with 1,000 numbers it uses 3 digits.
How do you check the check digit?
The check digit catches typing mistakes. If one digit is wrong, the sum does not add up and a scanner or Google rejects the code. You can do the calculation in Excel. Example with the number 3234567890126:
- Take the first 12 digits. 3 2 3 4 5 6 7 8 9 0 1 2.
- Multiply them by 1 and 3 in turn. The first by 1, the second by 3, the third by 1 and so on up to the 12th: 3, 6, 3, 12, 5, 18, 7, 24, 9, 0, 1, 6.
- Add up the results. The sum is 94.
- Round up to the next multiple of 10. 6 is missing to reach 100. That is the check digit, so the full code is 3234567890126. If the sum is already a multiple of 10, the check digit is 0.
GS1 Bulgaria also has a page for calculating the check digit under "Get a barcode".
Does a barcode show the country where the product was made?
No. The first digits show which GS1 organisation issued the number, and they say nothing about where the product was made. GS1 Bulgaria states that the company prefix gives a number its global uniqueness and does not indicate the origin of the goods. A barcode starting with 380 means the manufacturer or brand owner is a member of GS1 Bulgaria. A product made in China can carry 380, and a product made in Bulgaria can carry another prefix.
So the "barcode country code" only tells you who registered the brand. Country of origin is on the label, and for imports from outside the EU it is in the customs documents. What to check when you import goods is covered in importing from China: customs and VAT.
Important: numbers starting with 2, 02 or 04 are for internal use in a company or a region, and numbers starting with 05, 98 or 99 are for coupons. Google Merchant Center does not accept either group as a GTIN.
When is a barcode required?
A barcode becomes required when the channel you sell through asks for it. Your own online store works without one: orders go through either way. Once you want your products on Google Shopping, on eMAG (the marketplace operating in Bulgaria and Romania), on a price comparison site or on a retail chain's shelf, the EAN is the first field they check.
| Channel | Does it need an EAN? | What happens without one |
|---|---|---|
| Google Shopping (Merchant Center) | Yes, for every product that has a GTIN from the manufacturer | Limited visibility or disapproval; matching to the right model is not assured |
| eMAG Marketplace | Yes, EAN is a required field | The product is rejected at upload |
| Pazaruvaj and other price comparison sites | The barcode field is part of the feed | The CloudCart feed adds a fallback barcode if you have set one |
| Retail chains | Yes, a number registered with GS1 | Chains check the number in the GS1 registry |
| Your own online store | No | Nothing, but you will need it later for channels and the warehouse |
Google's rule is clear and a good guide for every channel. In its help page on the GTIN attribute, Google recommends a GTIN for all products with a GTIN assigned by the manufacturer, and says products with a missing or incorrect GTIN may have limited visibility. If a product has a GTIN and you leave it out, the product could be disapproved.
The reverse is also a rule. If you are the only seller of a product, or it is your own brand without a number, Google says not to submit a GTIN and to submit the brand and the MPN (manufacturer part number) instead. An invented number is worse than a missing one: Google checks the check digit and the restricted ranges.
Do you resell or manufacture?
- You resell other brands. The number already exists. Take the EAN from the packaging or the supplier's price list and enter it in the product. You buy nothing from GS1.
- You manufacture or sell your own brand. If you plan to sell on Google Shopping, eMAG or through retail chains, apply for numbers from GS1 in the name of the company that owns the brand.
- Handmade and one-off items. You do not need a number until you enter a channel that asks for one. For Google, submit the brand and the MPN.
How do you get a barcode from GS1 Bulgaria?
Companies registered in Bulgaria get their product barcodes from GS1 Bulgaria. GS1 Bulgaria issues the numbers, and you activate them by describing each product in its "BG Barcode" product catalog. Registration is online, with signed documents at the end. The registration page is in Bulgarian, so a foreign founder may want the company's accountant to help with the documents in step 5. The steps, following the registration page:
- Count the numbers you need. Every product and every variant of it (colour, size, scent, flavour) needs its own number. A pack or carton you sell as a separate unit needs another one. GS1 Bulgaria advises requesting the next block size up if you are close to the limit.
- Create a profile. Enter your contact details and confirm the registration from the email.
- Register the company. In the profile choose "Register a company" and fill in the company, the manager, invoicing details, address and contacts.
- Choose the capacity. A block of 100, 1,000, 10,000 or 100,000 numbers, or a single GTIN-13 or GTIN-8. The joining fee for a block depends on the company's turnover for the previous calendar year.
- Send the documents. The system creates a registration card, a membership application and a letter for the authorised person. For a block of numbers you also attach the income statement for the previous year. You send the signed documents by post, scanned by email, or upload them to the profile.
- Pay the proforma invoice. The joining fee is paid against a proforma invoice sent to your email; quote the proforma number with the payment.
- Activate the numbers. Once the company status is "Active", you describe each product in the BG Barcode catalog: GTIN, brand, name, image link, classification, net content and unit of measure. GS1 Bulgaria shares these attributes with the GS1 global registry, where retail chains and online stores check that products are genuine.
How much does a GS1 Bulgaria barcode cost?
The tariff was adopted by GS1 Bulgaria's board on 25 September 2025 and has applied since 1 January 2026. The site's calculator shows the annual membership fee as due from the following year. Fees for the most common cases for a small or medium online store, excluding VAT:
| What you apply for | Joining fee, turnover up to €10,000 | Joining fee, turnover €10,000 to 50,000 | Joining fee, turnover €50,000 to 300,000 | Annual fee |
|---|---|---|---|---|
| 1 GTIN-13 or GTIN-8 number | €100 | €100 | €100 | €25 |
| Block of 100 numbers | €210 | €310 | €520 | €80 |
| Block of 1,000 numbers | €310 | €410 | €610 | €100 |
| Block of 10,000 numbers | €400 | €510 | €720 | €150 |
Single numbers have a fixed joining fee that does not depend on turnover. From 3 products upwards, a block of 100 is cheaper on the joining fee: €210 against €300 for three single numbers at a turnover up to €10,000. Example: a natural cosmetics brand with 12 products in 3 sizes each needs 36 numbers, so a block of 100 leaves 64 numbers for new products.
Membership also includes services. Generating barcode symbols costs members €2 each, with the first 5 included; verifying the quality of a printed barcode costs €25 each, also with 5 included. Once a product is described in BG Barcode, you can download the finished symbol as a PNG from there.
Important: buy numbers only from GS1. Cheap "barcodes" from resellers are often numbers belonging to other companies. They are not registered to your brand in the global registry, and that is exactly what chains and marketplaces check.
SKU vs EAN: what is the difference?
An SKU (stock keeping unit) is your internal item code, and an EAN is the product's global number. You make up the SKU yourself, by any rule that suits your warehouse, for example TSH01-BLK-M for a black T-shirt in size M. The EAN comes from the manufacturer or from GS1 and is the same in every store that sells the product.
| SKU | EAN (GTIN-13) | |
|---|---|---|
| Who assigns it | You | The manufacturer or brand owner, with a number from GS1 |
| Format | Letters, digits and hyphens by your own rule | Exactly 13 digits with a check digit |
| Valid for | Your store and warehouse | The whole world, every store |
| Same in two stores? | Usually not | Yes |
| Used for | Stock, orders, supplier price updates | Google Shopping, marketplaces, price comparison, retail chains |
| Does it cost money? | No | Yes, for your own products |
Good practice is to keep both codes on every variant. You need the SKU for the warehouse and the supplier, and the EAN for the channels. Warehouse software uses both as well: with the ERP and warehouse connection, for example to Microinvest (Bulgarian warehouse and accounting software), products are matched by barcode or SKU, so one item is one record in both systems.
How do you enter the EAN in CloudCart?
In CloudCart the barcode is a field on the product or on each variant, next to the SKU. The Google Shopping, eMAG and Pazaruvaj apps take it from there. The fields accept up to 191 characters, and an EAN is 13 digits with no spaces. There are four ways to fill in barcodes, depending on how many products you have and where the data comes from.
- A product without variants. Open the product and, in the Inventory card, turn on Product has SKU/Barcode. The SKU and Barcode fields appear; enter the EAN in Barcode and save.
- A product with variants. In the product, open Manage variants. In the Edit Variant options window every size and colour has its own SKU and Barcode fields. Tools → Modify barcode changes the barcode on several selected rows at once.
- A new catalog from a file. In Apps → CSV Import, map the barcode column to the product barcode field or to
variant.barcode. CSV Import always creates new products, so importing products you already have again creates duplicates. The columns are explained in the guide to importing products from CSV and XML. - A supplier feed. In Apps → XML Sync, choose Compare by in the first step: SKU, Barcode or Official ID. The sync uses that column to find the product in your store. A variant with no value in the chosen field is skipped, even if its code is in the feed.
To check the result, open Products → Inventory. The table shows the SKU and barcode of every product and variant with tracked stock and has a barcode filter. How variants are built and why each one has its own barcode is explained in the guide to products and variants in the catalog.
How does the barcode reach each channel?
- Google Shopping. The Apps → Google Shopping app sends the variant's barcode as
gtin. A variant without a barcode goes out without a GTIN. The GTIN is sent on the first upload and does not update by itself: if you add a barcode later, delete the product from Google in the app and upload it again. - XML feed for Google. In Apps → XML Feed → Google, the Identifier field sets what becomes the product identifier: Product ID, SKU or barcode. The barcode and the SKU are in the feed either way.
- eMAG. Every variant is a separate row with its own SKU and barcode. eMAG rejects products without an EAN, so send the ones with a barcode first.
- Pazaruvaj (a Bulgarian price comparison site). The feed takes the variant's barcode or, if there is none, the default barcode of 8 to 13 digits set in the app settings. The fallback only fills an empty field, so enter the real EAN on every variant.
The marketplace and Google connections are apps in the admin, listed on the sales channels page. Sales in your own store carry 0% commission on sales, and the product data lives in one place.
Which barcode mistakes get products rejected?
Most products rejected by Google and eMAG have one of these six mistakes.
- One barcode for every size. Each variant has its own GTIN. Google says each colour and size has its own GTIN, and two products with the same GTIN and the same variant attributes are not accepted.
- An invented or "corrected" number. Google says not to guess or make up a value. If you are not sure of the number, leave the field empty.
- An SKU in the barcode field. TSH01-BLK-M is not a GTIN. Keep the SKU and the barcode in their own fields.
- A lost zero or a space. Excel drops leading zeros and turns long numbers into 3.80123E+12. Format the column as text before you enter the codes.
- An internal-use number. Codes starting with 2, 02 or 04 are for the warehouse and the till. Google Shopping does not accept them.
- Numbers bought from a reseller. The number is registered to another company, and your brand is missing from the GS1 global registry. Chains and marketplaces find this when they check.
Frequently asked questions
Register your company with GS1 Bulgaria, apply for a block of numbers or a single number and pay the joining fee. Then describe the product in the BG Barcode catalog, where the number is activated, and download the symbol as a PNG. If you resell other brands, the number is already on the packaging.
Under the tariff in force from 1 January 2026, a single GTIN-13 has a €100 joining fee and €25 a year. A block of 100 numbers ranges from €210 at a turnover up to €10,000 to €520 at €50,000 to 300,000, plus €80 a year. The fees exclude VAT.
Your own online store works without one. A barcode becomes required when the channel asks for it: Google Shopping for products with a manufacturer GTIN, eMAG Marketplace and retail chains. For your own products without a number, Google asks for the brand and the MPN.
380 is the prefix of GS1 Bulgaria. It shows that the company that registered the number is a member of GS1 Bulgaria. The barcode does not show where the product was made; that is on the label.
An SKU is your internal item code, with letters and digits by your own rule. An EAN is the 13-digit global product number from GS1, the same in every store. You use the SKU for stock and suppliers, and the EAN for Google Shopping, marketplaces and price comparison sites.
A generator only draws the bars for a number you already have. The number itself must be issued by GS1 and registered to your company, or Google, marketplaces and chains will not accept it. GS1 Bulgaria members download the symbol as a PNG from BG Barcode.
Yes. GS1 and Google require a unique GTIN for each variant: size, colour, scent, pack size. In CloudCart you enter the barcode for each variant in the Edit Variant options window, next to its SKU.
Look the number up with Verified by GS1 or the barcode check on GS1 Bulgaria's site. It shows the brand owner and the basic product data they entered. If the number is missing from the registry or belongs to another company, Google and marketplaces may reject it.
Questions about barcodes in your catalog or about connecting a channel? Write to us at support@cloudcart.com.
Sources
- GS1 Bulgaria's registration pagewww.gs1bg.org
- GS1 Bulgaria's identification standardswww.gs1bg.org
- GS1 Bulgaria's page on barcode symbolswww.gs1bg.org
- calculating the check digitwww.gs1bg.org
- Google Merchant Centersupport.google.com
- GS1 Bulgariawww.gs1bg.org
