ERP Капитал

Требуется авторизация

{{ loginError }}

{{ currentTabName }}

{{ currentUser?.username || 'Загрузка...' }}
Текущее время
{{ currentTime }}

Общий баланс счетов

{{ formatCurrency(dashboard.total_balance_rub) }} ₽

Тело ваших кредитов

{{ formatCurrency(dashboard.upcoming_payments_to_others) }} ₽

Объем плана по графикам

{{ formatCurrency(dashboard.total_calendar_sum) }} ₽

{{ dashboardPeriodLabel }}
{{ day.dayName }} {{ day.dayNum }}
{{ pay.debtData?.contractor_name || pay.creditor_name.split(' | ')[0] }}
{{ pay.debtData ? (pay.debtData.actual_creditor_name || 'Не указано') + ' → ' + (pay.debtData.actual_borrower_name || 'Не указано') : pay.creditor_name.split(' | ')[0] }}
{{ pay.debtData?.obligation_name || (pay.creditor_name.includes(' | ') ? pay.creditor_name.split(' | ')[1] : '') }}
{{ formatCurrency(pay.cellData.amount !== undefined ? pay.cellData.amount : pay.regular_payment) }} ₽
План чист
Пн
Вт
Ср
Чт
Пт
Сб
Вс
{{ day.dayNum }}
{{ pay.debtData?.contractor_name || pay.creditor_name.split(' | ')[0] }} ({{ formatCurrency(pay.cellData.amount !== undefined ? pay.cellData.amount : pay.regular_payment) }} ₽) {{ pay.debtData ? (pay.debtData.actual_creditor_name || 'Не указано') + ' → ' + (pay.debtData.actual_borrower_name || 'Не указано') : pay.creditor_name.split(' | ')[0] }} ({{ formatCurrency(pay.cellData.amount !== undefined ? pay.cellData.amount : pay.regular_payment) }} ₽)

История и график платежей

{{ monthNamesFull[pay.month - 1] }} {{ pay.year }} {{ getPaymentStatusLabel(pay.status) }}
{{ formatCurrency(pay.amount !== undefined ? pay.amount : debt.regular_payment) }} ₽
{{ pay.paid_info }}

Всего в работе (Номинал)

{{ formatCurrency(totalDebtsInitial) }} ₽

Остаток тела долгов

{{ formatCurrency(totalDebtsRemaining) }} ₽

Сумма по графику (Итог)

{{ formatCurrency(totalDebtsCalculated) }} ₽

Общая просрочка

{{ formatCurrency(totalDebtsArrears) }} ₽

Пн
Вт
Ср
Чт
Пт
Сб
Вс
{{ day.dayNum }}
{{ pay.debtData?.contractor_name || pay.creditor_name.split(' | ')[0] }} ({{ formatCurrency(pay.cellData.amount !== undefined ? pay.cellData.amount : pay.regular_payment) }} ₽) {{ pay.debtData ? (pay.debtData.actual_creditor_name || 'Не указано') + ' → ' + (pay.debtData.actual_borrower_name || 'Не указано') : pay.creditor_name.split(' | ')[0] }} ({{ formatCurrency(pay.cellData.amount !== undefined ? pay.cellData.amount : pay.regular_payment) }} ₽)
Разовый Рассрочка Только % Кредит {{ debt.contractor_name || debt.creditor_name.split(' | ')[0] }} {{ debt.actual_creditor_name || 'Не указано' }} {{ debt.actual_borrower_name || 'Не указано' }}
{{ debt.obligation_name || (debt.creditor_name.includes(' | ') ? debt.creditor_name.split(' | ')[1] : '') }}
Пл: {{ formatCurrency(debt.regular_payment) }} ₽ {{ getDay(['one_time_credit', 'one_time_loan'].includes(debt.debt_type) ? debt.last_payment_date : debt.first_payment_date) }} числа
{{ formatCurrency(cell.amount !== undefined ? cell.amount : debt.regular_payment) }}
{{ monthNamesFull[selectedMonth] }} {{ formatCurrency(debt.full_schedule[selectedYear][selectedMonth].amount !== undefined ? debt.full_schedule[selectedYear][selectedMonth].amount : debt.regular_payment) }} ₽
Изначально:{{ formatCurrency(debt.total_amount) }} ₽
Остаток тела:{{ formatCurrency(debt.remaining_balance) }} ₽
Комментарий

{{ debt.comments || '—' }}

Реквизиты{{ debt.payment_details || '—' }}

Прикрепленные документы / Расписки

Общий баланс активов
{{ formatCurrency(dashboard.total_balance_rub) }} ₽
Дата
{{ acc.name }}
{{ acc.account_type }}
{{ formatCurrency(acc.balance) }} ₽
{{ formatDateLedger(row.date) }}
{{ tx.amount > 0 ? '+' : '' }}{{ formatCurrency(tx.amount) }} {{ tx.category }}
⚠ Ждет руководителя
→ {{ tx.sub_category }}
{{ tx.description }}

📋 Системный журнал действий (Аудит)

[{{ formatLogTime(log.timestamp) }}] 👤 {{ log.user_name }} {{ log.description }}

Всего выдано (Номинал)

{{ formatCurrency(totalDebtorsInitial) }} ₽

Остаток нам должны

{{ formatCurrency(totalDebtorsRemaining) }} ₽

Ожидаем по графику

{{ formatCurrency(totalDebtorsCalculated) }} ₽

Просрочено нам

{{ formatCurrency(totalDebtorsArrears) }} ₽

Пн
Вт
Ср
Чт
Пт
Сб
Вс
{{ day.dayNum }}
{{ pay.debtData?.contractor_name || pay.creditor_name.split(' | ')[0] }} ({{ formatCurrency(pay.cellData.amount !== undefined ? pay.cellData.amount : pay.regular_payment) }} ₽) {{ pay.debtData ? (pay.debtData.actual_creditor_name || 'Не указано') + ' → ' + (pay.debtData.actual_borrower_name || 'Не указано') : pay.creditor_name.split(' | ')[0] }} ({{ formatCurrency(pay.cellData.amount !== undefined ? pay.cellData.amount : pay.regular_payment) }} ₽)
Только % Рассрочка На паузе Разовый Займ {{ debt.contractor_name || debt.creditor_name.split(' | ')[0] }} {{ debt.actual_creditor_name || 'Не указано' }} {{ debt.actual_borrower_name || 'Не указано' }}
{{ debt.obligation_name || (debt.creditor_name.includes(' | ') ? debt.creditor_name.split(' | ')[1] : '') }}
Пл: {{ formatCurrency(debt.regular_payment) }} ₽ {{ getDay(['one_time_credit', 'one_time_loan'].includes(debt.debt_type) ? debt.last_payment_date : debt.first_payment_date) }} числа
{{ formatCurrency(cell.amount !== undefined ? cell.amount : debt.regular_payment) }}
{{ monthNamesFull[selectedMonth] }} {{ formatCurrency(debt.full_schedule[selectedYear][selectedMonth].amount !== undefined ? debt.full_schedule[selectedYear][selectedMonth].amount : debt.regular_payment) }} ₽
Изначально:{{ formatCurrency(debt.total_amount) }} ₽
Остаток долга:{{ formatCurrency(debt.remaining_balance) }} ₽
Комментарий

{{ debt.comments || '—' }}

Реквизиты возврата{{ debt.payment_details || '—' }}

Прикрепленные документы / Расписки

Справочник контрагентов

Наша компания{{ c.name }}
{{ c.description || 'Нет описания' }}
Нам должны: {{ formatCurrency(getContractorMyDebtorsTotal(c.id)) }} ₽ Мы должны: {{ formatCurrency(getContractorMyCreditsTotal(c.id)) }} ₽

Договоры (Обязательства)

Нет связанных договоров.
{{ d.obligation_name || 'Договор' }} {{ d.obligation_name || 'Договор' }} ({{ d.actual_creditor_name || 'Мы' }} → {{ d.actual_borrower_name || 'Мы' }}) {{ ['loan', 'loan_installment', 'loan_interest_only', 'loan_paused'].includes(d.debt_type) ? 'Нам должны' : 'Мы должны' }}
Остаток: {{ formatCurrency(d.remaining_balance) }} ₽
Изначально: {{ formatCurrency(d.total_amount) }} ₽

Связанное имущество

Нет зарегистрированного имущества.
{{ ast.name }} {{ ast.asset_type === 'real_estate' ? (ast.real_estate_type === 'house' ? 'Дом' : ast.real_estate_type === 'apartment' ? 'Квартира' : ast.real_estate_type === 'land' ? 'Участок' : ast.real_estate_type === 'garage' ? 'Гараж' : 'Недвижимость') : (ast.asset_type === 'vehicle' ? 'Транспорт' : 'Прочее') }}
Оценка: {{ formatCurrency(ast.book_value) }} ₽

История транзакций

Нет транзакций.
{{ formatDateLedger(tx.transaction_date) }}{{ tx.category }} / {{ tx.description }}
{{ tx.amount > 0 ? '+' : '' }}{{ formatCurrency(tx.amount) }} ₽
Нет контрагентов в базе. Добавьте первого!

Управление проектами

Модуль в разработке. Здесь будет учет по проектам, их стоимость и предстоящие расходы.

Учет имущества

Общая стоимость активов

{{ formatCurrency(assets.reduce((sum, a) => sum + a.book_value, 0)) }} ₽

{{ group.title }}

{{ ast.real_estate_type === 'house' ? 'Дом' : ast.real_estate_type === 'apartment' ? 'Квартира' : ast.real_estate_type === 'land' ? 'Участок' : ast.real_estate_type === 'garage' ? 'Гараж' : 'Недвижимость' }} Транспорт Прочее {{ ast.name }}
{{ ast.description || 'Нет описания' }}
Балансовая стоимость {{ formatCurrency(ast.book_value) }} ₽

Характеристики

Собственник: {{ contractors.find(c => c.id === ast.contractor_id)?.name || 'Неизвестный контрагент' }}

Собственник (Текст): {{ ast.registered_on }}

Специфичные данные не заполнены.

История расходов и обслуживания

Связанных операций нет.
{{ formatDateLedger(tx.transaction_date) }}{{ tx.sub_category || tx.category }}💬 {{ tx.description }}
{{ formatCurrency(tx.amount) }} ₽В стоимость ↑
Имущество не добавлено.

Плановые операции и Расходы

Модуль в разработке. Плановые доходы, расходы и "Расходы Славы".

🎨 Внешний вид и Персонализация

Увеличенный шрифт подходит для комфортной проверки больших реестров, уменьшенный — для одновременного охвата всех счетов на матрице баланса.

👥 Управление доступом пользователей

👤
{{ u.username }} {{ u.role }}

Кредитный калькулятор

Ежемесячный платеж

{{ calcResult.paymentText }}

Переплата (Проценты)

{{ formatCurrency(calcResult.overpayment) }} ₽

Итого к возврату

{{ formatCurrency(calcResult.totalPayout) }} ₽

Месяц Сумма платежа Основной долг Проценты Остаток долга
{{ row.month }} {{ formatCurrency(row.payment) }} {{ formatCurrency(row.principal) }} {{ formatCurrency(row.interest) }} {{ formatCurrency(row.balance) }}
🧮

Введите данные и нажмите "Рассчитать график"

{{ editingTxId ? 'Редактирование операции' : 'Проведение транзакции' }}

Операция не изменит баланс до подтверждения

Внимание руководителя

Сумма операции:

{{ resolveTxData.amount > 0 ? '+' : '' }}{{ formatCurrency(resolveTxData.amount) }} ₽

{{ resolveTxData.description }}

Управление счетами

{{ isEditingAccount ? 'Редактирование счета' : 'Новый счет' }}

{{ a.name }}
{{ a.account_type }} {{ a.interest_rate }}% ({{ a.interest_period === 'daily' ? 'день' : 'мес.' }})
{{ formatCurrency(a.balance) }} ₽

Оплата по графику

{{ paymentModalData.contractor_name || paymentModalData.creditor_name.split(' | ')[0] }}

{{ paymentModalData.actual_creditor_name || 'Не указано' }} → {{ paymentModalData.actual_borrower_name || 'Не указано' }}

{{ paymentModalData.obligation_name || (paymentModalData.creditor_name.includes(' | ') ? paymentModalData.creditor_name.split(' | ')[1] : '') }}

{{ infoModalTitle }}

{{ infoModalMessage }}

Детали обязательства

Контрагент: {{ inputsModalData.contractor_name || inputsModalData.creditor_name.split(' | ')[0] }}

Кредитор: {{ inputsModalData.actual_creditor_name || 'Не указано' }}

Заемщик: {{ inputsModalData.actual_borrower_name || 'Не указано' }}

Обязательство: {{ inputsModalData.obligation_name || (inputsModalData.creditor_name.includes(' | ') ? inputsModalData.creditor_name.split(' | ')[1] : '') }}

Тип: {{ inputsModalData.debt_type === 'loan' ? 'Займ (Мне должны, аннуитет)' : (inputsModalData.debt_type === 'loan_installment' ? 'Рассрочка (Мне должны, 0%)' : (inputsModalData.debt_type === 'loan_interest_only' ? 'Займ (Мне должны, только %)' : (inputsModalData.debt_type === 'loan_paused' ? 'Займ (Мне должны, на паузе)' : (inputsModalData.debt_type === 'one_time_loan' ? 'Разовый займ (Мне должны, 1 платеж)' : (inputsModalData.debt_type === 'installment' ? 'Рассрочка (Я должен, 0%)' : (inputsModalData.debt_type === 'interest_only' ? 'Кредит (Только %)' : (inputsModalData.debt_type === 'one_time_credit' ? 'Разовый займ (Я должен, 1 платеж)' : 'Кредит (с процентами)'))))))) }}

Тело (изначально): {{ formatCurrency(inputsModalData.total_amount) }} ₽

Остаток тела: {{ formatCurrency(inputsModalData.remaining_balance) }} ₽ Требует пересчета!

Регулярный платеж: {{ formatCurrency(inputsModalData.regular_payment) }} ₽

Период: с {{ inputsModalData.first_payment_date }} по {{ inputsModalData.last_payment_date }}

Просрочка: {{ formatCurrency(inputsModalData.current_arrears) }} ₽

Процентная ставка: {{ inputsModalData.annual_rate }}% годовых

Точный остаток (с %): {{ formatCurrency(inputsModalData.precise_balance_today) }} ₽

Сумма по графику (Итог)

{{ formatCurrency(inputsModalData.calculated_remaining_sum) }} ₽

Считается из кол-ва месяцев от первого до последнего платежа, умноженных на регулярный взнос.

Внимание: Сумма по графику меньше остатка тела! Вероятно, ошибка в дате окончания договора или размере взноса.

{{ isEditing ? 'Редактирование обязательства' : 'Новое обязательство' }}

Связанный счет (Начисление средств)

Прикрепить документ

{{ isEditingContractor ? 'Редактирование контрагента' : 'Новый контрагент' }}

Прикрепленные документы / Расписки

{{ isEditingAsset ? 'Редактирование имущества' : 'Добавление имущества' }}

Смена пароля

для пользователя {{ passwordChangeData.username }}

{{ notif.type === 'error' ? 'Системная ошибка' : 'Успешно' }} {{ notif.message }}