Fixing Excel login error

This commit is contained in:
2026-10-03 11:32:37 +03:30
parent 5d5b3a3213
commit 5784b09232
28 changed files with 716 additions and 249 deletions
+41 -17
View File
@@ -2,23 +2,37 @@ import { BadRequestException } from '@nestjs/common';
import ExcelJS from 'exceljs';
export function cellStr(value: ExcelJS.CellValue | undefined): string {
if (value == null) return '';
if (typeof value === 'string' || typeof value === 'number') {
return String(value).trim();
try {
if (value == null) return '';
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
return String(value).trim();
}
if (value instanceof Date) {
return Number.isNaN(value.getTime()) ? '' : value.toISOString();
}
if (typeof value === 'object' && 'richText' in value && Array.isArray(value.richText)) {
return value.richText.map((part) => part?.text ?? '').join('').trim();
}
if (typeof value === 'object' && 'text' in value && typeof value.text === 'string') {
return value.text.trim();
}
if (typeof value === 'object' && 'result' in value && value.result != null) {
const result = value.result;
if (typeof result === 'string' || typeof result === 'number' || typeof result === 'boolean') {
return String(result).trim();
}
if (result instanceof Date) {
return Number.isNaN(result.getTime()) ? '' : result.toISOString();
}
return '';
}
if (typeof value === 'object' && 'error' in value && value.error != null) {
return String(value.error).trim();
}
return '';
} catch {
return '';
}
if (typeof value === 'object' && 'richText' in value && Array.isArray(value.richText)) {
return value.richText.map((part) => part.text).join('').trim();
}
if (typeof value === 'object' && 'text' in value && typeof value.text === 'string') {
return value.text.trim();
}
if (typeof value === 'object' && 'result' in value && value.result != null) {
return String(value.result).trim();
}
if (value instanceof Date) {
return value.toISOString();
}
return String(value).trim();
}
export function normalizeHeader(raw: string) {
@@ -182,7 +196,17 @@ export async function workbookFromUpload(file: Express.Multer.File | undefined)
throw new BadRequestException('فایل اکسل انتخاب نشده است');
}
const wb = new ExcelJS.Workbook();
await wb.xlsx.load(Uint8Array.from(file.buffer) as unknown as ExcelJS.Buffer);
try {
// Pass Node Buffer directly — Uint8Array copies can break ExcelJS on some runtimes.
await wb.xlsx.load(file.buffer as unknown as ExcelJS.Buffer);
} catch (err) {
const detail = err instanceof Error ? err.message : '';
throw new BadRequestException(
detail.includes('central directory') || detail.includes('zip')
? 'فایل اکسل نامعتبر است. فقط فرمت .xlsx پشتیبانی می‌شود (نه .xls یا csv).'
: 'خواندن فایل اکسل ناموفق بود. فایل را با فرمت .xlsx ذخیره کنید و دوباره تلاش کنید.',
);
}
const sheet = wb.worksheets[0];
if (!sheet) throw new BadRequestException('شیت اکسل پیدا نشد');
return sheet;
+17 -4
View File
@@ -1,4 +1,5 @@
import {
BadRequestException,
Body,
Controller,
Delete,
@@ -14,6 +15,7 @@ import {
UseInterceptors,
} from '@nestjs/common';
import { FileInterceptor } from '@nestjs/platform-express';
import { memoryStorage } from 'multer';
import type { Response } from 'express';
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { CurrentUser } from '../auth/current-user.decorator';
@@ -23,6 +25,11 @@ import { CreateCompanyDto, ListQueryDto, UpdateCompanyDto } from './dto';
import { ContactsExcelService } from './contacts-excel.service';
import { brand } from '@mento/shared';
const excelUpload = FileInterceptor('file', {
storage: memoryStorage(),
limits: { fileSize: 15_000_000 },
});
@Controller('companies')
@UseGuards(JwtAuthGuard)
export class CompaniesController {
@@ -57,18 +64,24 @@ export class CompaniesController {
}
@Post('import/preview')
@UseInterceptors(FileInterceptor('file'))
previewImport(@UploadedFile() file: Express.Multer.File) {
@UseInterceptors(excelUpload)
previewImport(@UploadedFile() file?: Express.Multer.File) {
if (!file?.buffer?.length) {
throw new BadRequestException('فایل ارسال نشده');
}
return this.excelService.previewCompanies(file);
}
@Post('import')
@UseInterceptors(FileInterceptor('file'))
@UseInterceptors(excelUpload)
import(
@CurrentUser() user: Actor,
@UploadedFile() file: Express.Multer.File,
@UploadedFile() file?: Express.Multer.File,
@Body('mapping') mapping?: string,
) {
if (!file?.buffer?.length) {
throw new BadRequestException('فایل ارسال نشده');
}
return this.excelService.importCompanies(user, file, mapping);
}
+17 -6
View File
@@ -1,4 +1,5 @@
import {
BadRequestException,
Body,
Controller,
Delete,
@@ -14,6 +15,7 @@ import {
UseInterceptors,
} from '@nestjs/common';
import { FileInterceptor } from '@nestjs/platform-express';
import { memoryStorage } from 'multer';
import type { Response } from 'express';
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { CurrentUser } from '../auth/current-user.decorator';
@@ -25,6 +27,11 @@ import { PeopleService } from './people.service';
import { ContactsExcelService } from './contacts-excel.service';
import { brand } from '@mento/shared';
const excelUpload = FileInterceptor('file', {
storage: memoryStorage(),
limits: { fileSize: 15_000_000 },
});
@Controller('people')
@UseGuards(JwtAuthGuard, OrgModuleGuard)
@RequireOrgModule('customers')
@@ -61,20 +68,24 @@ export class PeopleController {
}
@Post('import/preview')
@UseInterceptors(FileInterceptor('file'))
previewImport(
@UploadedFile() file: Express.Multer.File,
) {
@UseInterceptors(excelUpload)
previewImport(@UploadedFile() file?: Express.Multer.File) {
if (!file?.buffer?.length) {
throw new BadRequestException('فایل ارسال نشده');
}
return this.excelService.previewPeople(file);
}
@Post('import')
@UseInterceptors(FileInterceptor('file'))
@UseInterceptors(excelUpload)
import(
@CurrentUser() user: Actor,
@UploadedFile() file: Express.Multer.File,
@UploadedFile() file?: Express.Multer.File,
@Body('mapping') mapping?: string,
) {
if (!file?.buffer?.length) {
throw new BadRequestException('فایل ارسال نشده');
}
return this.excelService.importPeople(user, file, mapping);
}
+31
View File
@@ -305,6 +305,31 @@ def parse_table(lines: list[str], start: int) -> tuple[list[str], list[list[str]
return header, rows, i
def add_image(doc, path: Path, caption: str = ""):
if not path.exists():
add_quote(doc, f"(عکس پیدا نشد: {path.name})")
return
p = doc.add_paragraph()
set_paragraph_rtl(p, align=WD_ALIGN_PARAGRAPH.CENTER, space_after=4, space_before=8)
run = p.add_run()
# Keep screenshots readable on A4 without overflowing margins.
run.add_picture(str(path), width=Cm(16.5))
if caption:
cap = doc.add_paragraph()
set_paragraph_rtl(cap, align=WD_ALIGN_PARAGRAPH.CENTER, space_after=10)
run = cap.add_run(caption)
set_run_font(run, 11, color=MUTED)
IMG_RE = re.compile(r"^!\[([^\]]*)\]\(([^)]+)\)$")
def resolve_image_path(md_path: Path, rel: str) -> Path:
raw = rel.strip()
candidate = (md_path.parent / raw).resolve()
return candidate
def convert(md_path: Path, docx_path: Path, header_text: str, footer_text: str):
if not md_path.exists():
raise FileNotFoundError(md_path)
@@ -345,6 +370,12 @@ def convert(md_path: Path, docx_path: Path, header_text: str, footer_text: str):
i += 1
continue
img = IMG_RE.match(stripped)
if img:
add_image(doc, resolve_image_path(md_path, img.group(2)), img.group(1).strip())
i += 1
continue
if stripped.startswith("# "):
add_heading(doc, stripped[2:], 1)
i += 1
+144
View File
@@ -0,0 +1,144 @@
# محتوای لندینگ مُنتَکت (Montact CRM)
> **منبع:** داده‌های واقعی از `packages/shared/src/brand.ts`، `packages/shared/src/index.ts` (پلن و ماژول‌ها)، `apps/web/src/lib/nav-hubs.ts`، `docs/قابلیت‌های-منتکت.md`، `docs/راهنما-و-نقشه-راه.md`
> **پنل زنده:** `https://crm.montzar.ir`
> **تاریخ استخراج:** ۱۴۰۴/۰۷/۰۹
---
## ۱) هیرو سکشن
**عنوان (FA):** مُنتَکت
**عنوان (EN):** Montact CRM
**زیرعنوان:** نرم‌افزار مدیریت ارتباط با مشتری
**شرکت:** Mentech
**تیتر پیشنهادی لندینگ:**
CRM فروش و پشتیبانی برای تیم‌های ایرانی — از سرنخ تا فاکتور، در یک پنل.
**متن کوتاه (۲–۳ خط):**
مُنتَکت دفتر کار دیجیتال فروش شماست: مشتری و لید، کاریز معامله، کار روزانه، گفتگو و پشتیبانی، گزارش و اتوماسیون — با تاریخ شمسی، پیامک و رابط موبایل.
**دکمه‌ها:**
| دکمه | مقصد |
|---|---|
| ورود / شروع | `https://crm.montzar.ir` |
| ثبت‌نام سازمان | همان دامنه → ثبت‌نام با OTP موبایل |
**آمار کوتاه (قابل نمایش در هیرو):**
| عدد | معنی |
|---|---|
| ۳۴+ | ماژول/قابلیت قابل فعال‌سازی برای هر سازمان |
| ۴ | نقش تیم: مالک، مدیر، فروش، پشتیبانی |
| ۱۵ روز | دوره دمو رسمی (`trial`) |
---
## ۲) درباره CRM (مُنتَکت چیست؟)
**تعریف یک پارagraph:**
مُنتَکت یک CRM **فروش‌محور و پشتیبانی‌محور** برای کسب‌وکارهای ایرانی است. حلقهٔ اصلی محصول این است:
```text
سرنخ → شخص / شرکت → معامله در کاریز → فعالیت و یادداشت هوشمند → فاکتور و پیش‌فاکتور → پس از فروش (تیکت، پرتال، وفاداری)
```
**برای چه کسب‌وکارهایی مناسب است؟**
فروش B2B/B2C، تیم‌های چندنفره، و کسب‌وکارهایی که به **پیگیری منظم مشتری**، **کاریز فروش** و **پشتیبانی بعد از فروش** نیاز دارند — از جمله حوزه **طلا و جواهر** با اتصال **ته‌حساب**.
**تمایز کلی (یک جمله):**
هویت بصری مستقل، تمرکز روی ثبت سریع اطلاعات (Smart Notes) و دستیار هوشمند روی پرونده مشتری — نه فقط جدول و فرم.
**فاز محصول (از نقشه راه):**
هسته فاز ۱ (فروش، Smart Notes، مالی سبک، پشتیبانی، گزارش، یکپارچگی‌ها) **پیاده‌سازی شده**؛ لندینگ بازاریابی Nuxt عمداً بعد از ثبات محصول آماده می‌شود (`apps/landing` فعلاً خالی است).
---
## ۳) کیفیت و قابلیت‌ها (حداکثر ۱۰ مورد — اولویت بالا)
| # | قابلیت | توضیح یک‌خطی برای لندینگ |
|---|---|---|
| 1 | **کاریز فروش (Kanban)** | معاملات را بین مراحل بکشید؛ چند قیف فروش برای یک سازمان. |
| 2 | **اشخاص و شرکت‌ها** | دفترچه مشتری با جستجو، ضدتکراری، اکسل و فیلد سفارشی. |
| 3 | **مدیریت لیدها** | لید جدا از مشتری؛ ایمپورت اکسل، تخصیص، کاریز لید، تبدیل به مشتری. |
| 4 | **فرم‌ساز سرنخ** | فرم عمومی با لینک، iframe و QR برای جذب سرنخ. |
| 5 | **Smart Notes و Montact Memory** | یادداشت سریع روی پرونده + خلاصه پایدار مشتری با منبع. |
| 6 | **Ask Montact** | پرسش به زبان طبیعی از روی یادداشت‌ها و زمینه پرونده. |
| 7 | **فعالیت و تقویم شمسی** | تماس، جلسه، وظیفه؛ یادآور با اعلان و پیامک. |
| 8 | **پیش‌فاکتور و فاکتور** | پیشنهاد قیمت، صدور فاکتور، پرداخت و اقساط سبک. |
| 9 | **تیکت و پرتال مشتری** | پشتیبانی داخلی + ورود مشتری با OTP در `/p/:slug`. |
| 10 | **اتوماسیون و پیامک گروهی** | قوانین اگر/آنگاه + کمپین پیامک به مخاطبان انتخاب‌شده. |
**یکپارچگی‌های مکمل (برای سکشن فرعی یا accordion، نه لزوماً در ۱۰ تای بالا):** ته‌حساب (طلا و جواهر)، ووکامرس، VoIP و خلاصه تماس با AI، API و وب‌هوک، گفتگو (`conversations`).
---
## ۴) نقاط قوت (حداکثر ۱۰ مورد — اولویت بالا)
| # | نقطه قوت | چرا برای لندینگ مهم است |
|---|---|---|
| 1 | **بومی و فارسی** | RTL، تاریخ جلالی، جداکننده هزارگان مبلغ، OTP/پیامک. |
| 2 | **پرونده یکپارچه مشتری** | شخص/شرکت، معامله، یادداشت، فعالیت و تایم‌لاین در یک جا. |
| 3 | **کم‌کردن اصطکاک ثبت** | Smart Notes شبیه یادداشت سریع؛ کمتر وابسته به فرم‌های سنگین. |
| 4 | **AI عملی، نه نمایشی** | Memory، Ask، پیشنهاد اقدام با تأیید کاربر، Voice-to-Text. |
| 5 | **تیم واقعی فروش/پشتیبانی** | نقش‌ها و محدودیت دید پرونده برای کارشناس vs مدیر. |
| 6 | **چندمحیطی (multi-tenant)** | هر سازمان فضای جدا؛ اشتراک روی مالک حساب. |
| 7 | **ماژولار** | بیش از ۳۰ ماژول — فعال‌سازی متناسب با نیاز سازمان. |
| 8 | **موبایل‌فرندلی** | منوی کشویی و لیست کارت‌محور برای کار میدانی. |
| 9 | **تمایز صنف طلا و جواهر** | اتصال ته‌حساب: مانده، اسناد و ثبت سند از CRM. |
| 10 | **قابل استقرار اختصاصی** | monorepo (Vue + NestJS + PostgreSQL) — مناسب نصب روی سرور خودتان. |
---
## ۵) تعرفه‌ها و قیمت
> **وضعیت در کد:** مدت و سقف محیط برای هر پلن تعریف شده؛ **مبلغ ریالی/تومانی در مخزن ثبت نشده** (فعال‌سازی دستی از پنل `/adm`؛ درگاه پرداخت در فاز بعد).
### پلن‌های اشتراک (از `@mento/shared`)
| کد پلن | نام نمایشی | مدت پیش‌فرض | حداکثر محیط (سازمان) پیش‌فرض |
|---|---|---|---|
| `trial` | دمو ۱۵ روزه | ۱۵ روز | ۱ |
| `monthly` | ماهانه | ۳۰ روز | ۳ |
| `quarterly` | سه‌ماهه | ۹۰ روز | ۵ |
| `semiannual` | شش‌ماهه | ۱۸۰ روز | ۱۰ |
| `yearly` | یکساله | ۳۶۵ روز | ۲۰ |
| `custom` | سفارشی | تاریخ پایان دستی | طبق تنظیم |
### پیشنهاد کپی لندینگ (بدون عدد قیمت)
- **شروع:** «۱۵ روز دمو رایگان» — ثبت‌نام با موبایل و ساخت اولین سازمان.
- **بعد از دمو:** تماس برای پلن ماهانه / فصلی / سالانه و فعال‌سازی ماژول‌ها.
- **CTA:** «قیمت و پکیج ماژول‌ها را بگیرید» → فرم تماس یا واتساپ (خارج از مخزن).
*(وقتی مبلغ نهایی تعیین شد، همین جدول را با ستون «قیمت» تکمیل کنید.)*
---
## ۶) مشتریان من (نمایش روی لندینگ)
> **وضعیت در مخزن:** فهرست، لوگو یا نظر مشتریان واقعی **در پروژه ذخیره نشده** (داده عملیاتی داخل دیتابیس production است، نه در git).
> برای این سکشن باید از تیم فروش/پشتیبانی نام شرکت‌ها، لوگو (با اجازه) و یک جمله نتیجه را جمع کنید.
**الگوی placeholder (تا دیتای واقعی بیاید):**
| نام سازمان | حوزه | یک جمله نتیجه |
|---|---|---|
| *(مثال: فروشگاه …)* | *(مثلاً طلا و جواهر)* | *(مثلاً «پیگیری معاملات و مانده ته‌حساب روی یک پرونده»)* |
| … | … | … |
**آنچه در محصول برای «مشتری نهایی» پشتیبانی می‌شود (برای متن سکشن، نه جایگزین لوگو):**
پرتال OTP، تیکت، FAQ و CSAT — مشتری شما بدون ورود به پنل داخلی با موبایل وارد می‌شود.
---
## منابع برای به‌روزرسانی
| موضوع | فایل |
|---|---|
| برند و شعار | `packages/shared/src/brand.ts` |
| پلن اشتراک | `packages/shared/src/index.ts` → `BILLING_PLAN_*` |
| برچسب ماژول‌ها | `ORG_MODULE_LABELS` در همان فایل |
| توضیح منو/هاب | `apps/web/src/lib/nav-hubs.ts` |
| فهرست کامل قابلیت | `docs/قابلیت‌های-منتکت.md` |
| فلسفه محصول | `docs/راهنما-و-نقشه-راه.md` |
+34
View File
@@ -0,0 +1,34 @@
# راهنمای تصویری مُنتَکت
نسخهٔ کامل متنی:
→ [`../راهنمای-کاربری.md`](../راهنمای-کاربری.md)
نسخهٔ Word:
→ [`../راهنمای-کاربری.docx`](../راهنمای-کاربری.docx)
## فهرست عکس‌ها
| فایل | موضوع |
|---|---|
| `images/01-dashboard-desktop.png` | داشبورد دسکتاپ |
| `images/02-contacts-people.png` | اشخاص |
| `images/03-pipeline-desktop.png` | کاریز فروش |
| `images/04-conversations-desktop.png` | گفتگو |
| `images/05-reports-desktop.png` | گزارش‌ها |
| `images/06-dashboard-mobile.png` | داشبورد موبایل‌وار |
| `images/07-contacts-companies.png` | شرکت‌ها |
| `images/08-leads-list.png` | فهرست لیدها |
| `images/09-leads-board.png` | کاریز لیدها |
| `images/10-activities.png` | میز کار |
| `images/11-calendar.png` | تقویم |
| `images/12-notes.png` | یادداشت‌ها |
| `images/13-tickets.png` | تیکت‌ها |
| `images/14-loyalty.png` | باشگاه مشتریان |
| `images/15-sms-campaigns.png` | پیامک گروهی |
| `images/16-automations.png` | اتوماسیون گردش کار |
| `images/17-message-automations.png` | اتوماسیون پیامک |
| `images/18-settings-team.png` | تنظیمات تیم |
| `images/19-products.png` | محصولات |
| `images/20-projects.png` | کاریز پروژه |
Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.
+432 -222
View File
@@ -1,321 +1,495 @@
# راهنمای کاربری منتکت (Montact CRM)
# راهنمای کامل کاربری مُنتَکت (Montact)
**نسخه راهنما:** هماهنگ با محصول روی `https://crm.montzar.ir` (به‌روز ۱۴ شهریور ۱۴۰۵)
**مخاطب:** همکاران فروش، پشتیبانی و مدیران — با یا بدون تجربه CRM.
اسناد مرتبط: [`قابلیت‌های-منتکت.md`](قابلیت‌های-منتکت.md) · [`وضعیت-پیشرفت.md`](وضعیت-پیشرفت.md)
**مخاطب:** همه همکاران — فروش، پشتیبانی، مدیر و مالک
**زبان:** خیلی ساده، بدون اصطلاح تخصصی
**نسخه:** هماهنگ با پنل روی `https://crm.montzar.ir`
**عکس‌ها:** پوشه [`user-guide/images`](user-guide/images)
---
## فهرست مطالب
## این راهنما چطور خوانده شود؟
1. [این راهنما چیست؟](#این-راهنما-چیست)
2. [منتکت چیست؟](#منتکت-چیست-به-زبان-خیلی-ساده)
3. [آدرس‌ها و حساب‌های دمو](#آدرسها-و-حسابهای-دمو)
4. [شروع خیلی ساده](#شروع-خیلی-ساده-۱۰-دقیقه)
5. [منوی کناری](#منوی-کناری-و-ساختار-صفحه)
6. [ورود، ثبت‌نام، نقش‌ها و تیم](#۱-ورود-ثبتنام-نقشها-و-تیم)
7. [خانه امروز](#۲-خانه-امروز)
8. [اشخاص و شرکت‌ها](#۳-اشخاص-و-شرکتها)
9. [کاریز فروش](#۴-کاریز-فروش-معاملات)
10. [فعالیت‌ها و تقویم](#۵-فعالیتها-و-تقویم)
11. [یادداشت‌های هوشمند](#۶-یادداشتهای-هوشمند-smart-notes)
12. [تایم‌لاین و اعلان‌ها](#۷-تایملین-و-اعلانها)
13. [محصولات و مبلغ‌ها](#۸-محصولات-و-مبلغها)
14. [پیش‌فاکتور و فاکتور](#۹-پیشفاکتور-و-فاکتور)
15. [هدف و گزارش فروش](#۱۰-هدف-و-گزارش-فروش)
16. [تیکت و پرتال مشتری](#۱۱-تیکت-و-پرتال-مشتری)
17. [کاریز پروژه و باشگاه](#۱۲-کاریز-پروژه-و-باشگاه)
18. [اتوماسیون و فرم‌ساز سرنخ](#۱۳-اتوماسیون-و-فرمساز-سرنخ)
19. [تنظیمات سازمان](#۱۴-تنظیمات-سازمان)
20. [ته‌حساب (طلا و جواهر)](#۱۵-تهحساب-طلا-و-جواهر)
21. [کار روی موبایل](#۱۶-کار-روی-موبایل)
22. [سناریوهای روزمره](#۱۷-سناریوهای-روزمره)
23. [مشکلات رایج](#۱۸-مشکلات-رایج)
24. [برای مسئول فنی](#برای-مسئول-فنی-کوتاه)
1. اگر تازه‌واردید: از **ورود** و **منو** شروع کنید.
2. بعد بخش **داشبورد** را کامل بخوانید.
3. بعد از روی منو، یکی‌یکی جلو بروید.
4. در هر بخش، تفاوت **دسکتاپ** و **موبایل** جدا آمده است.
> **دسکتاپ** یعنی کامپیوتر یا لپ‌تاپ با صفحهٔ عریض.
> **موبایل** یعنی گوشی یا صفحهٔ باریک.
---
## این راهنما چیست؟
## فهرست
به زبان ساده می‌گوید منتکت چیست، کجا بروید، چه دکمه‌ای بزنید و نتیجه چه می‌شود.
اگر تازه‌کارید از **شروع خیلی ساده** شروع کنید.
1. [ورود به سیستم](#۱-ورود-به-سیستم)
2. [نمای کلی صفحه (منو و نوار بالا)](#۲-نمای-کلی-صفحه-منو-و-نوار-بالا)
3. [داشبورد](#۳-داشبورد)
4. [مشتریان](#۴-مشتریان)
5. [لیدها](#۵-لیدها)
6. [فروش](#۶-فروش)
7. [کارها و فعالیت‌ها](#۷-کارها-و-فعالیتها)
8. [گفتگو](#۸-گفتگو)
9. [یادداشت‌ها](#۹-یادداشتها)
10. [پشتیبانی](#۱۰-پشتیبانی)
11. [باشگاه مشتریان](#۱۱-باشگاه-مشتریان)
12. [گزارش‌ها](#۱۲-گزارشها)
13. [اتوماسیون و پیامک گروهی](#۱۳-اتوماسیون-و-پیامک-گروهی)
14. [ابزارها](#۱۴-ابزارها)
15. [تنظیمات](#۱۵-تنظیمات)
16. [کار روی موبایل](#۱۶-کار-روی-موبایل)
17. [سناریوهای روزمره](#۱۷-سناریوهای-روزمره)
18. [مشکلات رایج](#۱۸-مشکلات-رایج)
---
## منتکت چیست؟ (به زبان خیلی ساده)
## ۱) ورود به سیستم
منتکت یک **CRM فارسی** است: دفترچه مشتری، تخته فروش، پیگیری، پشتیبانی، فاکتور، پرتال مشتری و (برای طلا و جواهر) اتصال به ته‌حساب — در یک جا.
### دسکتاپ و موبایل (تقریباً یکسان)
| مفهوم | یعنی چه؟ |
|---|---|
| **سازمان** | شرکت شما داخل منتکت |
| **شخص / شرکت** | مخاطب حقیقی یا حقوقی |
| **معامله** | یک فروش احتمالی روی کاریز |
| **فعالیت** | تماس، جلسه، وظیفه |
| **یادداشت** | ثبت سریع حرف‌ها + هوش منتکت |
| **تیکت** | درخواست پشتیبانی |
| **کاریز پروژه** | کارهای داخلی پس‌ازفروش |
| **باشگاه** | امتیاز وفاداری مشتری |
| **اتوماسیون** | اگر اتفاقی افتاد، خودکار کاری انجام شود |
1. آدرس پنل را باز کنید (مثلاً `https://crm.montzar.ir`).
2. **ایمیل یا موبایل** خود را وارد کنید.
3. **رمز عبور** را بزنید.
4. روی **ورود** بزنید.
---
## آدرس‌ها و حساب‌های دمو
| مورد | آدرس |
|---|---|
| پنل اصلی | `https://crm.montzar.ir` |
| پرتال مشتری دمو | `https://crm.montzar.ir/p/demo-mento` |
| سلامت API | `https://crm.montzar.ir/api/health` |
| پنل لوکال | `http://localhost:5173` |
| ایمیل | رمز | نقش |
|---|---|---|
| `owner@demo.local` | `demo1234` | مالک |
| `admin@demo.local` | `demo1234` | مدیر |
| `sales@demo.local` | `demo1234` | فروش |
---
## شروع خیلی ساده (۱۰ دقیقه)
1. آدرس پنل را باز کنید.
2. با `owner@demo.local` / `demo1234` وارد شوید (ورود با **رمز**؛ نیازی به OTP نیست).
3. **اشخاص** را ببینید → یک کارت کاریز را جابه‌جا کنید → یک **فعالیت** و یک **یادداشت** بسازید.
4. زنگ اعلان کنار برند را باز کنید.
5. پایین منو **خروج** را تست کنید.
---
## منوی کناری و ساختار صفحه
منوی سمت راست (دسکتاپ ثابت؛ موبایل با همبرگر).
**اصلی:** خانه · فعالیت‌ها · کاریز فروش · اشخاص · تیکت‌ها · یادداشت‌ها
**فروش و مالی:** پیش‌فاکتور · فاکتور · هدف و پیش‌بینی · گزارشات
**بیشتر:** تقویم · کاریز پروژه · باشگاه مشتریان
**تنظیمات (مالک/مدیر):** تیم · اتوماسیون · فرم‌ساز سرنخ · فیلد سفارشی · محصولات · ارزها · FAQ · ته‌حساب
بالای منو: اعلان‌ها · پایین منو: کارت پروفایل شما + خروج
---
## ۱) ورود، ثبت‌نام، نقش‌ها و تیم
### ورود با رمز (روش اصلی)
1. شناسه را وارد کنید: **ایمیل یا موبایل**.
2. رمز عبور را بزنید.
3. **ورود** — مستقیم وارد پنل می‌شوید (بدون OTP).
### ورود اختیاری با OTP موبایل
اگر روی حساب موبایل ثبت شده باشد، می‌توانید مسیر «ورود با کد» را بزنید، کد پیامکی را وارد کنید و وارد شوید.
روش دیگر (اگر برای حساب شما فعال باشد): **ورود با کد پیامکی** — موبایل را می‌زنید، کد می‌آید، وارد می‌شوید.
### ثبت‌نام سازمان جدید
اگر سازمان هنوز ساخته نشده:
1. **ثبت‌نام** را باز کنید.
2. نام سازمان، حوزه کسب‌وکار، نام خودتان، موبایل (و در صورت فعال بودن ایمیل) را پر کنید.
3. کد OTP موبایل را تأیید کنید و رمز بگذارید.
2. نام سازمان، حوزه کار، نام خودتان و موبایل را پر کنید.
3. کد پیامکی را تأیید کنید و رمز بگذارید.
4. به‌عنوان **مالک** وارد می‌شوید.
### نقش‌ها
### نقش‌ها به زبان ساده
| نقش | پرونده‌ها | تنظیمات | دعوت کاربر |
|---|---|---|---|
| مالک | همه | بله | بله |
| مدیر | همه | بله | بله |
| فروش | معمولاً فقط مال خودش | خیر | خیر |
| پشتیبانی | پرونده/تیکت مرتبط | خیر | خیر |
| نقش | چه می‌بیند؟ | تنظیمات را عوض می‌کند؟ |
|---|---|---|
| مالک | تقریباً همه چیز | بله |
| مدیر | تقریباً همه چیز | بله |
| فروش | معمولاً پرونده‌های خودش | خیر |
| پشتیبانی | تیکت و پرونده‌های مرتبط | خیر |
### تیم
**تنظیمات → تیم و نقش‌ها:** دعوت با ایمیل/نام/رمز اولیه و نقش.
اگر دکمه‌ای را نمی‌بینید، معمولاً به‌خاطر **نقش** یا **ماژول خاموش سازمان** است — از مالک/مدیر بپرسید.
---
## ۲) خانه امروز
## ۲) نمای کلی صفحه (منو و نوار بالا)
بعد از ورود می‌بینید: خلاصه فعالیت‌ها، میانبرها، نمای کاریز/روند فروش، و امکان **پرسیدن از منتکت** (Ask Montact) درباره کار امروز.
![داشبورد دسکتاپ — منو سمت راست و نوار بالا](user-guide/images/01-dashboard-desktop.png)
### دسکتاپ
- **منوی سمت راست:** همه بخش‌ها همین‌جاست. بعضی آیتم‌ها فلش دارند و با کلیک باز می‌شوند (مثل مشتریان، فروش، تنظیمات).
- **نوار بالا:**
- **جستجوی سراسری:** مشتری، معامله و … را سریع پیدا می‌کند.
- **هوش مصنوعی / از مُنتَکت بپرس**
- **اعلان‌ها** (زنگ)
- **تقویم**
- **پیام‌ها / گفتگو**
- وضعیت اشتراک (اگر نمایش داده شود) و تاریخ امروز
- **پایین منو:** عکس و نام شما + دکمهٔ **خروج**
- **دکمهٔ شناور پایین چپ:** ایجاد سریع (شخص، کار، معامله و …)
### موبایل
![نمای موبایل داشبورد](user-guide/images/06-dashboard-mobile.png)
- منوی کناری معمولاً جمع می‌شود؛ با **آیکون منو (همبرگر)** باز می‌شود.
- جستجو و اعلان‌ها در بالای صفحه هستند.
- لیست‌ها بیشتر به‌شکل **کارت** دیده می‌شوند، نه جدول عریض.
---
## ۳) اشخاص و شرکت‌ها
## ۳) داشبورد
1. منو **اشخاص و شرکت‌ها**.
2. تب شخص یا شرکت؛ جستجو و فیلتر (از جمله وضعیت/خلق مشتری).
3. دکمه **+** برای ایجاد.
4. روی ردیف/کارت کلیک کنید تا **پروفایل مشتری** باز شود (خلاصه، تب‌ها، تایم‌لاین، در صورت اتصال: دارایی ته‌حساب).
5. اکسل: خروجی / ورود از اکسل از همان صفحه.
داشبورد صفحهٔ اول بعد از ورود است — خلاصهٔ کار امروز و وضعیت فروش.
**نکته موبایل:** لیست به‌صورت کارت دیده می‌شود؛ جدول مخصوص دسکتاپ است.
![داشبورد کامل](user-guide/images/01-dashboard-desktop.png)
### چه چیزهایی می‌بینید؟
#### الف) نوار خوش‌آمد و هشدارها
- سلام شخصی (مثلاً «ظهر بخیر …»)
- کارت‌های کوتاه هشدار، مثلاً:
- معامله‌ای که امروز باید تماس بگیرید
- پیگیری‌های عقب‌افتاده
- نزدیک بودن به هدف ماه
- با زدن هر کارت، مستقیم به همان موضوع می‌روید.
#### ب) از مُنتَکت بپرس
کادر سؤال در همان بالای داشبورد. مثال سؤال‌ها:
- امروز چند پیگیری دارم؟
- معاملات باز من کدام‌اند؟
- فروش این ماه چقدر بوده؟
روی دسکتاپ میانبر صفحه‌کلید: **Ctrl+K** (در مک: ⌘K).
#### ج) کارت‌های عددی (خلاصه وضعیت)
معمولاً چهار کارت مهم:
1. **فروش این ماه**
2. **مشتریان جدید**
3. **معاملات باز**
4. **پیگیری امروز**
کنار بعضی عددها، درصد تغییر نسبت به دوره قبل هم هست (سبز = رشد، قرمز = کاهش).
#### د) نمودارها و بخش‌های پایین
- **روند فروش:** فروش ماه‌های اخیر
- **منابع مشتریان:** مشتری‌ها از کجا آمده‌اند
- **دستیار هوشمند:** پیشنهاد سؤال و دستورهای سریع (حتی با میکروفون در صورت فعال بودن)
- **فعالیت‌های اخیر**
- **نمای کوچک کاریز فروش**
- **برترین مشتریان**
### دسکتاپ در برابر موبایل
| مورد | دسکتاپ | موبایل |
|---|---|---|
| نمودارها | چندتایی کنار هم | زیر هم، اسکرول عمودی |
| کارت‌های عددی | معمولاً در یک ردیف | زیر هم یا دو‌ستونه |
| منو | همیشه دیده می‌شود | با همبرگر باز می‌شود |
---
## ۴) کاریز فروش (معاملات)
## ۴) مشتریان
1. **کاریز فروش** را باز کنید.
2. کاریز موردنظر را انتخاب کنید (اگر چند تا دارید).
3. معامله جدید بسازید یا کارت را بین ستون‌ها بکشید.
4. با باز کردن معامله: مبلغ، ارز، مسئول، محصولات، منبع، برچسب، یادداشت و فیلد سفارشی را کامل کنید.
5. از معامله می‌توانید پیش‌فاکتور یا فاکتور بسازید.
مسیر: منو → **مشتریان**
مبالغ با **جداکننده هزارگان** نمایش و وارد می‌شوند.
![لیست اشخاص](user-guide/images/02-contacts-people.png)
### اشخاص
- لیست همه مخاطبان حقیقی
- جستجو، مرتب‌سازی، فیلتر
- دکمه‌ها:
- **شخص جدید**
- **خروجی اکسل**
- **ورود از اکسل**
- **از مخاطبین گوشی** (روی موبایل/مرورگر مناسب)
با زدن روی هر شخص، **پروفایل** باز می‌شود:
- اطلاعات تماس
- خلق/وضعیت مشتری
- فعالیت‌ها، یادداشت‌ها، معاملات، فاکتورها
- تایم‌لاین رویدادها
- در صورت اتصال حسابداری: دارایی و اسناد مرتبط
### شرکت‌ها
![لیست شرکت‌ها](user-guide/images/07-contacts-companies.png)
همان منطق برای مشتری حقوقی (سازمان‌ها). تب **شرکت‌ها** را بزنید و با **شرکت جدید** شروع کنید.
### میانبرهای سریع
از خود منوی مشتریان می‌توانید مستقیم **شخص جدید** یا **شرکت جدید** بسازید.
### موبایل
لیست به‌صورت کارت است. برای ساخت شخص جدید همان دکمهٔ سبز/اصلی را بزنید. ذخیره در فرم‌ها اغلب با **تیک بالای صفحه** است.
---
## ۵) فعالیت‌ها و تقویم
## ۵) لیدها
### لیست فعالیت‌ها
مسیر: منو → **لیدها**
لید یعنی **مخاطب بالقوه** قبل از اینکه مشتری کامل شود.
فیلتر امروز / عقب‌افتاده / بعداً / انجام‌شده · جستجو · نوع فعالیت.
فعالیت جدید: عنوان، نوع، موعد (جلالی)، مسئول، اتصال به شخص/معامله.
### فهرست لیدها
![فهرست لیدها](user-guide/images/08-leads-list.png)
### یادآور
- جستجو و فیلتر
- تخصیص به همکار
- ورود از اکسل (اگر دسترسی دارید)
اگر موعد یادآور بگذارید، می‌توانید مشخص کنید اعلان **داخل برنامه** و/یا **پیامک** برود. حداقل یکی باید روشن باشد.
### کاریز لیدها
![کاریز لیدها](user-guide/images/09-leads-board.png)
### تقویم
نمای ستون‌به‌ستون (کانبان). کارت را بین مراحل بکشید تا وضعیت عوض شود.
**تقویم فعالیت‌ها:** نمای ماه شمسی موعدها. ساعت را می‌توانید با صفحهٔ دایره‌ای انتخاب کنید.
### مراحل و وضعیت‌ها (معمولاً فقط مدیر)
تعریف ستون‌های کاریز لید.
### فرم‌ساز سرنخ (معمولاً فقط مدیر)
- لینک عمومی برای جذب سرنخ
- قابل گذاشتن در سایت / QR / iframe
- وقتی کسی فرم را پر کند، سرنخ در سیستم ثبت می‌شود
---
## ۶) یادداشت‌های هوشمند (Smart Notes)
## ۶) فروش
1. **یادداشت‌ها** را باز کنید.
2. نوع یادداشت را انتخاب کنید و متن را بنویسید (یا با دکمه **میکروفون** دیکته کنید).
3. **سطح دسترسی** را تنظیم کنید: تیمی (پیش‌فرض) یا شخصی (فقط شما).
4. به شخص/شرکت/معامله وصل کنید؛ در صورت نیاز پین/برچسب/یادآور.
5. پیشنهاد هوشمند یا Memory را فقط بعد از خواندن و **تأیید** اعمال کنید.
6. از منوی کارت یا دکمهٔ **تاریخچه** در ویرایش، نسخه‌های قبلی را ببینید و در صورت نیاز بازگردانید.
7. از کادر **از منتکت بپرس** سؤال زبان طبیعی بپرسید (مثلاً «آخرین بار درباره قیمت چه گفت؟»).
مسیر: منو → **فروش**
پیوست فایل روی یادداشت از همان فرم قابل افزودن است.
![کاریز فروش](user-guide/images/03-pipeline-desktop.png)
### کاریز فروش
- نمای **کاریز** (ستون‌ها) یا **لیست**
- هر ستون یک مرحله است (مثلاً سرنخ، تماس اول، پیشنهاد، …)
- کارت معامله را بکشید تا مرحله عوض شود
- روی کارت بزنید تا جزئیات باز شود: مبلغ، مسئول، محصولات، یادداشت، …
- از معامله می‌توانید پیش‌فاکتور یا فاکتور بسازید
- خروجی/ورود اکسل و فیلتر ذخیره‌شده هم هست
**موبایل:** ستون‌ها را افقی ورق بزنید. برای کشیدن کارت، صفحهٔ عریض‌تر راحت‌تر است.
### محصولات و خدمات (معمولاً مدیر)
![محصولات و خدمات](user-guide/images/19-products.png)
نام، قیمت، ارز، موجودی مرتبط. خروجی و ورود اکسل هم از همین صفحه است.
### پیش‌فاکتورها
پیشنهاد قیمت برای مشتری — وضعیت، چاپ، تبدیل به فاکتور.
### فاکتورها
صدور فاکتور، ثبت پرداخت، اقساط، چاپ.
### پورسانت
سهم فروشندگان از فاکتورهای صادرشده.
### هدف و پیش‌بینی
هدف فروش دوره را بگذارید و ببینید چقدر جلو رفته‌اید.
---
## ۷) تایم‌لاین و اعلان‌ها
## ۷) کارها و فعالیت‌ها
- روی پرونده شخص/شرکت/معامله، تایم‌لاین رویدادها را می‌بینید.
- زنگ کنار برند: اعلان‌های خوانده/نخوانده (از جمله یادآور فعالیت).
مسیر: منو → **کارها**
عدد روی منو یعنی چند کار باز/مهم دارید.
![میز کار و فعالیت‌ها](user-guide/images/10-activities.png)
### میز کار من
- فیلتر: امروز / عقب‌افتاده / بعداً / انجام‌شده
- نوع کار: تماس، جلسه، وظیفه، یادداشت
- کار جدید: عنوان، موعد (تاریخ شمسی)، مسئول، اتصال به شخص یا معامله
- یادآور: اعلان داخل برنامه و/یا پیامک
### تقویم کارها
![تقویم فعالیت‌ها](user-guide/images/11-calendar.png)
نمای ماه شمسی برای دیدن موعدها. روی هر روز بزنید تا جزئیات همان روز را ببینید یا فعالیت جدید بسازید.
### موبایل
لیست کارها کارت‌مانند است. ساعت را معمولاً با انتخابگر لمسی می‌گذارید.
---
## ۸) محصولات و مبلغ‌ها
## ۸) گفتگو
**تنظیمات → محصولات:** نام، قیمت واحد، ارز.
روی معامله/پیش‌فاکتور/فاکتور ردیف اضافه کنید؛ جمع خودکار محاسبه می‌شود.
در همه فیلدهای قیمت، اعداد سه‌رقم‌سه‌رقم جدا می‌شوند.
مسیر: منو → **گفتگو**
چت داخلی تیم — بدون نیاز به پیام‌رسان بیرونی.
![صفحه گفتگو](user-guide/images/04-conversations-desktop.png)
### چه کارهایی می‌توانید بکنید؟
#### انواع گفتگو
- **خصوصی:** یک‌به‌یک با همکار
- **گروه:** چند نفر
- **کانال:** اطلاع‌رسانی؛ معمولاً فقط مدیر پیام می‌فرستد
#### فهرست گفتگوها
- جستجو
- تب همه / خصوصی / گروه / کانال
- سنجاق کردن گفتگوی مهم
- بی‌صدا کردن (منشن معمولاً مستثنی است)
#### داخل گفتگو
- متن، عکس، ویدیو، صوت، فایل (تا حدود ۱۰۰ مگابایت)
- ضبط صدا
- ایموجی، پررنگ، ایتالیک، لیست
- لینک مستقیم به شخص / معامله / تیکت
- پاسخ، ویرایش، حذف، ارسال برای دیگری
- سنجاق پیام، واکنش (ایموجی روی پیام)
- منشن با `@`
- تبدیل پیام به فعالیت
- جستجو داخل همان گفتگو
- دستیار هوشمند داخل چت (پرسش از مُنتَکت و درج پاسخ در پیام)
- وضعیت «در حال نوشتن…» و خوانده‌شدن پیام
### دسکتاپ در برابر موبایل
| مورد | دسکتاپ | موبایل |
|---|---|---|
| چیدمان | لیست + پنجره پیام کنار هم | اول لیست، بعد ورود به گفتگو تمام‌صفحه |
| منوی پیام | راست‌کلیک | لمس طولانی روی پیام |
| پیش‌نمایش عکس | کلیک | تمام‌صفحه |
---
## ۹) پیش‌فاکتور و فاکتور
## ۹) یادداشت‌ها
### پیش‌فاکتور
مسیر: منو → **یادداشت‌ها**
لیست با فیلتر وضعیت · فرم با ردیف و چاپ · صدور از معامله · تبدیل به فاکتور.
![یادداشت‌های هوشمند](user-guide/images/12-notes.png)
### فاکتور
1. نوع یادداشت را انتخاب کنید.
2. متن را بنویسید یا با **میکروفون** دیکته کنید.
3. سطح دسترسی: تیمی یا شخصی.
4. به شخص / شرکت / معامله وصل کنید.
5. در صورت نیاز: پین، برچسب، یادآور، پیوست فایل.
6. پیشنهادهای هوشمند را فقط بعد از خواندن و **تأیید** اعمال کنید.
7. از کادر «از مُنتَکت بپرس» درباره پرونده سؤال کنید.
صدور، وضعیت، چاپ · ثبت پرداخت · برنامه اقساط (۲ قسط / ۳ قسط / دستی).
تاریخچه نسخه‌های قبلی یادداشت هم قابل مشاهده و بازگردانی است.
---
## ۱۰) هدف و گزارش فروش
## ۱۰) پشتیبانی
- **هدف و پیش‌بینی:** تارگت دوره و پیگیری تحقق.
- **گزارشات:** داشبورد فروش، قیف، فعالیت، تیم و تیکت با فیلتر تاریخ.
مسیر: منو → **پشتیبانی** → **تیکت‌ها**
---
![تیکت‌های پشتیبانی](user-guide/images/13-tickets.png)
## ۱۱) تیکت و پرتال مشتری
### تیکت داخل پنل
ثبت موضوع، اولویت، مسئول · گفتگو · FAQ پیشنهادی · فیلتر تأخیر SLA · بعد از حل: CSAT.
- تیکت جدید: موضوع، اولویت، مسئول
- گفتگو با مشتری داخل تیکت
- پیشنهاد از FAQ
- فیلتر تأخیر پاسخ
- بعد از حل: رضایت مشتری (در صورت فعال بودن)
### پرتال مشتری
آدرس شبیه `https://crm.montzar.ir/p/نام-سازمان`.
مشتری موبایلی را وارد می‌کند که روی **شخص** ثبت شده، OTP پیامکی می‌گیرد و تیکت/FAQ را می‌بیند.
مشتری با لینک شبیه `https://crm.montzar.ir/p/نام-سازمان` وارد می‌شود، با موبایل کد می‌گیرد و تیکت/FAQ را می‌بیند. موبایل باید روی پروندهٔ شخص ثبت شده باشد.
---
## ۱۲) کاریز پروژه و باشگاه
## ۱۱) باشگاه مشتریان
- **کاریز پروژه:** کارهای داخلی جدا از فروش (کشیدن کارت بین مراحل).
- **باشگاه مشتریان:** امتیاز و سطح روی شخص؛ تعدیل دستی برای مدیر؛ امتیاز خودکار از اتوماسیون ممکن است.
مسیر: منو → **باشگاه مشتریان**
![باشگاه مشتریان](user-guide/images/14-loyalty.png)
- امتیاز و سطح وفاداری روی شخص
- مدیر می‌تواند امتیاز را دستی کم/زیاد کند
- بعضی قوانین اتوماسیون می‌توانند خودکار امتیاز بدهند
- از **تنظیمات باشگاه** سطوح (مثل نقره‌ای/طلایی) را مدیریت کنید
---
## ۱۳) اتوماسیون و فرم‌ساز سرنخ
## ۱۲) گزارش‌ها
### اتوماسیون
مسیر: منو → **گزارش‌ها**
**تنظیمات → اتوماسیون:** اگر معامله برنده شد / تیکت حل شد → ساخت فعالیت، اعلان، یا امتیاز باشگاه.
![گزارش‌ها و داشبورد تحلیلی](user-guide/images/05-reports-desktop.png)
### فرم‌ساز سرنخ
### داشبورد گزارش
- بازه زمانی: امروز / هفته / ماه / سه‌ماهه / سال یا تاریخ دلخواه
- کارت‌هایی مثل: مشتریان جدید، تعداد فاکتور، مبلغ فروش، میانگین‌ها
- مقایسه با دوره قبل
- قیف تبدیل مراحل کاریز
- نمودارها و جداول فروش، منابع، فعالیت، تیم، تیکت
- خروجی اکسل/CSV
- ذخیره نما و کپی لینک اشتراک (اگر فعال باشد)
**تنظیمات → فرم‌ساز سرنخ:** لینک عمومی، iframe، QR · ثبت شخص+معامله · توزیع نوبتی بین تیم.
### گزارش‌ساز
گزارش سادهٔ خودتان را با انتخاب موضوع و فیلتر می‌سازید.
### موبایل
کارت‌ها و نمودارها زیر هم می‌آیند؛ برای جدول‌های عریض صفحه را افقی کنید یا از دسکتاپ استفاده کنید.
---
## ۱۴) تنظیمات سازمان
## ۱۳) اتوماسیون و پیامک گروهی
فقط مالک/مدیر:
مسیر: منو → **اتوماسیون** (معمولاً مدیر/مالک)
| بخش | کار |
### اتوماسیون گردش کار
![اتوماسیون گردش کار](user-guide/images/16-automations.png)
قانون «اگر این شد → آن کار انجام شود».
مثال: معامله برنده شد → فعالیت پیگیری ساخته شود یا اعلان برود.
یک محرک مهم جدید: **کلیک روی لینک پیامک**.
### اتوماسیون پیامک‌ها
![اتوماسیون پیامک‌ها](user-guide/images/17-message-automations.png)
پیامک یا اعلان با تأخیر و تکرار.
مثال: اگر روی لینک پیامک کلیک شد → یک روز بعد پیامک دوم برود.
### پیامک گروهی
![پیامک گروهی](user-guide/images/15-sms-campaigns.png)
1. نام کمپین و متن را بنویسید.
2. مخاطبان را انتخاب کنید.
3. ارسال فوری یا پیش‌نویس/صف.
4. اگر داخل متن **لینک** باشد، برای هر نفر لینک اختصاصی ساخته می‌شود.
5. از دکمهٔ **گزارش** ببینید چند نفر ارسال شدند، چند نفر کلیک کردند و چه کسانی کلیک کردند.
> کلیک روی لینک ردیابی برای مخاطب نامرئی است؛ او مستقیم به صفحهٔ اصلی می‌رود، ولی سیستم کلیک را ثبت می‌کند.
---
## ۱۴) ابزارها
مسیر: منو → **ابزارها**
![کاریز پروژه](user-guide/images/20-projects.png)
| بخش | کار ساده |
|---|---|
| تیم و نقش‌ها | کاربران |
| فیلدهای سفارشی | فیلد اضافه |
| محصولات | کاتالوگ |
| ارزها | ارز پایه و نرخ |
| FAQ | مقالات پشتیبانی |
| اتوماسیون | قوانین |
| فرم‌ساز سرنخ | جذب سرنخ |
| ته‌حساب | اتصال حسابداری طلا |
| کاریز پروژه | کارهای داخلی تیم بعد از فروش (ستون‌ها و کارت‌ها) |
| انبار | موجودی کالا و جابه‌جایی داخلی |
| چک‌ها | چک دریافتی و پرداختی + یادآوری |
| رزرو و نوبت‌دهی | خدمات، زمان آزاد، ثبت نوبت مشتری |
| پیوست‌ها | فایل‌های وصل‌شده به یادداشت‌ها |
---
## ۱۵) ته‌حساب (طلا و جواهر)
## ۱۵) تنظیمات
برای سازمان‌هایی که حوزه طلا/جواهر دارند (یا اتصال حسابداری می‌خواهند):
مسیر: منو → **تنظیمات** (معمولاً مالک/مدیر)
1. **تنظیمات → ته‌حساب:** اتصال (آدرس، توکن، نام DB) بسازید و تست کنید. می‌توانید چند اتصال داشته باشید.
2. در **پروفایل شخص → دارایی:** تطبیق خودکار/دستی با کد مشتری ته‌حساب، یا ثبت مشتری جدید در ته‌حساب.
3. مانده و اسناد را ببینید؛ در صورت نیاز **ثبت سند** (خرید/فروش، طلب/بدهی، بانک و …) از همین تب.
![تنظیمات تیم و کاربران](user-guide/images/18-settings-team.png)
جزئیات فنی: [`integrations/tahesab.md`](integrations/tahesab.md)
| بخش | یعنی چه؟ |
|---|---|
| تنظیمات عمومی | نام سازمان و تنظیمات پایه |
| تیم و نقش‌ها | دعوت همکار، نقش، دسترسی |
| تیم‌ها و سطح دسترسی به پرونده‌ها | چه کسی کدام پرونده‌ها را ببیند |
| لاگ فعالیت کاربران | تاریخچه ایجاد/ویرایش/حذف |
| API و وب‌هوک | اتصال سیستم‌های بیرونی |
| فیلدهای سفارشی | فیلد اضافه روی پرونده‌ها |
| ارزها | ارز پایه و نرخ |
| ته‌حساب | اتصال حسابداری (مخصوص طلا و جواهر و مشابه) |
| ووکامرس | سفارش فروشگاه → مشتری و فاکتور |
| تلفن سازمانی | ثبت تماس سانترال و اعلان ورودی |
| FAQ | پرسش‌های پرتکرار پشتیبانی |
اگر آیتمی در منو نیست، یا نقش شما اجازه ندارد یا آن ماژول برای سازمان خاموش است.
---
## ۱۶) کار روی موبایل
- منوی کشویی از همبرگر
- لیست‌ها به‌صورت کارت؛ کاریز را افقی ورق بزنید
- در فرم‌ها دکمه ذخیره بالای موبایل (آیکون تیک) را پیدا کنید
- برای کشیدن کارت کاریز، صفحهٔ عریض‌تر راحت‌تر است
![نمونه داشبورد روی صفحه باریک](user-guide/images/06-dashboard-mobile.png)
### نکات مهم موبایل
1. منو را با آیکون همبرگر باز کنید.
2. لیست‌ها کارت‌مانند هستند؛ برای دیدن جزئیات روی کارت بزنید.
3. در فرم‌ها دکمهٔ ذخیره اغلب **بالا** و با آیکون تیک است.
4. کاریز فروش/لید را افقی ورق بزنید.
5. در گفتگو: لمس طولانی روی پیام = منوی کارها.
6. برای گزارش‌های شلوغ و اکسل، دسکتاپ راحت‌تر است.
7. ورود از مخاطبین گوشی در صفحه اشخاص در دسترس است.
---
## ۱۷) سناریوهای روزمره
### کارشناس فروش
سرنخ (فرم یا دستی) → معامله روی کاریز → فعالیت و یادداشت → پیش‌فاکتور → فاکتور → برنده → کارت در کاریز پروژه.
1. لید جدید (دستی یا از فرم سایت)
2. تبدیل/ساخت معامله روی کاریز
3. ثبت تماس و یادداشت
4. پیش‌فاکتور → فاکتور
5. بردن معامله به مرحله برنده
6. در صورت نیاز کارت در کاریز پروژه
### پشتیبانی
تیکت / پرتال → FAQ → پاسخ → تغییر وضعیت → CSAT → (اتوماسیون) امتیاز باشگاه.
1. تیکت جدید یا پیام از پرتال
2. پاسخ + FAQ
3. حل تیکت و ثبت رضایت
### مدیر
خانه و گزارشات → هدف ماه → معاملات راکد → تیکت‌های تأخیر SLA → مرور اتوماسیون و فرم سرنخ.
1. داشبورد و گزارش ماه
2. پیگیری معاملات راکد و کارهای عقب‌افتاده
3. بررسی گزارش پیامک گروهی و کلیک‌ها
4. تنظیم اتوماسیون و تیم
---
@@ -323,24 +497,60 @@
| مشکل | کار ساده |
|---|---|
| ورود ناموفق | ایمیل/موبایل و رمز؛ وضعیت API؛ Ctrl+F5 |
| OTP ثبت‌نام/پرتال نمی‌رسد | موبایل درست؟ تنظیمات SMS سرور؟ |
| رکورد «پیدا نشد» | نقش شما فروش است و مالک پرونده دیگری است |
| منوی تنظیمات نیست | نقش مالک/مدیر نیست |
| مبلغ عجیب در کاریز | ارز معامله و نرخ در تنظیمات ارزها |
| ته‌حساب وصل نمی‌شود | توکن/DB/آدرس؛ تست اتصال در تنظیمات |
| صفحه سفید بعد از آپدیت | Ctrl+F5 |
| وارد نمی‌شوم | ایمیل/موبایل و رمز را چک کنید؛ یک‌بار صفحه را سخت‌تازه‌سازی کنید (Ctrl+F5) |
| کد پیامک نمی‌آید | موبایل درست است؟ از مدیر بخواهید تنظیم پیامک سرور را چک کند |
| فلان منو را نمی‌بینم | نقش شما یا ماژول سازمان اجازه نمی‌دهد |
| پرونده پیدا نمی‌شود | ممکن است مال همکار دیگری باشد و دسترسی‌تان محدود باشد |
| مبلغ عجیب است | ارز معامله و نرخ ارز در تنظیمات را چک کنید |
| بعد از آپدیت صفحه سفید | Ctrl+F5 یا کش مرورگر |
---
## برای مسئول فنی (کوتاه)
## جمع‌بندی یک‌خطی
| مورد | مقدار |
مُنتَکت دفتر کار دیجیتال تیم شماست: مشتری و لید را نگه می‌دارد، فروش را روی کاریز جلو می‌برد، کار و گفتگو و پشتیبانی را یک‌جا می‌کند، و با گزارش و اتوماسیون به مدیر نشان می‌دهد واقعاً چه خبر است — هم روی کامپیوتر، هم روی گوشی.
---
## پیوست: نقشهٔ منو (برای چاپ روی میز)
```
داشبورد
مشتریان → اشخاص / شرکت‌ها
لیدها → فهرست / کاریز / مراحل / فرم‌ساز
فروش → کاریز / محصولات / فاکتور / پیش‌فاکتور / پورسانت / هدف
کارها → میز کار / تقویم
گفتگو
یادداشت‌ها
پشتیبانی → تیکت‌ها
باشگاه مشتریان
گزارش‌ها
اتوماسیون → گردش کار / پیامک خودکار / پیامک گروهی
ابزارها → پروژه / انبار / چک / نوبت / پیوست
تنظیمات → تیم / دسترسی / فیلد / ارز / اتصالات / FAQ
```
عکس‌های راهنما در مسیر `docs/user-guide/images/`:
| فایل | موضوع |
|---|---|
| ریپو | `http://get.feep.ir/Mahdi/CRM_Montzar.git` |
| مسیر سرور | `/var/www/crm` |
| دامنه | `https://crm.montzar.ir` |
| API PM2 | `mento-crm-api` |
| راهنمای استقرار | [`deploy/DEPLOY.md`](../deploy/DEPLOY.md) |
برای بازتولید Word/PDF راهنما از همین Markdown، مثل قبل از ابزار تبدیل داخلی پروژه استفاده کنید (در صورت وجود اسکریپت تولید در `docs/`).
| `01-dashboard-desktop.png` | داشبورد دسکتاپ |
| `02-contacts-people.png` | اشخاص |
| `03-pipeline-desktop.png` | کاریز فروش |
| `04-conversations-desktop.png` | گفتگو |
| `05-reports-desktop.png` | گزارش‌ها |
| `06-dashboard-mobile.png` | داشبورد موبایل‌وار |
| `07-contacts-companies.png` | شرکت‌ها |
| `08-leads-list.png` | فهرست لیدها |
| `09-leads-board.png` | کاریز لیدها |
| `10-activities.png` | میز کار و فعالیت‌ها |
| `11-calendar.png` | تقویم فعالیت‌ها |
| `12-notes.png` | یادداشت‌ها |
| `13-tickets.png` | تیکت‌ها |
| `14-loyalty.png` | باشگاه مشتریان |
| `15-sms-campaigns.png` | پیامک گروهی |
| `16-automations.png` | اتوماسیون گردش کار |
| `17-message-automations.png` | اتوماسیون پیامک |
| `18-settings-team.png` | تنظیمات تیم و کاربران |
| `19-products.png` | محصولات |
| `20-projects.png` | کاریز پروژه |