سامانه گزارشگیری سازمانی چیست و چه مشکلی را حل میکند؟
سامانه گزارشگیری سازمانی، ثبت درخواستهای مالی، محاسبه دقیق مبالغ، مسیر تأیید مدیران و بایگانی حسابرسی را در یک جریان واحد یکپارچه میکند. بهجای گردش فایل اکسل و ایمیل، هر گزارش یک شناسه یکتا، جدول اقساط محاسبهشده، زنجیره تأیید امضاشده و تاریخچه تغییرات غیرقابلدستکاری دارد.
چرا محاسبات با Decimal انجام میشود و نه اعداد اعشاری معمولی؟
نوع float در محاسبات پولی خطای انباشتی ایجاد میکند؛ برای مثال ۰٫۱ + ۰٫۲ دقیقاً ۰٫۳ نمیشود. این سامانه تمام مسیر پولی را با Decimal و گرد کردن بانکی تا ۱۶ رقم اعشار محاسبه میکند، بهطوری که مجموع اجزای اصل اقساط دقیقاً برابر مبلغ اولیه است.
گردشکار تأیید چند مرحله دارد و امضای دیجیتال چگونه کار میکند؟
سه مرحله: مدیر مالی، سپس بازرس و در نهایت مدیرعامل. ترتیب مراحل سختگیرانه اعمال میشود و پرش از یک مرحله خطا برمیگرداند. هر تصمیم با کلید RSA-2048 روی هش محتوای گزارش امضا میشود؛ بنابراین اگر پس از تأیید کسی مبلغ را تغییر دهد، همه امضاها باطل و این موضوع گزارش میشود.
آیا امکان اتصال به سامانه مودیان و درگاه بانکی وجود دارد؟
بله. سامانه صورتحساب امضاشده را به سامانه مودیان ارسال میکند، از درگاه بانک تأییدیه تسویه میگیرد و سند حسابداری دوطرفه را بهصورت JSON یا XML استاندارد با نرمافزار حسابداری تبادل میکند. همه فراخوانیها idempotent هستند و در حالت پیشفرض sandbox اجرا میشوند.
مسیر حسابرسی چگونه از دستکاری جلوگیری میکند؟
هر رکورد حسابرسی شامل هش رکورد قبلی است و یک زنجیره تشکیل میدهد. ویرایش یا حذف هر رکورد تاریخی، زنجیره را میشکند و سامانه شماره دقیق رکورد دستکاریشده را گزارش میکند.
آیا پروژه متنباز است و میتوان آن را در سازمان مستقر کرد؟
بله، تحت مجوز MIT منتشر شده و با Docker Compose در چند دقیقه بالا میآید. بکاند با FastAPI و پایتون ۳٫۱۳ و فرانتاند با Next.js پیادهسازی شده و PostgreSQL برای محیط عملیاتی پشتیبانی میشود.