Към съдържанието
N1
Интеграции · валутни курсове · Excel

Калкулатор на себестойността на внос с актуални курсове и експорт в Excel

Клиент: Внос и търговия на едро, NDA Категория: Интеграции Стек: JavaScript, SheetJS (xlsx), PHP (curl_multi), API за валутни курсове, HTML/CSS Срок: около 4 седмици
Проблем

Себестойността на вносните стоки се изчисляваше ръчно в таблица: курсът се преписваше от сайтове, доставката, митото и надценката се преценяваха за всяка позиция поотделно. Една грешка във формулата — и търговският отдел получаваше грешна цена.

Ограничения

Доставчиците фактурират в долари, евро, рубли и юани, а изчисленията трябва да са в тенге; външната услуга за курсове може да не отговори, а ключът за достъп до нея не бива да се дава на браузъра.

Какво направих
  • Карти на позициите: цена, валута (USD, EUR, RUB, CNY) и количество; всички суми се преизчисляват веднага при всяка промяна
  • Доставката по подразбиране е 6% от стойността на стоката, при нужда се въвежда ръчно в евро
  • Верига на изчислението: мито, допълнителни разходи, доход за обезпечение, търговска надценка, цена без ДДС и бонус за мениджъра — в блокове за администратора и търговския отдел
  • Курсовете на четирите валути към тенгето — с паралелни заявки (curl_multi) през PHP прокси, API ключът остава на сървъра; рублата и юанът — чрез кръстосан курс през долара
  • Три опита за получаване на курсовете с пауза; при срив — стойности по подразбиране и ръчна корекция на всеки курс
  • Експорт на изчислението в .xlsx чрез SheetJS: форматирана таблица със суми в тенге и себестойност за всяка позиция
Архитектура
Форма с позиции (JS) → PHP прокси за курсове (curl_multi) → API за валутни курсове → Изчисляване на себестойността → Експорт в .xlsx (SheetJS)
Резултат

Себестойността и продажната цена за всяка позиция се виждат веднага при въвеждане: курсовете се зареждат сами, а готовото изчисление се експортира в Excel с един бутон. Калкулаторът е пуснат през март 2025 г.

Какво може да се преизползва
Паралелно зареждане на курсове чрез curl_multi с кръстосан курс Повторни опити с резервно ръчно въвеждане Експорт на табличното изчисление в .xlsx от страна на браузъра