تنظیمات مالیات و فاکتور
> version: 1.8 | last_updated: 2026-09-26 | audience: admin
تنظیمات Tenant
**پنل شرکت → تنظیمات اصلی → تنظیمات مالی** (`/panel/main-settings/tenant-billing-settings`)
| فیلد | توضیح |
|------|--------|
| نرخ مالیات پیشفرض | مثلاً ۹٪ — روی محصولات جدید پیشنهاد میشود |
| کد اقتصادی | روی فاکتور چاپی |
| شناسه ملی شرکت | روی فاکتور چاپی |
| پاورقی فاکتور | متن پایین فاکتور |
| **قیمتگذاری دلاری** | روشن/خاموش |
| منبع نرخ | TGJU (دلار آزاد) یا دستی |
| بازهٔ بهروزرسانی | ساعتی / روزانه / ماهانه — کرون `billing:refresh-usd-rates` هر ساعت چک میکند |
| **رند نرخ** | بدون رند / رند به بالا / رند به پایین |
| **پلهٔ رند** | ۱۰۰ تا ۱٬۰۰۰٬۰۰۰ ریال — مثال: بالا روی ۱٬۰۰۰ از ۱۱۲۳۴۵۶ → ۱۱۲۴۰۰۰ |
| نرخ فعلی | همان نرخ **رندشده** که برای تبدیل دلار→ریال استفاده میشود؛ تاریخ آخرین دریافت شمسی؛ در صورت تفاوت، نرخ خام هم نشان داده میشود |
| **همگامسازی قیمت اشتراکهای فروختهشده** | اگر روشن باشد، با هر بهروزرسانی نرخ دلار، `unit_price` اشتراکهای **فعال** و **معلق** که محصولشان دلاری است با نسبت نرخ جدید مقیاس میشود؛ لاگ در **گزارش فعالیت مشتری** (`subscription.unit_price_usd_sync`) |
نرخ رندشده در `settings.usd_rate_irr` ذخیره میشود؛ خام API در `usd_rate_irr_raw`. نمایش و سفارش محصولات دلاری همیشه از `usd_rate_irr` میآید. `ensureUsableRate()` اگر نرخ ذخیرهشده نسبت به خام خراب باشد (مثلاً کمتر از نصف) از خام ترمیم میکند؛ هنگام ذخیره پسوند/محصول دلاری در صورت نیاز از TGJU هم تازه میشود. اگر «نرخ فعلی» با «نرخ خام» فاصلهٔ غیرمنطقی داشت، دوباره **ذخیره و دریافت نرخ** بزنید.
همگامسازی قیمت (جزئیات)
محصولات
در **کاتالوگ → محصولات** فیلد **مالیات (%)** و **واحد قیمتگذاری** (ریال / دلار) قابل تنظیم است. اگر دلار باشد، قیمت ذخیرهشده دلاری است و در فروشگاه/جزئیات/چکاوت فقط معادل ریالی با آخرین نرخ تنانت نشان داده میشود (`formattedPrice` — بدون پرانتز «۱۰ دلار»). تبدیل در cycle pricing هنگام سفارش هم به ریال است.
چاپ فاکتور
`/portal/invoices/{id}/print` — نمایش جمع جزء، مالیات، تخفیف (همیشه ریال)
مودیان
فیلدهای کد اقتصادی و شناسه ملی برای سامانه مودیان؛ جزئیات: [moadian.md](./moadian.md)