صدور صورتحساب بر اساس دسته (فاکتور / پیشفاکتور)
> version: 1.3 | last_updated: 2026-08-16 | audience: admin
تنظیم روی دسته
در **دستهبندی محصول** → تب «مالیات و پرداخت» → بخش **صدور صورتحساب**:
| گزینه | رفتار هنگام ثبت سفارش |
|--------|------------------------|
| **فاکتور قطعی** (`invoice`) | فاکتور قابلپرداخت (`INV-…`) صادر میشود — پیشفرض همه دستهها |
| **پیشفاکتور** (`proforma`) | سند `PRO-…` با نوع پیشفاکتور؛ **قابل پرداخت نیست** تا در کارتابل تأیید و تبدیل شود |
فیلد دیتابیس: `product_categories.billing_document_mode`
سند مالی
ستون `invoices.document_kind`:
روی دسته همچنین:
| فیلد | نقش |
|------|-----|
| `show_zero_amount_invoice_lines` | نمایش/مخفی کردن خطوط با مبلغ صفر روی فاکتور و پیشفاکتور |
اگر روی دسته خاموش باشد، هنگام صدور سند خطوط با مبلغ کل ≤ ۰ ساخته نمیشوند. اسناد قبلی هم با باز شدن فاکتور در ادمین، یا `findInvoice` / صدور مجدد از سفارش، همراستا میشوند (`syncZeroAmountLinesVisibility`) و خطوط صفر حذف میگردند.
اکشن workflow:
| کلید | نقش |
|------|-----|
| `invoice.generate_from_order` | ساخت سند از سفارش (با توجه به حالت دسته) |
| `invoice.issue` | صدور فاکتور از پیشنویس **یا** تبدیل پیشفاکتور → فاکتور |
پرداخت (درگاه / کیف پول / دستی) فقط وقتی `document_kind = invoice` و وضعیت صادرشده/جزئی/سررسید باشد مجاز است.
نمونه: پهنای باند اختصاصی
دسته `dedicated-bandwidth` روی `proforma` است.
مسیر کارتابل:
جزئیات: [dedicated-bandwidth-sales-cartable.md](./dedicated-bandwidth-sales-cartable.md)