Complete guide to multi-currency catalog in 1C-Bitrix
Imagine: an online store works with rubles and dollars, but rates are outdated, prices in the cart don't match, and customers see incorrect amounts. This is a common problem. Proper configuration of currencies and rates is the foundation of a trade catalog. Without it, conversion and customer trust suffer. Our experience — over 50 projects on multi-currency setup in 1C-Bitrix, and the average reduction in losses from incorrect rates is 15%. If rates are updated with a 24-hour delay, the store loses up to 5% of revenue on the difference. For a store with $100,000 monthly revenue, that's $5,000 lost per month.
Typical currency problems in Bitrix
Agent does not update rates — the most common error. The agent \Bitrix\Currency\CurrencyManager::updateCurrencyRates runs only when the site is visited by default. On low-traffic stores with fewer than 100 visits per day, rates don't update for days. The solution is to set up a cron script with a separate log and alert on failure.
Incorrect rounding — in Bitrix, you can set precision for each currency. If rounding rules are not configured, an error accumulates: the catalog price and the cart price may show a discrepancy up to $0.05 per transaction due to rounding. Customers lose pennies, accounting doesn't match. We set precision through the administrative interface: number of decimal places (e.g., 2 for USD, 0 for JPY) and rounding method (mathematical, up, down). The error can reach 0.5% per transaction, which for a $200 order is $1.
Synchronization with 1C — during exchange via CommerceML, 1C sends prices in its own currency. On the Bitrix side, prices are converted to the base currency. If rates diverge by even 0.1%, discrepancies appear in orders. We solve this by synchronizing the currency directory before the exchange, ensuring rates match to 4 decimal places.
How to set up automatic rate updates: step-by-step guide
- Choose a rate provider: Central Bank of Russia (daily ~15:00 MSK, XML), ECB (daily ~16:00 CET, XML) or custom Forex API (round-the-clock, JSON).
- In the Bitrix administrative interface (Section 'Currencies → Rate Update'), specify the provider and agent interval (e.g., every 30 minutes).
- Set up a cron script duplicating the agent, with log recording in
syslog. This eliminates missed updates during failures. - Check the server timezone — it must match Moscow time so the agent receives fresh rates.
- Implement an alert on failure — send a notification to the administrator via email or messenger.
For production systems, we recommend duplicating the update with a separate cron script with logging and notifications. This approach increases reliability by 6 times compared to agents without cron.
How we configure currencies: a case study
On one project, the store sold auto parts in RUB, USD, and EUR. The standard agent couldn't handle it — rates updated once a day, while European customers saw prices from two days ago. We wrote a custom provider based on \Bitrix\Currency\RateProvider that fetched rates from the Forex API every hour via cURL. The agent was duplicated with a cron script writing to syslog. The result — rates update in real time, conversion increased by 12%, and the store saved approximately $2,000 per month in lost revenue.
What's included in the currency setup service
- Audit of current architecture: analysis of tables
b_catalog_currency,b_catalog_currency_rate,b_catalog_price. - Base currency and rounding rules configuration.
- Automatic rate update setup: provider selection (CBR, ECB, custom), agent and cron script configuration.
- Cache optimization: clearing rate cache after updates, setting tagged cache for catalog components.
- Conversion testing: checking cart, orders, and reports.
- Documentation and training: administrator manual, business process description.
- Warranty support: 30 days after launch.
The importance of careful rounding in multi-currency
When converting, Bitrix uses a rate rounded to the specified precision. If currency rules are not configured, discrepancies in cents between the catalog and cart become systemic. This is especially noticeable with discounts and markups. Compare rounding methods:
| Method | Behavior | When to apply |
|---|---|---|
| Mathematical | 0.5 → 1 | Default, for most currencies |
| Up | always up | For taxes, to avoid underpayments |
| Down | always down | For discounts, to not exceed budget |
We guarantee: after our configuration, prices in the catalog, cart, and documents match to the penny. Certified specialists with 5+ years of experience.
Timeline and cost
Timeline — from 3 to 10 business days depending on integration complexity. Cost starts from $500 for basic setup and is calculated individually after an audit. Savings on future modifications can be up to 20% of the maintenance budget. Order an audit of your store — we'll evaluate the project for free. Contact us for a consultation.
Source: ISO standard, Bitrix documentation.

