پیاده سازی سیستم حسابداری معین در وب سایت ها ارسال شده در ۱۳ دی ۱۳۹۷

سلام

اول یه توضیح بدم که سیستم حسابداری معین یا همون دفتر معین چیه؟ این روش یک راهکار استاندارد برای حسابداری و مدیریت حساب های مشتریان و… هست که معمولا به نام دفتر معین شناخته میشه و به این شکل هست که هر ورودی و خروجی به عنوان بستانکار یا بدهکار در این دفتر ثبت میشه و جمع اینها میشه مقدار موجودی حساب کاربر که میتونه منفی باشه یا مثبت بشه. و اینم بگم که در وب سایت های معروف دنیا و ایران با همین سیستم عملیات حسابداریشون انجام میشه. سیستم های مدیریت حساب مالی اپلیکیشن های اسنپ ، تپسی و الوپیک، وب سایت های چیلیوری، اسنپ فود، ریحون، فرانش و…

در کل برای سیستم های مارکت پلیس این روش میتونه ضروری باشه و برای سیستم های دیگه ای که حساب مالی کاربران دارند میتونه خیلی مفید باشه

خوب بریم برای پیاده سازی و توضیح نحوه کار من برای یک سیستم مارکت پلیس فروش آنلاین غذا توضیح میدم که کاملترین حالت ممکنه و شما برای سناریوی خودتون میتونید کمتر و بیشتر کنید.

در حالت کلی ما سه تا جدول باید بسازیم. جدول سفارشات، جدول دفتر معین کاربران، جدول دفتر معین فروشنده

جدول سفارشات ما شامل فیلدهای تعداد، زمان سفارش ، قیمت ، تخفیف ، وضعیت سفارش ، یوزر آی دی و غذا آی دی میشه

جدول دفتر معین کاربران شامل فیلدهای افزایش ، کاهش ، باقی مانده حساب ، سفارش آی دی ، یوزر آی دی ، شماره تراکنش بانک ، و وضعیت میشه

جدول معین فروشنده شامل فیلدهای افزایش ، کاهش ، باقی مانده حساب ، سهم سایت ، سفارش آی دی ، فروشنده آي دی ، توضیحات میشه

 

خوب ما در دو حالت افزایش موجودی کاربر داریم یکی اینکه خودش افزایش موجود بزنه و بره بانک پول پرداخت کنه که در این حالت کار سادست یک رکورد در دفتر معین کاربر ایجاد میکنید و مقدار افزایش رو مقدار قابل پرداخت میزنید و وضعیت رو روی حالت در انتظار ثبت میکنید و مقدار باقی مانده حساب رو هم آخرین رکورد ثبت شده به نام این کاربر که وضعیت موفق داره را دریافت میکنید و با مبلغ قابل پرداخت فعلی جمع میکنید و در فیلد باقی مانده حساب میریزید. بعدش هم کاربر رو میفرستید به درگاه بانکی و… اگر موفق برگشت که وضعیت این رکورد رو میکنید موفق در غیر این صورت این رکورد بی استفاده میمونه. به همین راحتی

 

حالت دوم زمانیه که کاربر یک غذا سفارش میده و میخواین بفرستینش سمت بانک تو این حالت اول یک رکورد سفارش باید ثبت کنید با وضعیت در انتظار و بعد یک رکورد در جدول معین کاربر با مقدار افزایش با همین مبلغ سفارش و باقی مانده هم به ترتیب قبلی که گفتم افزایش میدید و وضعیت در انتظار . کاربر رو میفرستید به بانک و اگر پرداختش موفق بود وضعیت رکورد سفارش و معین کاربر رو موفق میکنید و بعد یک رکورد دیگه در جدول معین کاربر ایجاد میکنید با این تفاوت که مقدار افزایش صفره و مقدار کاهش مبلغ پرداخت شده هست و فیلد باقی مانده رو هم از مبلغ پرداخت شده فعلی کم میکنید و ذخیره میکنید. و بعد میریم سراغ معین فروشنده اینجا باید سهم سایت رو نسبت به درصد مشخص شده کم کنید و مقدار سهم فروشنده رو در فیلد افزایش قرار میدید و باقی مانده حسابش رو هم باید آخرین رکوردش رو بگیرید و با این مبلغ جمع کنید و سهم سایت رو هم با اون درصد مشخص شده وارد کنید و رکورد رو ثبت کنید.

 

نمونه مثال جدول معین کاربر برای یک سفارش:

 

نمونه مثال جدول معین فروشنده برای سفارش بالا که ۱۰ درصدش به حساب سایت واریز شده و ۹۰ درصد به حساب فروشنده:

 

 

وقتی خواستیم یک فروشنده رو تسویه حساب کنیم آخرین باقی مانده حساب فروشنده رو از جدول معین فروشنده دریافت میکنیم و اون مبلغ رو در فیلد کاهش میزاریم و باقی مانده رو هم از مبلغ کم میکنیم و رکورد رو ثبت میکنیم.

 

امیدوارم متوجه شده باشید با این مدل ما میتونیم عملیات افزایش یا کاهش اعتبار رو برای کاربران و فروشندگان به راحتی انجام بدیم و نشونشون بدیم. مثلا اگر سفارش کاربر لغو شد خیلی راحت یک رکورد در معین کاربر ثبت میکنیم و افزایش موجودی میزنیم براش یا برعکس که با اینکار میتونیم مبلغ حساب کاربر یا فروشنده رو منفی یا مثبت بزاریم و بدون مشکل عملیات های حسابداری خودمون رو مدیریت کنیم.

 

این مدلی که من گفتم هر فروشنده میتونه چند حساب داشته باشه مثلا یک کاربر دارای چند رستوران که حساب های جدا دارن و حساب کتاب هر رستوران جدا ثبت میشه ولی مثلا سایتی مثل فرانش هر فروشنده یک حساب داره که برای این مدل سایت میتونید یک جدول معین تعریف کنید به جای دوتا و تمام رکوردهای افزایش موجودی و کاهش و تسویه حساب رو داخل همون انجام بدید.

 

امیدوارم مفید بوده باشه

برای درک بهتر یک سر به بخش تراکنش های من اپلیکیشن های مارکت پلیس مثل اسنپ یا سایت های فروش آنلاین غذا یا خدمات بزنید.

موفق باشید

نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *