تراز آزمایشی در حسابداری | آینه صحت دفترکل AF Code
نکات کلیدی
- درک مفهوم تراز آزمایشی
- آشنایی با منابع داده گزارش
- نقش تراز در دیتابیس حسابداری
- درک فرمول محاسبه افتتاحیه
- آشنایی با نحوه محاسبه گردش دوره
- روش تبدیل مانده خالص به دو ستون
- درک عملی محاسبات تراز آزمایشی
- مشاهده تفاوت حسابهای دارایی و درآمد
- تفسیر صحیح ستونهای اختتامیه
- کنترول صحت ثبتها با تراز آزمایشی
- نقش تراز در تهیه صورتهای مالی
- کشف سریع رفتار غیرعادی حسابها
- ویژگیهای کلیدی تراز آزمایشی در AF Code
- نقش آن در کنترل صحت دفترکل
- اهمیت بررسی منظم گزارش
تراز آزمایشی چیست؟
تراز آزمایشی یکی از مهمترین گزارشهای حسابداری است که نشان میدهد ثبتهای مالی ما تا چه حد منظم و متوازن است.
تراز آزمایشی (Trial Balance) یک جدول از تمام حسابها است که در آن ماندهها (افتتاحیه، گردش دوره، اختتامیه) نشان داده میشود تا ببینیم مجموع سمت قرضدار و بستانکار با هم سازگار هستند یا نه.
در دیتابیس مدیریت حسابداری AF Code، تراز آزمایشی بهصورت رسمی پیادهسازی شده و با Query مشخصی تولید میشود. این گزارش فقط از سطرهای اسناد ثبت نهاییشده (Posted) استفاده میکند، سطرها را بر اساس حساب گروهبندی میکند و برای هر حساب، افتتاحیه، گردش دوره و اختتامیه را محاسبه مینماید.
برای شرکت AF Code و مشتریانش در افغانستان، تراز آزمایشی یک ابزار حیاتی برای کنترل صحت ثبتها و پایهای برای تهیه گزارشهای کلان مانند ترازنامه و صورت سود و زیان است.
پارامترهای گزارش تراز آزمایشی
در سیستم AF Code، گزارش تراز آزمایشی با سه پارامتر کلیدی قابل شخصیسازی است.
در DTO گزارش نرم افزار حسابداری AF Code، سه ورودی اصلی وجود دارد:
| پارامتر | نوع | توضیح |
|---|---|---|
| FromDate | تاریخ | تاریخ شروع بازه گزارشگیری |
| ToDate | تاریخ | تاریخ پایان بازه گزارشگیری |
| IncludeZeroBalanceAccounts | بولین (Boolean) | اگر true باشد، حسابهای با مانده صفر هم نمایش داده میشوند. اگر false باشد، فقط حسابهای دارای گردش یا مانده نشان داده میشوند. |
این یعنی گزارش تراز آزمایشی در دیتابیس حسابداری AF Code هم میتواند برای یک بازه خاص باشد، هم برای یک تاریخ ختم مشخص، هم با قابلیت فیلتر حسابهای بدون گردش.
فرمول محاسبه در پروژه AF Code
برای هر حساب، سیستم AF Code یک روند محاسباتی مشخص دارد که در متد GetTrialBalanceAsync پیادهسازی شده است.
مراحل محاسبه برای هر حساب
| مرحله | فرمول | توضیح |
|---|---|---|
| مانده افتتاحیه | openingDebit = جمع قرضدار قبل از FromDate openingCredit = جمع بستانکار قبل از FromDate | مجموع مبالغ قرضدار و بستانکار تا قبل از تاریخ شروع گزارش |
| گردش دوره | periodDebit = جمع قرضدار از FromDate به بعد periodCredit = جمع بستانکار از FromDate به بعد | مجموع مبالغ در بازه زمانی انتخابشده |
| مانده خالص افتتاحیه | openingNet = openingDebit - openingCredit | تفاوت قرضدار و بستانکار قبل از دوره |
| مانده خالص دوره | periodNet = periodDebit - periodCredit | تفاوت قرضدار و بستانکار در طول دوره |
| مانده اختتامیه (خالص) | closingNet = openingNet + periodNet | مانده نهایی حساب پس از اعمال گردشها |
تبدیل به دو ستون قرضدار و بستانکار
در دیتابیس مدیریت حسابداری AF Code، خروجی نهایی به شکل دو ستون اختتامیه قرضدار و بستانکار نمایش داده میشود:
- اگر closingNet >= 0 باشد → در ستون قرضدار (Debit) مینشیند با مقدار closingNet
- اگر closingNet < 0 باشد → در ستون بستانکار (Credit) مینشیند با مقدار (closingNet-)
تمام این فرمولها عیناً در کد پروژه AF Code پیادهسازی شده است.
ساختار سطر گزارش تراز آزمایشی
هر سطر از گزارش تراز آزمایشی در AF Code شامل فیلدهای زیر است.
در نرم افزار حسابداری AF Code، هر سطر گزارش Trial Balance بر اساس کلاس TrialBalanceRowDto ساخته میشود:
| فیلد | نوع | توضیح |
|---|---|---|
| کد حساب | string | کد منحصربهفرد حساب |
| نام حساب | string | عنوان توصیفی حساب |
| افتتاحیه قرضدار | decimal | مانده قرضدار ابتدای دوره |
| افتتاحیه بستانکار | decimal | مانده بستانکار ابتدای دوره |
| گردش دوره قرضدار | decimal | جمع قرضکار در طول دوره |
| گردش دوره بستانکار | decimal | جمع بستانکار در طول دوره |
| اختتامیه قرضدار | decimal | مانده نهایی قرضدار (اگر closingNet >= 0) |
| اختتامیه بستانکار | decimal | مانده نهایی بستانکار (اگر closingNet < 0) |
این ساختار کامل در دیتابیس حسابداری AF Code پیادهسازی شده و به حسابداران افغانستان امکان مشاهده دقیق وضعیت حسابها را میدهد.
یک مثال عملی (ماه حمل)
با یک مثال ساده از تقویم شمسی، کاربرد تراز آزمایشی را بهتر درک میکنید.
فرض کنید بازه ماه حمل (۱ حمل تا ۳۱ حمل) را برای گزارش تراز آزمایشی انتخاب کردهاید. دو حساب «صندوق» و «فروش» را در نظر بگیرید:
حساب صندوق (دارایی)
- افتتاحیه قرضدار: ۱۰۰,۰۰۰ افغانی (مانده ابتدای دوره)
- گردش دوره قرضدار: ۳۰,۰۰۰ افغانی (وجه نقد دریافتشده)
- گردش دوره بستانکار: ۲۰,۰۰۰ افغانی (وجه نقد پرداختشده)
محاسبات:
openingNet = 100,000 - 0 = 100,000
periodNet = 30,000 - 20,000 = 10,000
closingNet = 100,000 + 10,000 = 110,000
نتیجه: از آنجا که closingNet >= 0 است، در ستون اختتامیه قرضدار با مبلغ ۱۱۰,۰۰۰ افغانی نمایش داده میشود.
حساب فروش (درآمد)
- افتتاحیه بستانکار: ۰ افغانی (حسابهای درآمدی مانده افتتاحیه ندارند)
- گردش دوره بستانکار: ۳۰,۰۰۰ افغانی (فروشهای انجامشده)
محاسبات:
openingNet = 0 - 0 = 0
periodNet = 0 - 30,000 = (30,000-)
closingNet = 0 + (30,000-) = (30,000-)
نتیجه: از آنجا که closingNet < 0 است، در ستون اختتامیه بستانکار با مبلغ ۳۰,۰۰۰ افغانی نمایش داده میشود.
گزارش تراز آزمایشی
| حساب | افتتاحیه قرضدار | افتتاحیه بستانکار | گردش قرضدار | گردش بستانکار | اختتامیه قرضدار | اختتامیه بستانکار |
|---|---|---|---|---|---|---|
| صندوق | ۱۰۰,۰۰۰ | ۰ | ۳۰,۰۰۰ | ۲۰,۰۰۰ | ۱۱۰,۰۰۰ | ۰ |
| فروش | ۰ | ۰ | ۰ | ۳۰,۰۰۰ | ۰ | ۳۰,۰۰۰ |
| مجموع | ۱۰۰,۰۰۰ | ۰ | ۳۰,۰۰۰ | ۵۰,۰۰۰ | ۱۱۰,۰۰۰ | ۳۰,۰۰۰ |
در سیستم AF Code، مجموع اختتامیه قرضدار (۱۱۰,۰۰۰) و اختتامیه بستانکار (۳۰,۰۰۰) الزاماً با هم برابر نیستند؛ آنچه مهم است این است که مجموع اختتامیه قرضدار منهای مجموع اختتامیه بستانکار با مانده خالص کل حسابها برابر باشد. در این مثال: ۱۱۰,۰۰۰ - ۳۰,۰۰۰ = ۸۰,۰۰۰ که همان مانده خالص داراییها منهای بدهیهاست.
رابط کاربری تراز آزمایشی در AF Code
صفحه گزارش تراز آزمایشی در پروژه AF Code امکانات کاربردی زیادی دارد.
در نرم افزار حسابداری AF Code، صفحه Trial Balance در منوی General Ledger قرار دارد و این قابلیتها را ارائه میدهد:
- انتخاب بازه تاریخ: فیلدهای fromDate و toDate برای تعیین محدوده زمانی
- گزینه نمایش حسابهای صفر: چکباکس IncludeZeroBalanceAccounts
- جستجو: قابلیت فیلتر بر اساس کد یا نام حساب
- مرتبسازی: امکان sort روی تمام ستونهای گزارش
- خلاصه مجموعها: نمایش openingDebit، openingCredit، closingDebit و closingCredit در پایین صفحه
- خروجی: امکان Export گزارش با Permission مخصوص
این رفتارها در PageModel صفحه TrialBalance پروژه AF Code پیادهسازی شده و با Permissionهای مشخص کنترل میشود.
جمعهای کنترلی در پایین گزارش
یکی از قابلیتهای مفید تراز آزمایشی، نمایش خلاصه مجموعها در انتهای گزارش است.
در دیتابیس مدیریت حسابداری AF Code، خروجی API صفحه TrialBalance شامل یک بخش summary با چهار فیلد کلیدی است:
| فیلد | توضیح |
|---|---|
| openingDebit | مجموع کل ستون افتتاحیه قرضدار |
| openingCredit | مجموع کل ستون افتتاحیه بستانکار |
| closingDebit | مجموع کل ستون اختتامیه قرضدار |
| closingCredit | مجموع کل ستون اختتامیه بستانکار |
این اعداد به کاربر کمک میکند سریع ببیند وضعیت کلی تراز چگونه است و آیا بین مجموعها توازن منطقی برقرار است یا خیر.
دسترسی و امنیت گزارش
مشاهده و خروجی گرفتن از تراز آزمایشی نیازمند مجوزهای مشخصی است.
در سیستم AF Code، این مجوزها برای گزارش تراز آزمایشی تعریف شده است:
- مشاهده (Accounting.GL.TrialBalance.View): برای دسترسی به صفحه و دیدن گزارش
- خروجی (Accounting.GL.TrialBalance.Export): برای گرفتن خروجی Excel، PDF و...
در صفحه گزارش هم این Permissionها اعمال شده و کاربران بدون مجوز کافی، گزینههای مربوطه را نمیبینند. این تفکیک برای سازمانهایی که در افغانستان فعالیت میکنند بسیار مهم است؛ زیرا میخواهند گزارشهای مالی را فقط در اختیار افراد مجاز قرار دهند.
چرا تراز آزمایشی مهم است؟ (کاربرد عملی)
تراز آزمایشی سه کاربرد بزرگ در حسابداری دارد.
در دیتابیس مدیریت حسابداری AF Code، تراز آزمایشی برای اهداف زیر استفاده میشود:
| کاربرد | توضیح |
|---|---|
| کنترول صحت ثبتها | اگر روند ثبت اسناد درست باشد، تراز آزمایشی قابل اتکا خواهد بود. هرگونه عدم توازن در سطح کل حسابها میتواند نشانه خطا در ثبتها باشد. |
| پایه گزارشهای کلان | گزارشهایی مثل ترازنامه (Balance Sheet) و صورت سود و زیان (Profit & Loss) عملاً از دادههای دفترکل و تراز آزمایشی تغذیه میکنند. |
| ابزار کشف خطا | اگر حسابی غیرعادی حرکت کند (مثلاً مانده بستانکار برای حساب دارایی)، در تراز آزمایشی سریع دیده میشود و قابل پیگیری است. |
نکته مهم آموزشی
تراز آزمایشی خودش نشاندهنده «صحیح بودن کامل همه چیز» نیست، اما یک کنترول بسیار قوی اولیه است.
در نرم افزار حسابداری AF Code، این نکته را همیشه به خاطر داشته باشید:
⚠️ نکته مهم:
تساوی مجموع قرضدار و بستانکار در تراز آزمایشی لزوماً به معنای «کاملاً درست بودن» ثبتها نیست. ممکن است اشتباهاتی مثل ثبت در حساب اشتباه (اما با مبالغ درست) رخ داده باشد که تراز را به هم نمیزند. با این حال، اگر حسابدار هر روز یا هر هفته این گزارش را ببیند، خیلی از مشکلات قبل از بستهشدن دوره مالی پیدا میشوند.
برای شرکت AF Code و مشتریانش در افغانستان، بررسی منظم تراز آزمایشی یک عادت حرفهای است که از بروز مشکلات بزرگ در پایان سال مالی جلوگیری میکند.
جمعبندی و نتیجهگیری
تراز آزمایشی در پروژه AF Code یک گزارش جدی و استاندارد است.
بر اساس آنچه در دیتابیس مدیریت حسابداری AF Code پیادهسازی شده است:
- ✅ فقط از اسناد ثبت نهاییشده (Posted) میخواند
- ✅ حساببهحساب ماندهها را میسازد
- ✅ افتتاحیه، گردش دوره و اختتامیه را جدا نشان میدهد
- ✅ با فیلتر تاریخ و گزینه نمایش حسابهای صفر انعطاف دارد
- ✅ خلاصه مجموعها (summary) را برای کنترل سریع ارائه میدهد
به همین دلیل، تراز آزمایشی واقعاً «آینه صحت دفترکل» است و یکی از مهمترین ابزارهای حسابداری در نرم افزار حسابداری AF Code برای کسبوکارهای افغانستان محسوب میشود.
📌 خلاصه برای حسابداران افغانستان:
تراز آزمایشی را بهصورت منظم (روزانه یا هفتگی) بررسی کنید. این کار به شما کمک میکند قبل از بسته شدن دوره مالی، خطاها را پیدا کنید و از مشکلات بزرگ در پایان سال جلوگیری نمایید.
واژهنامه تخصصی
برای یکدستی در نوشتار، این معادلها را به کار ببرید.
- Trial Balance → تراز آزمایشی
- Opening Balance → مانده افتتاحیه
- Closing Balance → مانده اختتامیه
- Period Turnover → گردش دوره
- Zero Balance Account → حساب با مانده صفر
- Debit Balance → مانده قرضدار
- Credit Balance → مانده بستانکار
- General Ledger → دفتر کل
- Posted Entry → سند ثبتشده نهایی
- Net Balance → مانده خالص
نظری ثبت نشده است.