Ақша сомасы: 70000
Өтінімдер саны: 3
23.06.26 (қоса алғанда)
Төлем
Идея
Акт міндеттері
Medicine
Басқа технологиялық шешімдер
БҚ/АЖ
Тарихи тұрғыдан алғанда, жеке клиникаларда қайта құру және қаржылық қорытындылау — бұл жетіспеушілік қақтығыстарымен бірге жүретін күнделікті жұмыс уақыты. Иесіздік және жауапкершіліктің болмауы: ескі есеп жүйелерінің көпшілігінде (немесе Excel-де есеп жүргізу кезінде) ауысымдар тіркелмейді немесе барлық тіркеушілерде кассалық компьютерде жалғыз тіркелгі болады. Күннің соңында бірнеше мың теңгенің жетіспеушілігі анықталған кезде, басшылық кінәлі адамды таба алмайды — төлемді нақты кім қабылдағаны белгісіз . Қолма-қол ақшаны беру кезіндегі Хаос: күннің басында (opening_balance) базалық қалдықты қатаң бекітпегендіктен, кассирлер таңертең кассада қандай сома болғандығы туралы шатастырады. Экономикалық қажеттіліктерге ақшаны рұқсатсыз алу (инкассацияны рәсімдемей) қаржылық көріністің толық бұрмалануына әкеледі . "Сұр" төлемдер кассадан өткен: қатаң техникалық құлыптаусыз әкімшілер ақшаны қабылдай алады және жүйеде кез келген уақытта, тіпті касса ресми түрде "жабылғаннан"кейін де операциялар жасай алады. Z-есептердің азапты мәліметтері: бухгалтериялар мен кассирлер әртүрлі терминалдардан (банктік POS, Kaspi терминалы және қолма-қол ақша) деректерді қолмен жинақтауы керек. Аралас төлемдер мен қайтарулар болған кезде қолмен санау сөзсіз қызметкерлердің математикалық қателіктері мен күйзелістеріне әкеледі
Ауысымдарды басқарудың цифрлық модулін іске қосу клиникалардың қаржылық тәртібін түбегейлі өзгертеді: 100% жеке жауапкершілік: әрбір транзакцияны пайдаланушының жеке таңбалауышына және нақты shift_id-ке қатаң байланыстыру"инкогнито" мүмкіндігін толығымен жояды . Z-есеп әр ауысымда қалыптасады, бұл басшылыққа кімнің және қашан қателік жібергенін дәл білуге мүмкіндік береді . Фродты жою (қателер → 0%): белсенді ауысымсыз жұмыс істеуге бағдарламалық тыйым салу (403 NO_ACTIVE_SHIFT) және жетіспеушілік өрісін автоматты түрде есептеу (discrepancy) қаржылық алаяқтықты немесе ұрлықты техникалық мүмкін емес етеді және бірден байқалады . Ауысымды жабуға уақытты үнемдеу: бұрын кассирлерге 30 минуттан бір сағатқа дейін уақыт кететін нәрсе (терминалдармен қолма-қол ақшаны араластыру) енді бірнеше секундта болады. Сервер барлық акцияларды (қолма-қол ақша, QR, карталар, бөліп төлеу) автоматты түрде есептейді және басып шығаруға дайын PDF құжатын береді. Инвесторлар үшін абсолютті ашықтық: бизнес иелері клиниканың ақша ағындарын толық бақылай отырып, қорғалған URL сілтемелері арқылы кез келген филиалдан кез келген ауысым бойынша PDF Z есептерін қашықтан сұрай алады
Амина Агзамова
Тапсырманың (жобаның) мақсаты мен сипаттамасы
Клиникаларда кассирлердің қатаң цифрлық, материалдық және дербес жауапкершілігі жүйесін енгізу. Бұл блоктың негізгі міндеті-"кассадан тыс" кез келген рұқсат етілмеген қаржылық операцияларға алгоритмдік түрде тыйым салу, ашылған сәттен бастап жұмыс күні жабылғанға дейін қолма-қол ақшаның қатаң есебін қамтамасыз ету, сондай-ақ фискалдық Z-есептерді шығарумен қорытынды кірісті есептеуді толығымен автоматтандыру. Функционалдылық пен техникалық шешімдердің толық сипаттамасы: Ауысымды ашу механикасы және JWT валидациясы: кассирдің жұмыс күні"ауысым картасы" интерфейсінен басталады . Кассир ауысымды ашу үшін POST-сұрау салуды бастайды, онда ол іске қосу кезінде кассадағы қолма-қол ақшаның қалдығын міндетті түрде тіркейді (opening_balance) . Сервер shifts кестесінде жазба жасайды, ең бастысы-shift_id тігу арқылы пайдаланушының JWT таңбалауышын жаңартады . Бұл қауіпсіздіктің маңызды элементі: Backend Middleware 403 NO_ACTIVE_SHIFT қатесін қайтару кезінде таңбалауышта белсенді shift_id болмаса, кез келген транзакцияларды (төлем, қайтару) блоктайды . Параллельді ауысымнан қорғау: дерекқор деңгейіндегі жүйе филиалдың ашық өзгерістерін тексереді. Егер бір кассир ауысымды ашқан болса, екінші кассирдің сол филиалда параллель кассаны ашу әрекеті 409 SHIFT_ALREADY_OPEN қатесі бар сервермен бұғатталады . Аралық инкассация (Cash-out): ауысымның өзін жаппай, күні бойы кассадан қолма-қол ақшаны қауіпсіз алу тетігін енгізу (мысалы, инкассаторларға беру үшін). Ол үшін post /api/v2/shift/:id/cash-out Endpoint қолданылады . Инкассация жүйеге жазылады, қолма-қол ақшаның соңғы балансына әсер етеді (closing_balance), бірақ клиниканың жалпы кірісін математикалық түрде бұрмаламайды . Қолма-қол ақшаны салыстыру және кемшіліктерді есептеу:" ауысымды жабу " батырмасын басқан кезде жүйе нәтижені бұзады: кассир кассаға қағаз ақшаның нақты сомасын қолмен енгізуге міндетті (cash_drawer_closing) . Сервер енгізілген соманы есептелген формуламен салыстырады: closing_balance − (opening_balance + cash_in-cash_out). Кез-келген сәйкессіздіктер (жетіспеушілік немесе артық) discrepancy өрісіне мықтап бекітілген . Z есептерін автоматты түрде құру: Сервер ауысым кезеңіндегі барлық транзакциялардың күрделі SQL агрегацияларын (COUNT және SUM) шығарады, әдістер бойынша дәл бөлінеді: қолма-қол ақша, Kaspi, Карта, қайтару және таза кіріс . Математикалық салыстырудан кейін backend PDF құжатын (Z есебін) лезде жасау үшін pdfkit кітапханасын (немесе puppeteer)пайдаланады . Жасалған файл қауіпсіз S3 үйлесімді нысан жадына сақталады , ал кассир таңбалауышы жойылады