Skip to main content
#P1557

GET /api/v2/tasks/categories/list

Route Info

Method Endpoint Controller
GET /api/panel/v2/accounting/account-bill AccountingController@accountBill

شرح عملکرد (Functionality)

این متد وظیفه تولید صورتحساب (گردش حساب) و محاسبه تراز برای یک سرفصل حسابداری مشخص را بر عهده دارد و مراحل زیر را طی می‌کند:

  • تعیین بازه زمانی:
    • اگر پارامترهای advanced->from و to ارسال نشوند، سیستم به طور پیش‌فرض بازه ۳ ماه اخیر را در نظر می‌گیرد.
  • تشخیص سطح حساب:
    • بر اساس طول رشته پارامتر id، سطح حساب تشخیص داده می‌شود: 2 رقم (گروه)، 4 رقم (کل)، 6 رقم (معین) و 9 رقم (تفضیل).
    • اطلاعات پایه حساب و ساختار آن (مانند نوع ماهیت) واکشی می‌شود.
  • جمع‌آوری اسناد (Aggregation):
    • اسناد مالی از جداول مختلف بر اساس نوع حساب جمع‌آوری می‌شوند:
    • جدول Pays: شامل دریافت‌ها، پرداخت‌ها، تنخواه و وام‌ها.
    • Manual Documents: اسناد دستی (به جز افتتاحیه/اختتامیه).
    • Check Operations: عملیات‌های چک (وصول، واگذاری، خرج، استرداد).
    • POS/Online: اگر حساب بانکی باشد، تراکنش‌های کارتخوان و آنلاین به صورت تجمیعی روزانه در فیلد subset نمایش داده می‌شوند.
  • اسناد افتتاحیه و اختتامیه:
    • با فراخوانی متد داخلی getFinancialPasts، مانده‌های انتقالی از دوره‌های قبل (تحت عنوان سند افتتاحیه) و اسناد بستن حساب (اختتامیه) محاسبه و به لیست اضافه می‌شوند.
  • محاسبه تراز نهایی:
    • مجموع بدهکار و بستانکار محاسبه شده و وضعیت تراز (بدهکار/بستانکار/تراز) در فیلد balance خروجی قرار می‌گیرد.

پارامترهای ورودی (Input Parameters)

نام پارامتر نوع الزامی؟ توضیحات
branch Integer بله شناسه شعبه فعال.
id String/Int بله کد حساب مورد نظر (مثلاً کد معین یا تفضیل).
type String خیر نوع حساب (مثلاً account).
json JSON String بله حاوی تنظیمات صفحه‌بندی و فیلتر زمانی (آبجکت advanced).

ساختار پارامتر json:

{
    "start": 0,
    "length": 50,
    "advanced": {
        "from": "1403-01-01", // اختیاری
        "to": "1403-12-29"   // اختیاری
    }
}

نمونه خروجی (Response)

ساختار کلی پاسخ:

{
    "details": {
        "title": "عنوان حساب (مثلاً بانک ملت)",
        "code": "101001"
    },
    "filtered": {
        "from": "1403-01-01",
        "to": "1403-12-29"
    },
    "account": {
        "id": 15,
        "type": "moeen",
        "title": "بانک ها",
        "nature": 1
    },
    "data": [
        {
            "serial_id": 10550,
            "system_serial": 550,
            "datetime": "1403/08/01 10:30:00",
            "credit": 0,
            "debit": 5000000,
            "description": {
                 "html": "...",
                 "text": "..."
            },
            "details": {
                "title": {
                    "html": "شرح سند...",
                    "text": "شرح سند..."
                },
                "type": {
                    "subject": "pay", // pay, check, pos, wage, etc.
                    "title": "سندمالی"
                }
            },
            "subset": [] // آرایه ریزتراکنش‌ها (برای POS و Online)
        }
    ],
    "balance": {
        "credit": 250000000,
        "debit": 180000000,
        "balance": -70000000,
        "diagnosis": "Creditor" // Creditor, Debtor, Neutral
    }
}