Главная
На согласовании
{{ stats.pending }}
Согласовано
{{ stats.approved }}
Оплачено
{{ stats.paid }}
Отклонено
{{ stats.rejected }}
Ждёт закр. документы
{{ waitingClosingPayments.length }}
Требуют согласования
{{ pendingPayments.length }}{{ p.title }}
{{ p.recipient_name || '—' }} · {{ p.created_by_user?.full_name }}
{{ fmtMoney(p.amount) }}
{{ typeLabel(p.payment_type) }}Предстоящие платежи
{{ p.title }}
{{ p.recipient_name || '—' }}
{{ fmtMoney(p.amount) }}
{{ fmtDate(p.due_date) }}
Ждут закрывающие документы
Оплаченные платежи без закрывающих документов
{{ p.title }}
{{ p.recipient_name || '—' }} · {{ p.created_by_user?.full_name }}
{{ fmtMoney(p.amount) }}
📨 Запрошены ⚠ Не запрошеныПодотчёт
{{ fmtMoney(advanceStats.total_outstanding) }}
Общий долг
{{ advanceStats.open_count }}
Открытых авансов
{{ advanceStats.overdue_count }}
Просрочено
Просроченные:
Вам выданы деньги под отчёт
{{ fmtMoney(a.amount) }}
{{ a.purpose }}
Срок отчёта: {{ fmtDate(a.deadline) }}
{{ isAdmin ? 'Все платежи' : 'Мои платежи' }}
| Платёж | Получатель | Тип | Категория | Сумма | Срок | Статус | Загрузил |
|---|---|---|---|---|---|---|---|
|
{{ p.title }} #{{ p.id }} |
{{ p.recipient_name || '—' }} зарплата |
{{ typeLabel(p.payment_type) }} | {{ p.category?.name || '—' }} | {{ fmtMoney(p.amount) }} | {{ p.due_date ? fmtDate(p.due_date) : '—' }} | {{ statusLabel(p.status) }} ⚠ Нет закр. документов |
{{ p.created_by_user?.full_name }} ☎ {{ p.created_by_user.short_number }} |
На оплату
Согласованные платежи — загрузите платёжное поручение и отметьте оплаченными
| Платёж | Получатель | Тип | Сумма | Срок | Загрузил |
|---|---|---|---|---|---|
|
{{ p.title }} #{{ p.id }} |
{{ p.recipient_name || '—' }} | {{ typeLabel(p.payment_type) }} | {{ fmtMoney(p.amount) }} | {{ fmtDate(p.due_date) }}— |
{{ p.created_by_user?.full_name }} ☎ {{ p.created_by_user.short_number }} |
Все операции
Оплаченные платежи — для отчётности и учёта
| Платёж | Получатель | Тип | Категория | Сумма | Дата оплаты |
|---|---|---|---|---|---|
|
{{ p.title }} #{{ p.id }} ⚠ Нет закр. документов |
{{ p.recipient_name || '—' }} | {{ typeLabel(p.payment_type) }} | {{ p.category?.name || '—' }} | {{ fmtMoney(p.amount) }} | {{ p.paid_at ? fmtDate(p.paid_at) : '—' }} |
Новый платёж
{{ newFile ? newFile.name : 'Нажмите или перетащите файл' }}
PDF, JPG, PNG до 20MB
Отчёты
Экспорт CSVОплачено всего
{{ fmtMoney(report.total_paid) }}
Ожидает оплаты
{{ fmtMoney(report.total_approved) }}
На согласовании
{{ fmtMoney(report.total_pending) }}
По категориям
{{ fmtMoney(item.total) }}
По типу платежей
{{ item.label }}
{{ item.count }} платежей
{{ fmtMoney(item.total) }}
Топ получателей
| Получатель | Платежей | Сумма |
|---|---|---|
| {{ item.label }} | {{ item.count }} | {{ fmtMoney(item.total) }} |
Категории
Сотрудники
| Сотрудник | Роль | Telegram | Статус | Действия |
|---|---|---|---|---|
|
{{ u.full_name.charAt(0) }}
{{ u.full_name }}
{{ u.username }}
{{ u.short_number }}
₿
|
{{ u.role==='admin' ? 'Администратор' : u.role==='accountant' ? 'Бухгалтер' : u.role==='user' ? 'Пользователь' : 'Сотрудник' }} | ✓ {{ u.telegram_id }} — | {{ u.is_active ? 'Активен' : 'Заблокирован' }} |
Профиль
{{ user?.full_name }}
@{{ user?.username }}
{{ user?.role==='admin' ? 'Администратор' : user?.role==='accountant' ? 'Бухгалтер' : user?.role==='user' ? 'Пользователь' : 'Сотрудник' }}Telegram
{{ user.telegram_username ? '@'+user.telegram_username : 'Подключён' }}
Подключите Telegram для получения уведомлений и подтверждения входа.
Отправьте боту команду:
/connect {{ connectCode }}
Код действителен 30 минут
Сменить пароль
Календарь платежей
Платежи по датам оплаты
{{ calMonthLabel }}
{{ hoveredDay.date.toLocaleDateString('ru-RU', {day:'numeric', month:'long'}) }}
{{ calendarSelected.toLocaleDateString('ru-RU', {day:'numeric', month:'long', year:'numeric'}) }}
{{ p.title }}
{{ typeLabel(p.payment_type) }}{{ p.recipient_name ? ' · ' + p.recipient_name : '' }}
Регулярные платежи
Автоматическое создание платежей по расписанию
{{ r.title }}
Пауза {{ recurringFreqLabel(r.frequency) }} · {{ recurringDayLabel(r) }}👥 Зарплата ({{ recurringEmployees.filter(e=>e.is_active).length }} чел. · {{ fmtMoney(recurringEmployees.filter(e=>e.is_active).reduce((s,e)=>s+e.amount,0)) }}) 💰 {{ fmtMoney(r.amount) }}{{ r.recipient_name ? ' · ' + r.recipient_name : '' }}
Следующий запуск: {{ r.next_run_at ? fmtDate(r.next_run_at) : '—' }} · Напомнить за {{ r.remind_days_before }} дн. · Последний: {{ fmtDate(r.last_triggered_at) }}
Итого активных: {{ fmtMoney(recurringEmployees.filter(e=>e.is_active).reduce((s,e)=>s+e.amount,0)) }}
| ФИО | Сумма | Тип | Статус | |
|---|---|---|---|---|
| {{ e.full_name }}{{ e.notes }} | {{ fmtMoney(e.amount) }} | {{ typeLabel(e.payment_type) }} | {{ e.is_active ? 'Активен' : 'Неактивен' }} |
|
Отклонённые платежи
Платежи, которые были отклонены
Отклонённых платежей нет
| Платёж | Сумма |
|---|---|
|
{{ p.title }} {{ typeLabel(p.payment_type) }}{{ p.recipient_name ? ' · ' + p.recipient_name : '' }} |
{{ fmtMoney(p.amount) }} |
{{ advanceWeeklyBanner.title }}
{{ advanceWeeklyBanner.text }}
Подотчёт
Общий долг
{{ fmtMoney(advanceStats.total_outstanding) }}
Открытых
{{ advanceStats.open_count }}
Просрочено
{{ advanceStats.overdue_count }}
Ждут проверки
{{ advances.filter(a => a.status === 'reported').length }}
{{ a.purpose }}
Выдано
{{ fmtMoney(a.amount) }}
Потрачено
{{ fmtMoney(a.spent_amount || 0) }}
Остаток
{{ fmtMoney(a.amount - (a.spent_amount||0)) }}
| Сотрудник | Назначение | Выдано | Потрачено | Остаток | Срок | Статус |
|---|---|---|---|---|---|---|
|
{{ a.employee?.full_name }} #{{ a.id }} |
{{ a.purpose }} | {{ fmtMoney(a.amount) }} | {{ a.spent_amount != null ? fmtMoney(a.spent_amount) : '—' }} | {{ fmtMoney(a.amount - a.spent_amount) }} — | {{ fmtDate(a.deadline) }} | {{ advanceStatusLabel(a.status) }} |
{{ a.purpose }}
#{{ a.id }} · {{ fmtDate(a.created_at) }}
{{ fmtMoney(a.amount) }}
{{ advanceStatusLabel(a.status) }}⚠️ Нужно отчитаться за полученные деньги
Сдать отчёт →