Guides

Bulgaria and the euro: prices, rounding and invoices for online stores

Bulgaria adopted the euro on Jan 1, 2026 and dual pricing ended on Aug 8, 2026. How online stores convert at 1.95583, round, invoice and show prices.

The CloudCart team15 min read
A euro price label tied to a cardboard shipping box next to a laptop with a product page and a calculator on a bright desk
In this article · 11 sections
  1. Bulgaria and the euro: the key dates for sellers
  2. Can an online store still show prices in leva after August 8, 2026?
  3. How to convert and round prices from leva to euro
  4. Can you round a price to €9.99 after the conversion?
  5. How CloudCart moves prices to euro: the BGN to EUR app
  6. Invoices and old orders in leva: what changes after the euro
  7. What happens to cash register receipts after the euro?
  8. Google Shopping, Pazaruvaj and product feeds: which currency?
  9. Checklist: your store in euro before Black Friday
  10. Mistakes to avoid
  11. Frequently asked questions

In short: Bulgaria joined the euro area on January 1, 2026. The lev stopped being legal tender after January 31, 2026, and the mandatory dual display of prices in euro and leva ended on August 8, 2026. An online store selling in Bulgaria now shows its prices in euro, converted at the fixed rate of 1.95583 leva per euro and rounded to the cent. Leva can stay on the page for information only.

This guide is for stores selling to Bulgaria: foreign founders, expats and EU cross-border sellers. The rules come from the Euro Adoption Act (Act on the Introduction of the Euro in the Republic of Bulgaria on lex.bg, in Bulgarian, as amended up to State Gazette No. 92 of October 6, 2026) and the Bulgarian VAT Act. The guide also shows how each step works in CloudCart, the Bulgarian ecommerce platform. It is not legal or accounting advice; check your case with your accountant.

Bulgaria and the euro: the key dates for sellers

The euro became Bulgaria's currency under Council Decision (EU) 2025/1407, which fixed the conversion rate at 1 EUR = 1.95583 BGN. The lev had been pegged at that rate for years, so only the currency on price tags, invoices and labels changed.

Dual price display lasted exactly one year, from August 8, 2025 to August 8, 2026, under Article 15(2) of the Euro Adoption Act. The 2026 amendments (State Gazette No. 55, 82 and 92) touch other provisions, so the end date was never extended. Cash in leva and euro circulated side by side for one month only (Article 24).

DateWhat happenedLegal basis
Aug 8, 2025Mandatory dual display of prices in euro and leva beginsArt. 15(2), Euro Adoption Act
Jan 1, 2026The euro is Bulgaria's official currency. Invoices show the tax base and VAT in euroCouncil Decision (EU) 2025/1407; Art. 114(5), VAT Act
Jan 31, 2026Last day the lev is legal tender alongside the euroArt. 24, Euro Adoption Act
Jun 30, 2026Commercial banks stop exchanging leva at no charge; the BNB keeps doing so with no deadlineBNB press release, Jul 1, 2026
Aug 8, 2026Mandatory dual price display endsArt. 15(2), Euro Adoption Act
From Aug 9, 2026Prices in euro only; a leva equivalent is optional and for informationevroto.bg, in Bulgarian

The BNB is the Bulgarian National Bank; evroto.bg is the official euro website. Lev cash is no longer accepted as payment; customers exchange it at a BNB counter.

Can an online store still show prices in leva after August 8, 2026?

Yes, for information only. According to evroto.bg, from August 9, 2026 traders announce selling and payable prices in euro and may add the leva equivalent at their own discretion. The customer must clearly see that the euro price is the one they pay.

For an online store, that means:

  • The euro price leads. It appears on the product page, in the cart, at checkout and in the order confirmation email.
  • Leva are a courtesy. If you keep them, make them smaller or add a note such as "for information, at 1.95583", so they do not read as a second price.
  • The dual display rules are gone. The special requirements of the dual period, such as the same font, size and colour for both prices (Article 16), no longer apply. The general rule from evroto.bg remains: both amounts must be clear and must not mislead.

Two numbers per price crowd a phone screen. If your customers still think in leva, keep the leva line a few months more; the choice is yours.

How to convert and round prices from leva to euro

Divide the leva price by 1.95583 and round the result to two decimal places. The rate is used with all five decimals and is never rounded itself (Article 12). Rounding looks at the third decimal (Article 13): from 0 to 4, the second decimal stays; from 5 to 9, it goes up by one.

Price in levaDivided by 1.95583Price in euro
BGN 2.501.2782…€1.28
BGN 4.992.5513…€2.55
BGN 9.995.1078…€5.11
BGN 19.9910.2207…€10.22
BGN 29.9015.2876…€15.29
BGN 49.9025.5135…€25.51
BGN 100.0051.1292…€51.13

The conversion must not leave the customer worse off (Article 7(1)). Each price is converted on its own, and the cart total is the sum of the already converted prices, the same ones the customer saw on the product pages.

Important: percentages are not converted. 20% VAT and a 15% discount stay the same. Only amounts are converted: prices, delivery prices, thresholds, fixed discounts and fees.

Can you round a price to €9.99 after the conversion?

Yes, if you round down. The exact conversion of BGN 19.99 gives €10.22, and €9.99 is lower, so it favours the customer. Rounding up, for example to €10.49, is a price increase. The law allows increases only when objective economic factors justify them (Article 7(2)), and during the dual period the trader had to be able to prove that to the inspectors (Article 15(4)). If you raise prices, keep the reason on file, such as a new supplier price.

Prices like €10.22 are exact but awkward for promotions, so smooth them downwards after the conversion:

  1. Convert exactly first. Every price goes through 1.95583 with no manual changes. That gives you a lawful starting point.
  2. Choose your price endings. For example: under €10, prices end in .99; from €10 to €50, in .90; above €50, in whole euros.
  3. Reset the thresholds. A BGN 100 free shipping threshold becomes €51.13 after conversion. A round €50 is clearer and lower, so it favours the customer.
  4. Review promotions. A fixed BGN 10 discount becomes €5.11. Cutting it to €5 gives the customer less, so make it a percentage or keep the exact amount.
  5. Change all prices at once. Use a file or an AI assistant.

How CloudCart moves prices to euro: the BGN to EUR app

The BGN to EUR app in CloudCart does two things: it shows prices in both leva and euro at the fixed rate of 1.95583, and it converts every price in the store from leva to euro in one go. The rate is built into the app and cannot be edited.

Showing both currencies

In the app settings you choose where both prices appear: Storefront (the site your customers see), Admin Panel (the admin only) or Both (everywhere, the default). There is also a text message, "1 EUR = 1.95583 BGN" by default. You can rewrite it, up to 1,000 characters, and choose whether it shows in the cart, at checkout and in the footer. The store currency leads: in a euro store, the euro price comes first and leva second.

After August 8, 2026 you have two options. For euro only on the site, switch the display to Admin Panel or turn the app off with its Enable / Disable button (the settings are kept). Leva that linger after that come from a cached script and disappear once it refreshes. If you keep leva for information, change the message, for example to "Prices are in euro. Leva are for information, at 1.95583."

Converting the store's prices to euro

The Convert store prices to Euro button converts every amount in the store at once and switches the store currency from BGN to EUR.

  1. Install the app. In the admin, open Apps and install BGN to EUR. The store currency must be BGN.
  2. Open the settings. On the app's Settings page, the second box is "Convert store prices to Euro".
  3. Pick a quiet hour. During the conversion the store is in maintenance mode and does not accept orders. Choose a night with no campaign.
  4. Confirm. The confirmation window warns that the action cannot be undone. After you confirm, the status turns yellow ("started").
  5. Wait for the notification. When the conversion is done, the status turns green and you get a notification. The store reopens by itself, with cache and search refreshed.

The conversion covers variant prices, discounts and discount codes, quantity discounts, cart rules (amounts and thresholds), smart collections, bundles, cross-sell offers, form fields, shipping rates, flat taxes and payment method fees. Percentage taxes such as 20% VAT are left as they are. Old orders and customer wallet balances keep their original currency.

Language stores (Multilang) are not included in the conversion: run it separately in each one. Their currencies are explained in the guide to multilingual stores and stores for other countries.

Invoices and old orders in leva: what changes after the euro

From January 1, 2026, the tax base and the VAT amount on every invoice are stated in euro (Art. 114(5) of the VAT Act on lex.bg, in Bulgarian). Other amounts on the invoice can be in another currency. Invoices never needed dual display, even during the dual period: Article 15(3)(5) of the Euro Adoption Act excludes the documents under Article 112(1) of the VAT Act.

In CloudCart every order keeps the currency it was placed in. Converting the store does not touch old orders: an order from December 2025 stays in leva in the order history, and so does its invoice. New orders after the conversion are in euro.

The tricky case is an order in leva that is not yet invoiced or shipped. On the order page, in the right-hand column, there is a Convert prices to EUR button. It converts every amount, logs the old values in the order history and cannot be undone. Two rules apply:

  • Convert before the invoice. An order that already has an invoice number cannot be converted. An invoiced order in leva stays in leva.
  • Convert before the shipping label. Since January 1, 2026, CloudCart does not create a shipping label through a courier integration (Econt, Speedy and others, Bulgaria's main courier networks) for an order in leva: the admin shows an error asking you to convert the order to EUR first. That keeps the cash on delivery amount on the label in euro. Fulfilling an order manually, without a courier integration, is not blocked.

A refund is made in the currency of the order. How to issue a credit note against a 2025 invoice in leva is a question for your accountant. Numbering, credit notes and automatic invoicing are covered in invoices and credit notes in an online store.

What happens to cash register receipts after the euro?

From January 1, 2026, every payment for which a fiscal or system receipt is issued is registered and reported in euro and cents (Article 20(2) of the Euro Adoption Act). The extra leva total with the rate (Article 20(1)) was required only until August 8, 2026.

Ordinance N-18 is Bulgaria's regulation on registering and reporting sales, and the NRA is the National Revenue Agency, the tax authority. For an online store taking cards under the alternative regime of Ordinance N-18, the sales document and the monthly XML file are in euro. With cash on delivery sent as a postal money transfer, the receipt follows your courier contract, and the amount the courier collects is in euro. Which document goes with each payment method is set out in cash on delivery vs card payments. NRA registration and the XML file are covered in Ordinance N-18 for online stores.

Google Shopping, Pazaruvaj and product feeds: which currency?

Feeds in CloudCart take prices in the store currency. The Google Shopping app sends each variant's price to Merchant Center, with the sale price and dates from the discount. The XML feeds (Pazaruvaj, eMAG, Facebook and the others) also use the store's main currency and language; there is no separate currency setting per feed. Pazaruvaj is a Bulgarian price comparison site and eMAG a marketplace. Once the store is in euro, the feeds are in euro with no extra work.

Google requires the feed price to carry an ISO 4217 currency code (EUR) and to match the price on the product page and at checkout (Google Merchant Center, price attribute). A mismatch gets products disapproved. A typical cause is an old feed uploaded by hand.

  1. Check the store currency. In the admin: Settings, Store settings, the "Currency and units" box. It should say EUR.
  2. Open the feed. Copy the feed URL from the app and look at a few products: the price should be in euro and match the site.
  3. Check Merchant Center. In product diagnostics, look for price or currency mismatch errors after the next feed refresh.
  4. Rewrite manual texts. Ad copy, banners and email templates with prices in leva, such as "free shipping over BGN 100", are changed by hand. The conversion changes prices in the database, not text.

Checklist: your store in euro before Black Friday

Black Friday is Bulgaria's first big season with euro-only prices. Check these points first:

What to checkWhere in CloudCartGood when
Store currencyGeneral store settingsEUR
Catalog pricesProducts; BGN to EUR, SettingsThe conversion is complete (green status)
Leva on the siteBGN to EUR, SettingsOff, or clearly marked "for information"
Free shipping thresholdShipping and cart rulesA round euro amount, such as €50
Fixed discounts and codesDiscountsIn euro, with no amounts like €5.11 that nobody remembers
Unshipped orders in levaOrders, the order, Convert prices to EURNo BGN orders without an invoice and a shipping label
FeedsGoogle Shopping, XML FeedPrices in EUR, equal to the site
Texts with pricesBanners, pages, email templatesNo amounts in leva

Mistakes to avoid

  • Changing the currency without converting. If you only change the currency in the general settings, the numbers stay the same: BGN 19.99 becomes €19.99, almost twice the price. Old orders also get a euro sign on the same numbers, with no warning. Conversion happens with the Convert store prices to Euro button, not with the currency field.
  • Comparing sales without converting. Revenue from 2025 is in leva and from 2026 in euro, and the admin reports show them as two separate streams. For a year-on-year comparison, export the orders and divide the 2025 amounts by 1.95583.

If you are switching platforms, for example from WooCommerce or OpenCart, migration to CloudCart brings your old orders across and keeps them separately with us. Plans and order limits are on the CloudCart pricing page (from €14/month billed annually, excluding VAT). CloudCart takes no cut of your sales: 0% commission, whether the order is in leva or euro. Card payments through CloudCart Pay have a 0% transaction fee through Dec 31, 2026. Questions about the conversion: support@cloudcart.com.

Frequently asked questions

On January 1, 2026, under Council Decision (EU) 2025/1407. The lev and the euro circulated together until January 31, 2026; since then only the euro is legal tender. The conversion rate is fixed at 1 EUR = 1.95583 BGN.

It ended on August 8, 2026, inclusive. The period began on August 8, 2025 and is set in Article 15(2) of the Euro Adoption Act. From August 9, 2026, prices are announced in euro, and a leva equivalent may stay for information only.

Divide each price by 1.95583 and round to the cent using the third decimal. In CloudCart the Convert store prices to Euro button in the BGN to EUR app does this: it converts prices, delivery, discounts and thresholds at once and switches the store currency. The action cannot be undone.

To two decimals, using the third decimal: 0 to 4 keeps the second decimal, 5 to 9 raises it by one (Article 13). For example, BGN 19.99 divided by 1.95583 is 10.2207, so €10.22. The rate is always used with all five decimals.

No, and they never did: Article 15(3)(5) of the Euro Adoption Act excludes invoices and their notes from dual display. Since January 1, 2026, the tax base and VAT on the invoice are in euro (Article 114(5) of the VAT Act); other amounts may also be in another currency.

They stay in leva, as they were placed, together with their invoices. An order in leva without an invoice can be converted with the Convert prices to EUR button on the order page. You need that for a shipping label too, because since January 1, 2026 CloudCart does not create courier labels for orders in leva.

Sources

  1. Act on the Introduction of the Euro in the Republic of Bulgaria on lex.bg, in Bulgarianlex.bg
  2. Council Decision (EU) 2025/1407op.europa.eu
  3. BNB press release, Jul 1, 2026www.bnb.bg
  4. evroto.bg, in Bulgarianevroto.bg
  5. Art. 114(5) of the VAT Act on lex.bg, in Bulgarianlex.bg
  6. Google Merchant Center, price attributesupport.google.com
The CloudCart teamChecked against the platform documentation. Questions: support@cloudcart.com

Build your online store

The first 3 months on every plan are €1/month. Questions: support@cloudcart.com

Create a store for €1