Як налаштувати курси валют і перерахувати ціни

30 хв

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

Коли це знадобиться:

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

З чого почати: перевірте джерело курсів і поставте оновлення на розклад.

Що вміє довідник валют

  • Основна валюта — точка відліку: у ній рахуються ціни каталогу, суми документів і прибуток.
  • Автоматичне оновлення — курси приходять за розкладом або кнопкою ⟳; стрибок понад 30% сам не застосовується.
  • Готові джерела — нацбанки, Європейський центробанк, ПриватБанк і зведений ринковий курс.
  • Своє джерело — курси з вашої системи обліку чи від банку за посиланням.
  • Свій курс для прайсу — один постачальник рахується за своїм курсом, незалежно від довідника.
  • Перерахунок цін — прайси й каталог за новим курсом однією кнопкою.
  • Історія курсів — графіки й знімки по днях, за замовчуванням за два роки.

Де це і хто має доступ

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

Як вибрати основну валюту

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

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

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

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

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

Що означають колонки «Вивантаження на сайт» і «Відображати на сайті»

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

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

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

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

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

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

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

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

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

Як курси оновлюються самі

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

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

За замовчуванням стоїть пункт «Автоматично — за основною валютою»: програма сама бере нацбанк країни вашої основної валюти — для гривні bank.gov.ua, для тенге nationalbank.kz, для злотого nbp.pl, для євро Європейський центробанк, для лея bnr.ro, для чеської крони cnb.cz, для молдавського лея bnm.md, для ліри tcmb.gov.tr, для білоруського рубля nbrb.by.

Для будь-якої іншої основної валюти — open.er-api.com. У дужках пункт показує, яке джерело вибрано зараз. Alpha Vantage зі списку прибрано: у кого він був вибраний, курси тепер беруться так само, як за «Автоматично».

Діалог «Джерело курсів»: вибрано «Автоматично — за основною валютою (зараз: bank.gov.ua)»
1Автоматично
  1. За замовчуванням джерело обирається за основною валютою; у дужках — яке саме зараз.

Курси беруться з запасу сервера, а не щоразу з банку: за розкладом і перед завантаженням прайсу — відповідь джерела не старша за 60 хвилин, кнопкою ⟳ — не старша за 5 хвилин. Тому після зміни джерела досить натиснути ⟳, щоб отримати свіжі дані.

Якщо джерело не відповіло, програма бере останній добрий курс того самого джерела, якщо йому не більше 24 годин, і пише над таблицею «Курс на …, джерело не відповіло (…)».

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

Курс змінився більше ніж на 30%

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

Тому за розкладом, перед завантаженням прайсу й у процесах такий курс сам не застосовується: валюта лишається зі старим курсом, а над таблицею валют і в журналі зʼявляється «Курс не застосовано автоматично — зміна більше 30%: USD 30 → 44.8871 (+49.6%). Перевірте й натисніть «Отримати курси валют», щоб застосувати вручну.». Решта валют оновлюється як звичайно.

Застосувати такий курс можна лише вручну: кнопка ⟳ покаже питання «Курс змінився більше ніж на 30%: … Застосувати новий курс? Від курсу залежать ціни товарів.» з кнопками «Застосувати» і «Скасувати». Якщо ви змінили основну валюту, захист один раз не діє: усі курси законно перераховуються від нової основної.

Вікно «Валюти та курси»: попередження «Курс не застосовано автоматично — зміна більше 30%» і питання «Застосувати новий курс?»
1Попередження
2Застосувати
  1. Автоматично курс зі стрибком понад 30% не застосовується.
  2. Кнопкою ⟳ його можна застосувати вручну, з підтвердженням.

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

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

Пункт у спискуОсновна валюта, з якою працюєЩо варто знати
Автоматично — за основною валютоюбудь-якастоїть за замовчуванням: нацбанк країни основної валюти, інакше open.er-api.com
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офіційний курс Нацбанку Білорусі; румунського лея в ньому немає
Власне джерело — JSON за посиланнямбудь-яка, якщо вона є у відповіді джерелакурс із вашої системи обліку чи від банку (своє джерело)

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

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

Готові джерела мають 15 секунд на відповідь. Не встигло — спрацює запас сервера за останні 24 години, а якщо його немає, курси лишаються як були, і оновлення можна повторити пізніше.

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

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

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

Як задати свій курс і що його перепише

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

Живе це значення рівно до наступного оновлення курсів: воно перезаписується мовчки, без запитання й без позначки «тут правили руками».

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

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

  • Курс для одного прайс-листа. У налаштуваннях колонок прайсу є поля «Курс валюти» і «+%». Якщо в полі «Курс валюти» стоїть значення, відмінне від нуля й одиниці, довідник для цього прайсу не питають узагалі — товари перерахуються за вашим курсом, хоч би що показував довідник. Детальніше: що задається для окремої колонки.
  • Зняти «Активність» із валюти. Неактивні валюти джерело не оновлює — але вони й випадають із перерахунку цін: курс таких валют товарам не підставляється, і ціна лишається у валюті файлу постачальника.
Панель «Налаштувати колонку» для колонки «Ціна»: група «Валюта» з курсом 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 немає коду основної валюти, або джерело не відповіло, не оновиться жодна валюта: у вікні з'явиться червоне повідомлення «Джерело курсів не віддало даних — курси не оновлено, в історію нічого не записано.», у «Журналі операцій» — червоний рядок із тим самим текстом, а в історію курсів нічого не запишеться.

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

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

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

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

Що робити, коли курси чи ціни не ті

Оновлення курсів обірвалося

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

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

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

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

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

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

Ціни перераховано за помилковим курсом

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

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

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

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

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

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

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

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

Лишіть «Автоматично»: програма візьме нацбанк країни вашої основної валюти, а якщо його в списку немає — open.er-api.com. Договір із банком чи власна система обліку — підключайте своє посилання (усі джерела).

Чому новий курс не застосувався, а над таблицею попередження про 30%?

Курс змінився більше ніж на 30% — так програма захищає ціни від помилки джерела. Перевірте курс і натисніть ⟳: зʼявиться питання «Застосувати новий курс?», після «Застосувати» курс запишеться.

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

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

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

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

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

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

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

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

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

Відкочувати не доводиться: перерахунок щоразу починається з вихідної ціни з файлу постачальника. Виправте курс і натисніть кнопку перерахунку ще раз (помилковий курс).

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

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

Суміжні теми

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