Перейти до вмісту

Атестаційні завдання K2 ERP/Обмінка

Матеріал з K2 ERP Wiki

Спрощена формула:

Підходи до розрахунку собівартості валюти

Найпростіший підхід — аналізувати різницю між курсом купівлі та курсом продажу.;

Формула маржі

По кожній касі потрібно вести залишки в кожній валюті.;== Очікуваний результат == компонент має розраховувати прибуток від курсової різниці.; Продаж “у мінус” для обмінки є собою критичною помилкою.; | Оборот по валютах, залишки в касах, прибуток від обмінних операцій |- | Що є собою критичною вимогою?; Роль

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

Прибутковий касовий ордер

компонент має підтримувати розмежування прав.; | Валюти, каси, касири |- | Який центральний журнал?; Параметр

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

Купівля валюти

Прибутковий касовий ордер формується, коли каса отримує кошти.; Поле

Рекомендовані сутності бази даних

Критичні помилки

; Саме це робить компонент обліковим, а не довідковим.; Що перевіряється

Приклад продажу валюти

Практичний принцип. Помилкові валютні операції не варто без ускладнень видаляти.; | Купівля валюти та продаж валюти

class="wikitable" style="width:100%;"

компонент повинен логувати важливі дії.; !; !; Поле

У звіті потрібно показати:

Довідник валют містить перелік валют, з якими функціонує платформа.; | компонент обліку валютних операцій

Які довідники потрібні?; * бути доступним лише користувачу з відповідними правами;
  • створювати зворотний рух по касових залишках;
  • не видаляти операцію фізично з бази;
  • фіксувати причину скасування;
  • записувати дію в журнал змін.;== Звіт касира за день ==
; Для точнішого розрахунку потрібно використовувати партійний або середньозважений обліковий облік валюти.;== Друковані форми == ; замовник купує 500 EUR за курсом 42,20.; характеристика

Довідник «Валюти»

== Касові ордери ==

!; Довідник кас містить місця, де зберігаються гривня та іноземна валюта.; Залишок

!; !; Потрібно передбачити скасування помилкової операції.; Разом
</div>
Перед проведенням операції платформа повинна перевіряти:
Можливі ролі:
|-
| Купівля валюти
| Збільшується
| Зменшується
|-
| Продаж валюти
| Зменшується
| Збільшується
|}

== Приклади валют ==

== Шкала оцінювання ==

* чи достатньо гривні для купівлі валюти;
* чи достатньо іноземної валюти для продажу;
* чи активна каса;
* чи встановлено актуальний курс;
* чи не заблокований касир;
* чи не скасована операційна дія.; Символ

== Журнал «Курси валют» ==

{| class="wikitable" style="width:100%;"

Каса має змогу бути фізичною касою обмінного пункту, касою офісу, касою конкретного касира або умовним внутрішнім рахунком.; характеристика
як ілюстрація:

!;<pre>

!; Тип операції

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

Якщо такі операції вести вручну, без зайвих зусиль помилитися в залишках, курсах, сумі гривні або прибутку.;<pre>

* вести довідник валют;
* вести довідник кас;
* фіксувати курси купівлі та продажу валют;
* зберігати історію зміни курсів;
* автономно підставляти актуальний курс в операцію;
* реєструвати купівлю валюти;
* реєструвати продаж валюти;
* миттєво розраховувати суму в гривні;
* вести залишки по кожній валюті в кожній касі;
* контролювати достатність залишків перед проведенням операції;
* формувати прибуткові та видаткові касові ордери;
* розраховувати прибуток від курсової різниці;
* формувати звіти по оборотах, залишках і прибутковості;
* експортувати або друкувати касові документи та звіти.; !; Правильніше скасувати їх окремою дією, щоб залишилася історичний розвиток та було зрозуміло, чому змінився залишок каси.; Код
<pre>
</div>
Кожна проведена операційна дія повинна автономно змінювати залишки в касі.; Ручне коригування має змогу бути лише окремою службовою операцією з логуванням.; '''Коротко.''' Потрібно реалізувати компонент “Обмінка”, який надає можливість вести валюти, каси, курси купівлі та продажу, реєструвати валютні операції, автономно оновлювати залишки, формувати касові ордери й бачити прибуток від обмінних операцій.; У звіті потрібно відображати:
компонент має підтримувати довідники валют і кас, журнал курсів валют, журнал операцій обміну, купівлю та продаж валюти, автоматичне актуалізація касових залишків, контроль нестачі, формування касових ордерів, розрахунок прибутку, звіти, друк, експорт, AJAX-інтерактив і логування змін.;
Звіт показує поточні залишки валют по касах.; |-
class="wikitable" style="width:100%;" ; Валюта

Права доступу

Середньозважений курс Собівартість валюти рахується як середній курс купленого залишку
FIFO Першою продається валюта, яка була куплена раніше
Спрощена маржа Прибуток оцінюється через різницю поточних курсів купівлі та продажу
; Бали ;== Продаж валюти ==
Номер ордера Унікальний номер документа
Тип ордера Прибутковий або видатковий
Дата Дата створення ордера
Каса Каса, по якій сформовано документ
Валюта Валюта руху
Сума Сума руху
Курс Курс операції, якщо застосовується
операційна дія обміну Посилання на операцію, яка створила ордер
Касир Відповідальний працівник
Підпис касира Поле для друку або електронного підтвердження
; Метод

Критерії оцінювання

Продаж валюти означає, що замовник купує іноземну валюту, а каса отримує гривню.; | Операції обміну

Які типи операцій потрібні?;== Логіка руху залишків ==
Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Axios або Fetch API
UI-компоненти DataTables, Select2
Друк PDF для касових ордерів, квитанцій і звітів
Експорт Excel або PDF для звітів

Сума UAH = 500 × 42,20 = 21 100 грн

;== Звіт «Залишки в касах» ==

Інтерфейс модуля має бути швидким і зручним для касира.; | Прибуткові та видаткові касові ордери, квитанції

Які звіти потрібні?;== актуалізація касових залишків ==

Видатковий касовий ордер

; Каса У результаті виконання атестаційного задача має бути створений компонент обліку валютних операцій у K2 ERP.;

У звіті потрібно відображати:

; Колонка

Форма операції повинна бути максимально простою для касира.; |-

Реалізація довідників валют і кас 10 Валюти, каси, касири, початкові залишки, активність
Реєстрація операцій обміну 20 Купівля, продаж, підстановка курсу, розрахунок суми в UAH
Автоматичне актуалізація залишків каси 20 Зміна залишків по валюті та UAH, контроль нестачі
Формування касових ордерів 20 Прибуткові й видаткові ордери, квитанції, друк PDF
Формування звітів 20 Обороти по валютах, залишки в касах, прибуток від обмінних операцій
Інтерактивність через AJAX 10 Операції, курси, перерахунки, залишки й звіти без перезавантаження
Дата і час Коли встановлено курс
Валюта Валюта, для якої встановлено курс
Курс купівлі За яким курсом обмінка купує валюту у клієнта
Курс продажу За яким курсом обмінка продає валюту клієнту
Каса Якщо курс відрізняється по касах
Автор Хто встановив або змінив курс
!;
Сума UAH = 1000 × 39,50 = 39 500 грн
компонент повинен формувати касові ордери для підтвердження руху коштів.; | Коректна зміна касових залишків після кожної операції
|}

</div>

* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Обмінка]]
* [[Валюти]]
* [[Каса]]
* [[Касові ордери]]
* [[Фінансовий облік]]
* [[Мультивалютність]]
* [[Курси валют]]
* [[Прибутковий касовий ордер]]
* [[Видатковий касовий ордер]]

== Реальний бізнес-контекст ==
== ключовий бізнес-процес ==
== Технічні вимоги ==
!; Призначення

</div>

!; UAH

{| class="wikitable" style="width:100%;"

== Звіт «Оборот по валютах» ==

[[Категорія:Каса]]

Типовий бізнес-процес роботи обмінки виглядає так:
Журнал змін має фіксувати:
{| class="wikitable" style="width:100%;"
|-
| Номер операції
| Унікальний номер операції
|-
| Дата і час
| Коли виконано операцію
|-
| Тип операції
| Купівля або продаж валюти
|-
| Валюта
| Валюта операції
|-
| Сума у валюті
| Скільки валюти куплено або продано
|-
| Курс
| Курс, за яким виконано операцію
|-
| Сума в UAH
| Розрахована сума у гривні
|-
| Каса
| Каса, через яку пройшла операційна дія
|-
| Касир
| Хто провів операцію
|-
| Статус
| Чернетка, проведено, скасовано
|}

== формування звітів ==

== Практичне задача ==

Сума має перераховуватися миттєво при зміні валюти, курсу або кількості валюти.; характеристика

{| class="wikitable" style="width:100%;"

</div>

* видача гривні при купівлі валюти у клієнта;
* видача іноземної валюти при продажу валюти клієнту.; При продажу валюти платформа повинна:

* валюту;
* суму купленої валюти;
* середній курс купівлі;
* суму проданої валюти;
* середній курс продажу;
* курсову маржу;
* прибуток;
* підсумок за день, тиждень або місяць.;

!;== Колонки журналу операцій ==

!; Купівля валюти означає, що замовник здає іноземну валюту, а каса виплачує йому гривню.;== Поля каси ==

!; Валюта

!; # створити валюти USD, EUR, GBP, PLN;

  1. створити касу;
  2. вказати початкові залишки UAH, USD та EUR;
  3. створити курси купівлі та продажу;
  4. оформити операцію купівлі валюти;
  5. перевірити автоматичний розрахунок суми в UAH;
  6. перевірити зміну залишків валюти та гривні;
  7. сформувати касовий ордер по операції;
  8. оформити операцію продажу валюти;
  9. перевірити контроль достатності залишку валюти;
  10. перевірити зміну залишків після продажу;
  11. сформувати квитанцію або касовий ордер;
  12. сформувати звіт обороту по валютах;
  13. сформувати звіт залишків у касах;
  14. сформувати звіт прибутку від обмінних операцій;
  15. показати журнал змін;
  16. виконати скасування помилкової операції;
  17. перевірити зворотний рух по касі.; Об’єкт

У звіті потрібно відображати:

!; У роботі потрібно щоденно контролювати:

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

Видатковий касовий ордер формується, коли каса видає кошти.;

  • зменшити залишок іноземної валюти в касі;
  • збільшити залишок гривні в касі;
  • використати курс продажу;
  • перевірити, чи достатньо валюти в касі;
  • сформувати касовий документ;
  • зафіксувати операцію в журналі.; # адміністратор або касир встановлює курси валют;
  1. у касі є собою залишки гривні та іноземної валюти;
  2. замовник приходить для купівлі або продажу валюти;
  3. касир обирає тип операції;
  4. платформа підставляє актуальний курс;
  5. касир вводить суму у валюті;
  6. платформа розраховує суму в гривні;
  7. платформа перевіряє залишки в касі;
  8. операційна дія проводиться;
  9. залишки валют автономно оновлюються;
  10. формується касовий ордер;
  11. операційна дія потрапляє у звіти по оборотах і прибутку.; Рівень
  • USD збільшується на 1000;
  • UAH зменшується на 39 500.; |-

| Назва валюти | як ілюстрація: долар США, євро, фунт стерлінгів, польський злотий |- | Короткий код | USD, EUR, GBP, PLN |- | Символ | $, €, £, zł |- | Кількість знаків після коми | як ілюстрація, 2 |- | Активність | Чи застосовується валюта в поточних операціях |}

Прибуток по валюті

платформа повинна: Прибуток = Продана сума валюти × (Курс продажу - Середній курс закупівельна діяльність)

Поля касового ордера

Касові залишки

|- | Долар США | USD | $ |- | Євро | EUR | € |- | Фунт стерлінгів | GBP | £ |- | Польський злотий | PLN | zł |}

; Через AJAX мають працювати:
  • касу;
  • валюту;
  • початковий залишок;
  • прихід;
  • видаток;
  • кінцевий залишок;
  • еквівалент у базовій валюті, якщо потрібно.; характеристика
  • збільшити залишок іноземної валюти в касі;
  • зменшити залишок гривні в касі;
  • використати курс купівлі;
  • сформувати касовий документ;
  • зафіксувати операцію в журналі.; Сума UAH = Сума у валюті × Курс

Мінімальний сценарій:

Мета задача

Див.; додатково

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


; Критерій
  • валюти;
  • каси;
  • касири;
  • курси валют;
  • операції обміну;
  • касові залишки;
  • рухи каси;
  • касові ордери;
  • квитанції;
  • методи розрахунку прибутку;
  • звіти;
  • права доступу;
  • журнал змін;
  • скасування операцій.; характеристика

Примітка

центральний принцип. Валютна операційна дія не повинна бути без ускладнень записом у журналі.; характеристика

У контексті обмінки це має змогу бути:

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

Звіт показує прибуток від обмінних операцій за період.; * валюту;

  • кількість операцій купівлі;
  • суму купівлі у валюті;
  • суму купівлі в UAH;
  • кількість операцій продажу;
  • суму продажу у валюті;
  • суму продажу в UAH;
  • підсумки за період.;== AJAX-інтерактив ==

Журнал «Операції обміну»

; Маржа = Курс продажу - Курс купівлі

Результат по касі:

Назва каси як ілюстрація: Каса №1, Центральна каса, Каса офісу
Локація Адреса або місце розташування каси
Відповідальний касир Працівник, який відповідає за касу
Статус Активна, закрита, тимчасово недоступна
Коментар Додаткова відомості

!; | Купівля збільшує валюту й зменшує UAH, продаж зменшує валюту й збільшує UAH |- | Які документи потрібні?; характеристика

Журнал операцій обміну показує всі операції купівлі та продажу валюти.; !; Для реалізації задачі доцільно передбачити такі сутності:

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

Формула розрахунку суми в гривні

Валюти Довідник валют, з якими функціонує обмінка
Каси Місця зберігання готівки та валютних залишків
Курси валют Курси купівлі та продажу з історією змін
Операції обміну Купівля або продаж валюти
Касові залишки Поточні залишки кожної валюти в кожній касі
Касові ордери Документи, що підтверджують рух коштів
Касири Користувачі, які виконують операції
Звіти Обороти, залишки, прибуток, журнал операцій
Журнал змін історичний розвиток зміни курсів, операцій і залишків

Окремо варто відзначити касових залишків, операцій купівлі і продажу валюти, касових ордерів, прибутку від курсової різниці та звітності виступає ключовою рисою перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку валютних операцій забезпечується через Атестаційне задача K2 ERP.; функціональні можливості

Логіка курсів

Скасування має:

!; Журнал курсів валют зберігає історію зміни курсів купівлі та продажу.;

!; Практичний сенс. Якщо курс змінився о 14:00, операції до 14:00 мають залишатися зі старим курсом.; Інакше звіти й прибуток будуть некоректними.;

Колонки журналу курсів

|}

!;== Скасування операції ==

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

Довідник «Каси»

|- | Касир | Створює та проводить операції, друкує ордери, бачить свою касу |- | Старший касир | Бачить кілька кас, має змогу скасовувати операції в межах прав |- | Бухгалтер | Перевіряє операції, звіти, касові документи |- | Адміністратор | Налаштовує валюти, каси, права, курси та службові параметри |}

Звіт «Прибуток від обмінних операцій»

істотно. Касовий залишок має формуватися на основі операцій, а не редагуватися вручну після кожного обміну.; Колонка |- | Тип операції | Купівля або продаж |- | Валюта | USD, EUR, GBP, PLN або інша |- | Сума у валюті | Сума, яку здає або купує замовник |- | Курс | Підставляється автономно, але має змогу редагуватися за наявності прав |- | Сума в UAH | Розраховується автономно |- | Каса | Каса, через яку проходить операційна дія |- | Касир | Поточний користувач системи або обраний касир |- | Коментар | Додаткова відомості |}

У межах атестації потрібно продемонструвати робочий сценарій.; Поле
  • хто створив курс;
  • хто змінив курс;
  • хто створив операцію обміну;
  • хто провів операцію;
  • хто скасував операцію;
  • хто змінив касу або суму;
  • хто сформував касовий ордер;
  • дату й час дії;
  • старе та нове значення, якщо це можливо.; {| class="wikitable" style="width:100%;"
; Бали

Мета задача — створити в K2 ERP компонент для обліку операцій купівлі та продажу валют.; !; !; Відповідь

  • EUR зменшується на 500;
  • UAH збільшується на 21 100.; замовник здає 1000 USD за курсом 39,50.; Потрібно передбачити друк або PDF-формування:

компонент обліку валютних операцій: Обмінка.; Максимальна оцінка

;== Приклад купівлі валюти ==

Критичними помилками вважаються ситуації, коли:

- 90–100 Відмінно компонент в цілому функціонує: курси, купівля, продаж, залишки, ордери, прибуток, звіти й AJAX реалізовані коректно
75–89 Добре Основна логіка функціонує, є собою незначні недоліки, які не руйнують обліковий облік валютних операцій
60–74 Зараховано Базовий сценарій функціонує, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: операції обміну, залишки, курси, ордери або звіти

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

Поля форми

Результат по касі:

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

  • отримання іноземної валюти при купівлі валюти у клієнта;
  • отримання гривні при продажу валюти клієнту.; Звіт показує обсяги купівлі та продажу по кожній валюті за вибраний період.; характеристика

Форма операції обміну

Каса №1 UAH 250 000 Каса №1 USD 8 000 Каса №1 EUR 5 000

Прибутковість обмінних операцій

; Поле

Коротко