# 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.

Source: https://cloudcart.com/en/blog/euro-prices-online-store · CloudCart · 2026-11-06

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](https://lex.bg/bg/laws/ldoc/2137244903), 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](https://op.europa.eu/en/publication-detail/-/publication/2e154a11-6051-11f0-a9d0-01aa75ed71a1/language-en), 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).

| Date | What happened | Legal basis |

| Aug 8, 2025 | Mandatory dual display of prices in euro and leva begins | Art. 15(2), Euro Adoption Act |

| Jan 1, 2026 | The euro is Bulgaria's official currency. Invoices show the tax base and VAT in euro | Council Decision (EU) 2025/1407; Art. 114(5), VAT Act |

| Jan 31, 2026 | Last day the lev is legal tender alongside the euro | Art. 24, Euro Adoption Act |

| Jun 30, 2026 | Commercial banks stop exchanging leva at no charge; the BNB keeps doing so with no deadline | BNB press release, Jul 1, 2026 |

| Aug 8, 2026 | Mandatory dual price display ends | Art. 15(2), Euro Adoption Act |

| From Aug 9, 2026 | Prices in euro only; a leva equivalent is optional and for information | evroto.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 leva | Divided by 1.95583 | Price in euro |

| BGN 2.50 | 1.2782… | €1.28 |

| BGN 4.99 | 2.5513… | €2.55 |

| BGN 9.99 | 5.1078… | €5.11 |

| BGN 19.99 | 10.2207… | €10.22 |

| BGN 29.90 | 15.2876… | €15.29 |

| BGN 49.90 | 25.5135… | €25.51 |

| BGN 100.00 | 51.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:

- Convert exactly first. Every price goes through 1.95583 with no manual changes. That gives you a lawful starting point.

- Choose your price endings. For example: under €10, prices end in .99; from €10 to €50, in .90; above €50, in whole euros.

- 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.

- 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.

- Change all prices at once. Use a file or an AI assistant.

> A store run with an AI assistant New euro prices for the whole catalog in one sentence Connect Claude Code, ChatGPT Codex or another AI assistant with a PAT token from the admin and give it the rule: "round down to .99 under €10 and to .90 up to €50". Ask for a before and after table first. How the AI assistant runs your store →

## 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.

- Install the app. In the admin, open Apps and install BGN to EUR. The store currency must be BGN.

- Open the settings. On the app's Settings page, the second box is "Convert store prices to Euro".

- Pick a quiet hour. During the conversion the store is in maintenance mode and does not accept orders. Choose a night with no campaign.

- Confirm. The confirmation window warns that the action cannot be undone. After you confirm, the status turns yellow ("started").

- 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](https://cloudcart.com/en/blog/multilanguage-multicurrency-multistore).

## 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](https://lex.bg/laws/ldoc/2135533201)). 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](https://cloudcart.com/en/blog/invoices-n18).

> Invoices and Ordinance N-18 The NRA XML file is in euro from January 2026 The N-18 app in CloudCart reports amounts in leva for orders up to December 2025 and in euro from January 2026. An order in the other currency is converted at 1.95583, so each monthly file is in a single currency. How invoices and N-18 work →

## 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](https://cloudcart.com/en/blog/cash-on-delivery-vs-card-payments). NRA registration and the XML file are covered in [Ordinance N-18 for online stores](https://cloudcart.com/en/blog/n18-online-store-nap).

## 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](https://support.google.com/merchants/answer/6324371?hl=en)). A mismatch gets products disapproved. A typical cause is an old feed uploaded by hand.

- Check the store currency. In the admin: Settings, Store settings, the "Currency and units" box. It should say EUR.

- 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.

- Check Merchant Center. In product diagnostics, look for price or currency mismatch errors after the next feed refresh.

- 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.

> Sales channels One euro catalog for Google, Pazaruvaj and eMAG You change a price once in the store and it flows into every feed in the store currency. Sales channels in CloudCart →

## 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 check | Where in CloudCart | Good when |

| Store currency | General store settings | EUR |

| Catalog prices | Products; BGN to EUR, Settings | The conversion is complete (green status) |

| Leva on the site | BGN to EUR, Settings | Off, or clearly marked "for information" |

| Free shipping threshold | Shipping and cart rules | A round euro amount, such as €50 |

| Fixed discounts and codes | Discounts | In euro, with no amounts like €5.11 that nobody remembers |

| Unshipped orders in leva | Orders, the order, Convert prices to EUR | No BGN orders without an invoice and a shipping label |

| Feeds | Google Shopping, XML Feed | Prices in EUR, equal to the site |

| Texts with prices | Banners, pages, email templates | No 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.

> A new store €1/month for the first 3 months A new CloudCart store is set up in euro from day one, with N-18, invoices, Econt, Speedy and BOX NOW (a parcel locker network), and no old prices in leva. The first 3 months of every plan are €1/month, for new stores through Dec 31, 2026. Create a store for €1 →

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

## Frequently asked questions

**When did Bulgaria adopt the euro?**

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.

**When does dual pricing in Bulgaria end?**

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.

**How do I change my online store prices from leva to euro?**

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.

**How are prices rounded when converting leva to euro?**

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.

**Do invoices in Bulgaria need prices in both euro and leva?**

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.

**What happens to old orders in leva in CloudCart?**

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.
