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

27 хв

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

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

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

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

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

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

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

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

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

Що станеться з документами, якщо змінити основну валюту

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

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

Саме тому незакриті документи лишаються порахованими за старою логікою:

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

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

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

Ціни каталогу й прайсів після зміни основної валюти теж лишаються тими самими числами. А от наступний перерахунок порахує прайсові ціни вже від нової основної валюти: у неї курс 1, і числа в прайсах стануть означати нову валюту.

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

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

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

Якщо джерело нічого не віддало — не відповіло, відповіло не в тому форматі або, для свого посилання, у rates немає коду основної валюти, — при запуску кнопкою ⟳ у вікні з'являється червоне повідомлення «Джерело курсів не віддало даних — курси не оновлено, в історію нічого не записано.». Курси в довіднику лишаються як були, знімок в історію не пишеться, а в «Журнал операцій» лягає червоний рядок із тим самим текстом. Для alphavantage.co повідомлення з'являється, коли не прийшов курс жодної валюти; якщо прийшла частина — оновиться лише вона, решта лишиться зі старим значенням.

Якщо джерело не обране взагалі, плашка «Провайдер курсів» показує прочерк — але курси все одно тягнуться: без вибору програма опитує alphavantage.co. Це джерело влаштоване інакше за решту: на кожну активну валюту йде окремий запит із паузою в секунду між ними, тож чим більше валют, тим довше триває прогін. Інші джерела віддають усі курси одним запитом. І ще: коли ліміт безкоштовного ключа alphavantage.co вичерпано, сервіс відповідає без курсу — і якщо так вийшло з усіма валютами, з'явиться те саме червоне повідомлення.

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

Правило просте: обирайте національний банк країни, валюта якої у вас основна. Це офіційний курс — саме за ним рахує бухгалтерія, і ваша основна валюта в ньому точно є. Якщо такого банку в списку немає, беріть open.er-api.com: він знає понад 160 валют і працює з будь-якою основною.

Пункт у спискуОсновна валюта, з якою працюєЩо варто знати
nationalbank.kz — Нацбанк Казахстану (KZT)KZT, а також UAH, USD, EUR, PLN, BYN, MDL, RON, CZK, TRYофіційний курс Нацбанку Казахстану
bank.gov.ua — Нацбанк України (UAH)UAH, а також KZT, USD, EUR, PLN, MDL, RON, CZK, TRYофіційний курс НБУ; білоруського рубля в ньому немає
nbp.pl — Нацбанк Польщі (PLN)PLN, а також UAH, USD, EUR, RON, CZK, TRYтенге в ньому немає
ecb.europa.eu — Європейський центробанк (EUR)EUR, а також USD, PLN, RON, CZK, TRYгривні й тенге в ньому немає
bnr.ro — Нацбанк Румунії (RON)RON, а також UAH, USD, EUR, PLN, MDL, CZK, TRYтенге в ньому немає
cnb.cz — Нацбанк Чехії (CZK)CZK, а також USD, EUR, PLN, RON, TRYгривні й тенге в ньому немає
bnm.md — Нацбанк Молдови (MDL)MDL, а також UAH, KZT, USD, EUR, PLN, BYN, RON, CZK, TRYофіційний курс Нацбанку Молдови
tcmb.gov.tr — Центробанк Туреччини (TRY)TRY, а також KZT, USD, EUR, RONбереться курс продажу; гривні, злотого й чеської крони в ньому немає
open.er-api.com — ExchangeRate-API, 160+ валют, будь-яка основна валютабудь-якане курс конкретного банку, а зведений ринковий; оновлюється раз на добу. Підходить, коли нацбанку вашої країни в списку немає
liqpay.ua — ПриватБанк, курс продажу (UAH)UAH, USD або EURкурс продажу ПриватБанку, тільки для долара, євро й гривні. Інших валют у ньому немає
nbrb.by — Нацбанк Білорусі (BYN)BYN, а також UAH, KZT, USD, EUR, PLN, MDL, CZK, TRYофіційний курс Нацбанку Білорусі; румунського лея в ньому немає
alphavantage.co — Alpha Vantage, обмеження кількості запитів на добубудь-якакожна валюта — окремий запит із паузою в секунду; безкоштовний ліміт запитів швидко вичерпується, і тоді курси не оновлюються. Не радимо
Власне джерело — JSON за посиланнямбудь-яка, якщо вона є у відповіді джерелакурс із вашої системи обліку чи від банку (своє джерело)

Нацбанк іншої країни теж можна обрати — програма перерахує курси через вашу основну валюту. Наприклад, основна валюта гривня, джерело — Нацбанк Польщі: він публікує і долар, і гривню у злотих, тож курс долара в гривнях програма отримає діленням одного на інше. Умова та сама, що й для свого джерела: ваша основна валюта має бути в таблиці банку. Якщо її там немає — як гривні в Європейського центробанку, — не оновиться жодна валюта, а у вікні з'явиться червоне повідомлення «Джерело курсів не віддало даних — курси не оновлено, в історію нічого не записано.».

Готові джерела мають 15 секунд на відповідь (alphavantage.co — на кожну валюту). Не встигло — курси лишаються як були (у alphavantage.co — лише та валюта, на якій сталася затримка), і можна просто повторити оновлення пізніше.

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

нітактакні⟳ Отримати курси валютабо розкладДжерело віддало дані, і вних є ваша основнавалюта?Курси не змінюються,історія не пишеться,червоний рядок у ЖурналіопераційКожна активна валюта,крім основноїДжерело дало курс, і вінвідрізняється відпоточного?Новий курс, Зміна, ДатаоновленняВалюта лишається зістарим курсомОсновній валюті — курс 1Знімок в історію і чисткастарих записівРядок Оновлення курсіввалют із переліком курсіву Журналі операцій
Якщо джерело не віддало даних, прогін зупиняється одразу: курси не змінюються, в історію нічого не пишеться, а в журналі з'являється червоний рядок. Знімок в історію і звичайний рядок із переліком курсів — лише коли дані прийшли.

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

Курс, введений руками, і що його перепише

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

Живе це значення рівно до наступного оновлення курсів: воно перезаписується мовчки, без запитання й без позначки «тут правили руками». Перезаписати його може не лише кнопка ⟳ — курси тягне ще й розклад, дія «Оновити курси валют» у сценаріях Elbuz Flows, прохання до ІІ-консультанта оновити курси, а також завантаження прайс-листа, якщо в налаштуваннях увімкнено «Оновлювати курс перед завантаженням» («Налаштування системи» → «Прайс-листи» → «Завантаження та розбір», за замовчуванням вимкнено).

Закріпити свій курс можна двома способами, і обидва — не в довіднику:

  • Курс для одного прайс-листа. У налаштуваннях колонок прайсу є поля «Курс валюти» і «+%». Якщо в полі «Курс валюти» стоїть значення, відмінне від нуля й одиниці, довідник для цього прайсу не питають узагалі — товари перерахуються за вашим курсом, хоч би що показував довідник.
  • Зняти «Активність» із валюти. Неактивні валюти джерело не оновлює — але вони й випадають із перерахунку цін: курс таких валют товарам не підставляється, і ціна лишається у валюті файлу постачальника.
Панель «Налаштувати колонку» для колонки «Ціна»: група «Валюта» з курсом 44,8
1Курс валюти
2+%
  1. Курс валюти — ручний курс для цієї колонки (тут 44,8 для USD).
  2. Поле «+%» — відсоткова надбавка до курсу.

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

І дві дії, яких програма не зробить, не сказавши про це. Назву й код валюти зі стандартного набору змінити не можна: решта полів рядка збережеться, а ці два лишаться як були. Видалити таку валюту теж не вийде — з'явиться повідомлення «Запис видалено», рядок зникне з сітки, але після оновлення повернеться. Валюту, яка не потрібна, вимикають «Активністю».

Якщо оновлення обірвалося

Програма спершу отримує від джерела всю відповідь і лише потім записує курси — по одній валюті, швидким проходом. Тому обрив під час запиту до джерела — зв'язок, закрите вікно — курсів не змінює зовсім. Частина валют із новим курсом, а частина зі старим лишиться, тільки якщо обрив припав саме на запис. Де що, видно в колонці «Дата оновлення»: у оновлених вона сьогоднішня.

Знімок в історію, чистка старих записів і рядок у журналі робляться в самому кінці, після всіх валют. Обірваний прогін не лишає рядка «Оновлення курсів валют» у «Журналі операцій» (Кабінет → Журнал операцій) — це і є ознака, що він не дійшов до кінця. Завершений прогін кладе туди перелік курсів, які вийшли; якщо ж джерело нічого не віддало, рядок буде червоний, із текстом «Джерело курсів не віддало даних — курси не оновлено, в історію нічого не записано.».

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

Історія за добу зберігає перше значення дня, а не останнє. Якщо вранці курси прийшли від джерела, а вдень ви виправили курс руками, у графіку за цей день лишиться ранкове число з позначкою «Провайдер». У самому довіднику при цьому буде ваше значення.

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

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

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

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

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

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

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

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

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

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

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

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

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

Перерахунок цін за курсом

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

Панель кнопок вікна «Валюти та курси» з підказкою біля кнопки-палички
1Отримати курси валют
2Застосувати націнку для товарів з прайсів
3Додаткові операції
  1. Кнопка ⟳ завантажує актуальні курси валют від провайдера.
  2. Кнопка-паличка перераховує ціни товарів з прайс-листів за поточними курсами та націнками.
  3. Меню ≡ містить додаткові операції, зокрема «Налаштування розкладу».

Вибору, що саме перераховувати, тут немає: кнопка бере всі активні прайс-листи активних постачальників. Вимкнений прайс або вимкнений постачальник пропускається мовчки.

Для кожного прайсу програма робить чотири речі поспіль:

  1. повертає ціну й РРЦ до вихідних значень із файлу постачальника — тих, що були до будь-яких націнок;
  2. підставляє курс: спершу з довідника валют — разом із надбавкою «ЦП + %», так само як при завантаженні прайсу, — а якщо для прайсу заданий власний курс у налаштуваннях колонок — його. Валюта, з якої знято «Активність», курсу не дає: ціна в ній лишається у валюті файлу;
  3. заново проганяє всі правила націнки цього прайсу;
  4. перераховує формули полів — спочатку правила самого прайсу, потім спільні для всіх прайсів.

Після прайсів окремим кроком перераховуються ціни товарів базового каталогу — але за правилами націнки БК від закупівельної ціни, а не з прайсу. Нова прайсова ціна в картки каталогу цим прогоном не переноситься.

такнітакніКнопка-паличка — усіактивні прайс-листиактивних постачальниківЦіна й РРЦ прайсуповертаються до вихіднихіз файлуУ колонці ціни задано свійКурс валюти?Курс із налаштуваньколонки прайсуКурс із довідника валютразом із ЦП + %,вимкнена валюта курсу недаєУ списку націнок є видЦіна + курс валют?Ціна множиться на курс,далі решта правил націнкиПравила націнки безмноження на курсФормули полів — прайсу,потім спільніЦіни БК за правиламинацінки БК, крім Фіксованаціна і Не оновлюватиЖурнал: Застосуванняоперації націнки/знижкизавершено
Дві розвилки вирішують, чи дійде курс до ціни: чий курс береться — прайсу чи довідника, і чи є у прайсу вид націнки «Ціна + курс валют». Без цього виду курс не застосовується зовсім.

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

Вікно «Види націнок» з ланцюжком видів націнок джерела «Прайс Синтез-Груп.xml»
1Ціна + курс валют
  1. Перший у ланцюжку вид «Ціна + курс валют» бере налаштування з довідника валют і прайс-листа.

Товари базового каталогу з позначками «Фіксована ціна» і «Не оновлювати» правила націнки БК не чіпають — їхня ціна лишається такою, яку поставили ви.

Про хід роботи програма пише в «Журнал операцій»: на кожен прайс лягає рядок «Застосування операції націнки/знижки (без завантаження прайс-листа)», а в кінці — «Застосування операції націнки/знижки завершено». Останнього рядка немає — прогін не дійшов до кінця; частина прайсів перерахована, частина ні, і повторний запуск це виправить.

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

Якщо перерахували за помилковим курсом

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

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

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

Подивитися, за яким саме курсом порахували конкретний товар, можна в його контекстному меню: пункт «Історія націнки товару». Там показано вихідну ціну й усі кроки по черзі, серед них рядок «Курс:» із застосованим значенням. А який курс стояв у довіднику того дня, покаже вікно «Історія курсів».

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

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

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

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

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

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

Сценарії

Постачальник виставляє прайс у доларах, ви продаєте у гривні й хочете свіжий курс щодня

Що ввімкнути. Оберіть джерело в діалозі «Джерело курсів» (клік по плашці «Провайдер курсів») і поставте оновлення на розклад: бургер-меню ≡ → «Налаштування розкладу». У прайс-листа постачальника в списку видів націнок має стояти «Ціна + курс валют. Джерело налаштувань: довідник валют + прайс-лист». Після оновлення курсів натисніть кнопку-паличку «Застосувати націнку для товарів з прайсів».

Що вийде. Розклад оновлює курси в довіднику, а паличка перераховує всі активні прайс-листи активних постачальників за цими курсами.

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

Постачальник рахує за своїм курсом, не за курсом джерела

Що ввімкнути. У картці прайс-листа, секція «Колонки» → «Майстер стовпців», у рядку поля ціни відкрийте налаштування колонки й у групі «Валюта» вкажіть валюту колонки та «Курс валюти» — будь-яке значення, крім 0 і 1. Якщо до цього курсу треба додати надбавку, заповніть «+%». Перерахунок кнопкою-паличкою цю надбавку не додає: для товарів у валюті колонки він бере чистий «Курс валюти».

Що вийде. Цей прайс перераховується за вашим курсом, а решта прайсів — як і раніше, за довідником.

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

Курси мають приходити з вашої системи обліку або від банку

Що ввімкнути. У діалозі «Джерело курсів» оберіть «Власне джерело — JSON за посиланням» і впишіть адресу в однойменне поле під списком. Відповідь має містити base і rates, а в rates — код вашої основної валюти. Якщо джерело називає якусь іншу валюту не так, як довідник, впишіть їй додатковий код. Для основної валюти додатковий код не працює: у rates вона має бути під тим самим кодом, що й у довіднику.

Що вийде. Програма сама рахує крос-курси: курс основної валюти в джерелі ділить на курс кожної іншої. На відповідь відводиться 30 секунд.

Чого не станеться. Якщо в rates немає коду основної валюти, або джерело не відповіло, не оновиться жодна валюта: у вікні з'явиться червоне повідомлення «Джерело курсів не віддало даних — курси не оновлено, в історію нічого не записано.», у «Журналі операцій» — червоний рядок із тим самим текстом, а в історію курсів нічого не запишеться.

Прайс має завантажуватися за курсом, свіжим на момент завантаження

Що ввімкнути. «Налаштування системи» → «Прайс-листи» → «Завантаження та розбір», перемикач «Оновлювати курс перед завантаженням» (за замовчуванням вимкнено).

Що вийде. Перед завантаженням прайс-листа в журнал завантаження лягає окремий крок «Завантаження курсів валют». Джерело при цьому опитується, лише якщо за останню годину його ще не опитували — кнопкою ⟳, розкладом чи попереднім завантаженням, причому рахується й невдала спроба: недоступне джерело не гальмуватиме кожен прайс; інакше прайс іде за курсами, які вже є в довіднику.

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

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

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

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

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

Національний банк країни, валюта якої у вас основна: для гривні — bank.gov.ua, для тенге — nationalbank.kz, для злотого — nbp.pl і так далі (усі джерела). Якщо нацбанку вашої країни в списку немає — open.er-api.com. Якщо у вас договір із банком або власна система обліку — підключайте своє посилання.

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

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

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

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

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

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

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

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

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

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

Чи можна відкотити ціни, перераховані за помилковим курсом?

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

Що буде з незакритими документами, якщо змінити основну валюту?

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

Суміжні теми

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