Валюти та курси: довідник, джерело курсів і історія

5 хв

Якщо постачальник виставляє прайс у доларах, а ви продаєте у гривні, усе впирається в курс. Довідник валют Elbuz вирішує три задачі: тримає перелік валют, якими ви користуєтеся, оновлює курси автоматично й зберігає історію — щоб було видно, яким курсом порахували документ місяць тому.

Де це у програмі

Меню
Довідники → Валюти та курси
Оновити курси зараз
кнопка ⟳ у вікні довідника
Історія курсів
з того самого вікна, кнопка «Історія курсів»
Вікно «Валюти та курси» зі списком валют і панеллю статистики
1Курс
2ЦП + %
3Провайдер курсів
  1. Курс — скільки базової валюти (UAH) коштує одна одиниця цієї валюти.
  2. ЦП + % — надбавка до курсу, якщо валюту купують дорожче за банківський курс.
  3. Провайдер курсів — звідки програма забирає курси валют.

Основна валюта — точка відліку

Одна валюта в довіднику позначена як основна. Її курс завжди дорівнює одиниці, і саме в ній програма рахує все: ціни каталогу, суми документів, прибуток. Курси решти валют — це відповідь на питання «скільки основної валюти коштує одна одиниця цієї».

Шукати її у сітці не обов'язково: над списком є смужка підсумків, і в ній прямо написано, скільки всього валют, скільки активних, яка з них базова, коли востаннє оновлювалися курси і який обрано провайдер.

Окремо є основна валюта сайту — вона може відрізнятися від основної валюти обліку, якщо ви ведете облік в одній валюті, а вітрину показуєте в іншій.

Основну валюту призначають один раз, на старті. Зміна її в працюючому каталозі перераховує сенс усіх цін: числа лишаються ті самі, а означати починають інше. Якщо основну валюту доводиться міняти, спершу подивіться, що станеться з цінами каталогу й незакритими документами.

Кожна валюта в довіднику має ще кілька полів: код (USD, EUR, UAH), символи ліворуч і праворуч від суми, кількість знаків після коми для цін, прапорці активності, вивантаження на сайт і відображення на сайті. Неактивні валюти не оновлюються й у розрахунках не беруть участі.

Джерело курсів

Курси не вводять руками щодня — їх забирає програма. Джерело обирається у списку «Джерело курсів» праворуч у вікні довідника й зберігається одне на весь акаунт.

Оновлення запускається двома способами: вручну кнопкою ⟳ або автоматично за розкладом, який налаштовується в тому ж вікні через бургер-меню. Поки курси тягнуться, програма пише «Оновлення курсів валют, чекайте...».

Оновлюються тільки активні валюти, і тільки ті, що не є основною: у основної курс за визначенням дорівнює одиниці. Валюта, якої в джерелі немає, лишається зі старим курсом — про це програма не попереджає, тому після зміни джерела варто подивитися колонку «Дата оновлення».

Після оновлення курсів ціни товарів не перераховуються самі. Перерахунок запускають окремо — кнопкою-паличкою в тому ж вікні. Це зроблено навмисно: інакше кожен рух курсу переписував би весь каталог.

Націнка до курсу

У сітці є колонка «ЦП + %» — надбавка до курсу у відсотках. Вона потрібна, коли ви не хочете продавати точно за курсом джерела: банківський курс і курс, за яким ви реально купуєте валюту, зазвичай відрізняються, і ця різниця має бути в ціні, а не з'їдати маржу.

Надбавка застосовується до курсу, а не до ціни товару: усі перерахунки після неї йдуть уже за збільшеним курсом.

Своє джерело курсів за посиланням

Готові джерела підходять не всім: у когось курс приходить із власної системи обліку, у когось — від банку, з яким укладено договір. Для таких випадків є варіант свого посилання: ви вказуєте адресу, звідки програма забирає курси, і далі все працює так само.

Вимоги до того, що лежить за посиланням, прості, але жорсткі. Адреса має віддавати JSON із двома полями:

  • base — код валюти, відносно якої наведені курси;
  • rates — перелік «код валюти → курс».

Виглядає це приблизно так:

{"base": "USD", "rates": {"UAH": 41.5, "EUR": 0.92, "PLN": 3.95}}

У переліку обов'язково має бути код вашої основної валюти. Без нього програма не може перерахувати крос-курси й тихо нічого не оновлює — жодного повідомлення про помилку не буде. Це найчастіша причина «підключив своє джерело, а курси старі».

Далі програма рахує крос-курси сама: бере курс вашої основної валюти в джерелі й ділить на курс кожної іншої. Тому не має значення, у якій валюті джерело веде свій base, — аби ваша основна там була.

Ще дві деталі, які рятують у складних випадках. Якщо валюта в джерелі названа іншим кодом, ніж у вас, спрацює додатковий код валюти — програма шукає спершу за основним кодом, потім за додатковим. І: на відповідь відводиться 30 секунд, тож джерело має бути швидким.

Історія курсів

Окреме вікно «Історія курсів» показує, що відбувалося з кожною валютою: графік динаміки, графік зміни у відсотках за період і таблиця знімків по днях. Період обирається згори — від 30 днів до всієї історії.

Знімок пишеться раз на добу для кожної валюти, і не тільки при оновленні від джерела: ручне редагування курсу й підстановка курсу в документ теж лишають запис.

Глибина зберігання налаштовується кнопкою-мітлою; за замовчуванням історія тримається 730 днів, тобто два роки. Старіші записи видаляються автоматично при кожному оновленні курсів, і там же є кнопка прибрати їх негайно.

Очищення історії не чіпає документи. Курс, за яким порахували конкретний документ, зберігається в самому документі — тому навіть якщо історію обрізати до місяця, торішній рахунок залишиться порахованим правильно.

Розбір частих проблем

Що ви бачитеЧому такЩо зробити
Натиснув «Отримати курси валют» — нічого не змінилосяджерело не віддало даних, або в ньому немає жодної з ваших активних валютподивіться колонку «Дата оновлення»: якщо вона стара — джерело мовчить, спробуйте інше
Своє джерело підключене, курси старіу відповіді немає коду вашої основної валюти — без нього крос-курси не рахуютьсядодайте основну валюту в перелік rates свого джерела
Оновилася частина валютрешти немає в джерелі під тим кодом, який у вас записанийвпишіть валюті додатковий код — той, яким її називає джерело
Курси оновилися, а ціни в каталозі старіперерахунок цін окремий і сам не запускаєтьсянатисніть кнопку перерахунку цін у тому ж вікні
Історія порожняза обраний період знімків немає — або період короткий, або курси давно не оновлювалисярозширте період або оновіть курси
Курс у документі не збігається з поточнимтак і має бути: у документі зберігається курс на момент його створеннянічого; саме тому історію можна чистити без наслідків для документів

Часті питання

Яке джерело курсів обрати?

Те, за курсом якого ви реально працюєте. Якщо у вас договір із банком або власна система обліку — підключайте своє посилання, це надійніше за будь-яке зовнішнє джерело.

Який формат має віддавати моє джерело?

JSON із полями base і rates, де rates — перелік «код валюти → курс». Обов'язкова умова: у переліку має бути код вашої основної валюти, інакше програма не порахує крос-курси.

Чи можна оновлювати курси автоматично?

Так, у вікні довідника є налаштування розкладу. Вручну курси тягнуться кнопкою ⟳.

Чому після оновлення курсів ціни лишилися старими?

Перерахунок цін — окрема дія, кнопка-паличка в тому самому вікні. Так зроблено навмисно: інакше кожна зміна курсу переписувала б увесь каталог без вашого відома.

Навіщо колонка «ЦП + %»?

Це надбавка до курсу. Купуєте валюту дорожче за банківський курс — впишіть різницю у відсотках, і всі перерахунки підуть уже за вашим курсом.

Скільки зберігається історія курсів?

За замовчуванням 730 днів. Термін змінюється кнопкою-мітлою у вікні історії; старі записи видаляються самі при кожному оновленні курсів.

Суміжні теми

Чи була стаття корисною?