=====Docs===== Модуль работы с платёжными документами. ====Возможности==== * Выписка счётов из пользовательского интерфейса * Выписка счётов из интерфейса для администраторов * Выписка счетов-фактур * Автоматическая выписка счёта, кассового чека при занесении денег на аккаунт пользователя * Формирование общего файла счетов для печати и рассылки всем пользователям. * Формирование актов оказания услуг за определённый период. * автоматическое формирование актов оказания услуг для всех компаний системы. * Выписка налоговых накладных * Формирование договора и его печать * Возможность формировать несколько типов договоров в зависимости от предоставляемых услуг. * Создание документов в PDF формате (нужен модуль PDF::API2) * [[#formirovat_individualno_dokumenty_dlja_kazhdogo_tipa_oplat|Формировать индивидуально документы для каждого типа оплат]] * [[#privjazka_dokumentov_k_gruppam_polzovatelej|Привязка документов к группам пользователей]] * [[#privjazka_oplat_k_schetam|Привязка оплат к счетам]] * [[#gruppovaja_generacija_schetov_i_kvitancij_na_oplatu|Групповая генерация счетов и квитанций на оплату]] * [[abills:docs:docs:registration|Форма рекламного шаблона компании для регистрации абонентов]] * [[abills:docs:docs:docs_certs|Цифровая подпись]] * [[abills:docs:docs:qr_code:ru|QR код в документе]] ====Установка==== **abills/libexec/config.pl** @MODULES = ( 'Docs' ); ====Работа с системой==== **Основные категории** - **Счет** (invoice) - платёжный документ на оплату - **Оплата** (payment), после оплаты в в счете делается пометка что был оплачен - **Квитанция об оплате** (receipts) - выписывается по факту оплаты с пометкой номера оплаты - **Налоговая** (tax invoice) - для юридических лиц выписывается в конце месяца по факту оплаты Счет на оплату и квитанция могут выписаться в момент оплаты. Также при оплате можно выбрать счет по которому была произведена оплата. Если сума оплаты отличается от сумы счета система может распределить суму по нескольким счетам ===Управление абонетом=== * [[abills:docs:manual:admin:docs:docs_invoices_list|Счета]] * [[abills:docs:manual:admin:docs:docs_invoice_company|Счет за период]] * [[abills:docs:manual:admin:docs:docs_user|Настройка параметров абонента]] * [[abills:docs:manual:admin:Docs:docs_acts|Акты]] ===Отчёты=== * [[abills:docs:manual:admin:docs:docs_tax_invoice_list|Налоговые накладные]] * [[abills:docs:manual:admin:docs:docs_tax_exports|Экспорт налоговых в реестр]] * [[|Акты]] * [[|Счета]] * [[|Квитанции ]] * [[abills:docs:manual:admin:docs:docs_unpaid_invoices|Неоплаченные счета]] ====Настройка==== ^$conf{DOCS_ACCOUNT_EXPIRE_PERIOD}=10; | Время действительности счета. \\ По умолчанию 30 дней | ^$conf{DOCS_ACCOUNT_EXPIRE_DAY}=20; | Дата действия счета. Имеет более высокий приоритет чем $conf{DOCS_ACCOUNT_EXPIRE_PERIOD} | ^$conf{MONEY_UNIT_NAMES}=['грн','коп']; | Название денежной еденицы большая меньшая часть | ^$conf{DOCS_PDF_PRINT}=1; | Вывод печатных документов в формате PDF. Шаблоны документов помещать в папку шаблонов $conf{TPL_DIR}. \\ Функция работает только при наличии установленого Perl модуля [[abills:docs:manual:soft:pdf_api2|PDF::API2]] \\ \\ Смотрите также [[abills:docs:manual:system_configuration:system_configuration?&#template|Работа с шаблонами]] | ^$conf{DOCS_VAT_INCLUDE}=20; | Процентов включенного налога | ^$conf{DOCS_ORDERS}=['Услуги связи', 'Тех. поддержка']; | Виды товаров для счёта | ^$conf{DOCS_LANGUAGE}='russian'; | Язык печатных документов. По умолчанию равен $conf{default_language}| ^$conf{DOCS_PAYMENT_METHODS}='-' | Описание типов платежей для бухгалтерских документов. При указании данной переменной типы оплат берутся с данной переменной, а не из системных типов оплат. Если нет типа указанного в данной переменной используется тип с номером 0. По этому рекомендовано всегда иметь описание оплаты с типом 0. \\ **Формат** \\ $conf{DOCS_PAYMENT_METHODS}='номер:тип; номер:тип;'; \\ **Пример** \\ 0:оплата с расчётного счёта; 1:Наличка; 2:Поступление с терминалов \\ | ^$conf{DOCS_CURRENCY}='980'; |Валюта выписываемых документов. Если опция указана и отличается от системной $conf{SYSTEM_CURRENCY}, документы выписываются в двух валютах в системной и в валюте документов. \\ Коды нужно вводить соответственно с стандартом ISO 4217. \\ Также нужно заводить валюты в меню конвертации **/ Система/ Курс обмена/** \\ Таблица кодов http://index.minfin.com.ua/code/ | ^$conf{DOCS_SKIP_NEXT_PERIOD_INVOICE}=1; |Не отображать в пользовательском интерфейсе форму выписки счета на следующий учётный период | ^$conf{DOCS_PAYMENT_SYSTEM_CURRENCY}=1; |При оплате заполнять поля оплаты системной валютой | ^$conf{DOCS_PRE_INVOICE_PERIOD}=10; |Количество дней до начала учётного периода для генерации счетов. \\ ( По умолчанию 10 ) | ^$conf{DOCS_INVOICE_ORDERS}=12; |Количество позиций в счете. По умолчанию 12 | ^$conf{DOCS_CONTRACT_TYPES}=':Д:физические лица:contract_1; \\ :В:выделенка для юр. лиц (Ethernet, ADSL):contract_2; \\ :ВО:оптика для организаций:contract_3;'; \\ | Задания списка типов договоров для работы с клиентами. \\ \\ Формат: \\ **ПРЕФИКС_ДОГОВОРА:CУФИКС_ДОГОВОРА:НАЗВАНИЕ_ДОГОВОРА:ШАБЛОН** \\ Для шаблона contract_1 система будет искать файл /usr/abills/Abills/templates/Docs_docs_contract_1.tpl или его альтернативный pdf шаблон. \\ Если не заполнено поле Номер договора и дата система автоматически подставляет следующий нужный номер в эти поля. | ^$conf{DOCS_INVOICE_ALT_TPL}=1;| Включить возможность вести 2 шаблона счетов. Основной и дополнительный | ^$conf{DOCS_INVOICE_PAID_TPL}=1; | Выводить для оплаченых счетов другой шаблон. \\ шаблон для оплаченных счетов **docs_invoice_paid.[tpl|dsc|pdf]** | ^$conf{DOCS_FEES_METHOD_ORDERS}=1; | Выводит типы услуг в счетах с типов начислений | \\ ^$conf{DOCS_SKIP_USER_MENU}=1; | Не отображать меню документов в портале абонента | ^$conf{DOCS_USERPORTAL_INVOICE}=1; |Cписок квитанций в портале абонентов | ^$conf{DOCS_PAYMENT_RECEIPT_SKIP}=1; | Не создавать квитанцию после оплаты | ^$conf{DOCS_PAYMENT_SENDMAIL}=1; | Отправлять создданные после оплаты документы почтой: счет и квитанцию. | ^$conf{DOCS_PAYMENT_DOCS_SKIP}=1; | Не формировать и не показывать форму документов | ^$conf{DOCS_ACCOUNT_EXPIRE_PERIOD_MULTIPLIER}=2; | Множитель для удаления неоплаченных счетов. Если Время действительности счета кончилось и он не оплачен. Счет будет удален через ("Дата действия счета" * "Множитель"). Пример: DOCS_ACCOUNT_EXPIRE_DAY(DOCS_ACCOUNT_EXPIRE_PERIOD)=30; DOCS_ACCOUNT_EXPIRE_PERIOD_MULTIPLIER=3; 30 * 3 = 90 дней | ====Шаблоны==== * [[abills:docs:manual:admin:docs:templates|Управление шаблонами]] ====Формировать индивидуально документы для каждого типа оплат==== Также можно формировать индивидуально документы для каждого типа оплат (docs_account.tpl, docs_account_company.tpl, docs_invoice.tpl).\\ Формат таких шаблонов в каталоге abills/Abills/templates:\\ [название модуля]_[название шаблон]_[тип оплаты].tpl Docs_docs_account_1.tpl \\ **Данная функция доступна только для документов в формате PDF**\\ **Например** Если Вам нужно для оплат наличными выдавать кассовый чек, а для оплат банком от юридических лиц акт оказания услуг формируем два дополнительных шаблона:\\ **1.** Будет выдаваться по умолчанию для всех платежей abills/Abills/templates/Docs_docs_account.tpl # признак индивидуального шаблона abills/Abills/templates/Docs_docs_account.pdf # сам шаблон abills/Abills/templates/Docs_docs_account.dsc # файл описание переменных **2** Будет выписываться для оплат с типом банк abills/Abills/templates/Docs_docs_account_1.tpl # признак индивидуального шаблона abills/Abills/templates/Docs_docs_account.pdf # abills/Abills/templates/Docs_docs_account.dsc # Список типов пополнения можно расширять по вашему желанию, переменная для расширения этого списка указана в расширенной документации **docs_receipt_email.tpl**\\ Шаблон тела письма отправки квитанции **docs_invoice_email.tpl**\\ Шаблон тела письма отправки счета ====Привязка документов к группам пользователей==== Для групп имеющих флаг **Собственные Бух. документы** можно создавать индивидуальные шаблоны документов. шаблоны создаются в папке abills/Abills/templates/ по принципу индивидуальных шаблонов и в конце названия файла через два нижних подчеркивания указывается номер группы. Если нужно использовать тип услуги указанный в оплатах и индивидуальные групповые документы тогда через одно подчёркивание (Docs_[название шаблона]_[Номер типа услуги]_[номер группы].tpl). \\ **Пример:**\\ для группы 99 \\ abills/Abills/templates/Docs_docs_account__99.tpl # признак индивидуального шаблона abills/Abills/templates/Docs_docs_account__99.pdf # сам шаблон abills/Abills/templates/Docs_docs_account__99.dsc # файл описание переменных ====Привязка оплат к счетам==== В системе реализована функция ручной и автоматической привязки оплат к счетам **Автоматическая привязка**\\ - Система находит самый ранний по дате счёт в статусе «Не оплачен» - Проверяет, какая сумма по данному счётy не оплачена - Если неоплаченный остаток счёта+сумма оплаты = сумма счёта, то то вся сумма оплаты распределяется на данный счёт (в записи об счёте появляется ссылка на номер записи об оплате, которая была внесена по этому счёту и гасимая сумма, а в записи об оплате появляется ссылка на счёт, который был оплачен и сумма оплаты, которая этот счёт закрывает), и счёт переходит в статус «Оплачен» - Если неоплаченный остаток счёта+сумма оплаты < сумма счёта, то вся сумма оплаты распределяется на данный счёт (в записи об счёте появляется ссылка на номер записи об оплате, которая была внесена по этому счёту и гасимая сумма, а в записи об оплате появляется ссылка на счёт, который был оплачен и сумма оплаты, которая этот счёт закрывает); - Если неоплаченный остаток счёта+сумма оплаты > сумма счёта, то вся сумма оплаты, равная неоплаченному остатку, распределяется на данный счёт, счёт переходит в статус «Оплачен», а для распределения оставшейся суммы оплаты система исполняет действия с шага 1. **Ручная привязка счетов** \\ Пользователь из списка при оплате выбирает нужный счет - Если неоплаченный остаток счёта+сумма оплаты = сумма счёта, то то вся сумма оплаты распределяется на данный счёт, и счёт переходит в статус «Оплачен» - Если неоплаченный остаток счёта+сумма оплаты < сумма счёта, то вся сумма оплаты распределяется на данный счёт; - Если неоплаченный остаток счёта+сумма оплаты > сумма счёта, то вся сумма оплаты, равная неоплаченному остатку, распределяется на данный счёт, счёт переходит в статус «Оплачен». Также есть возможность вручную выбрать счёт для привязки оставшейся части оплаты к другому счёту. Данное действие производится через через журнал счетов. Администратор выбирает неоплаченный счет и переходит к журналу не прикреплённых оплат где он выбирает нужную оплату и указывает суму. Если сума больше чем счет система прикрепляет только суму со отсутствующею счету, а остальную помечает как не распределённую. \\ Если при ручном распределении счёт не выбран, то вся сумма оплаты считается не распределенной. \\ Если удаляется оплата или счет соответственно система удаляет и привязку ====Групповая генерация счетов и квитанций на оплату==== Генерацией счетов на оплату занимается программа multi_docs.pl\\ аргументы: |PERIODIC_INVOICE | создать периодические счета и отправить их абонентов | |PREPAID_INVOICES | Создание и отправка счетов в начале периода на все услуги по которым произошли списания в текущем месяце | |MULTIPOSITION_INVOICE=1 | Разбиение услуг компании для инвойсирования по позициям. По умолчанию все услуги идут одной позицией | |LOGIN | Логин абонента | |COMPANY_ID | ID компании | |DATE=YYYY-MM-DD | Дата создания документов | |SORT= | Порядок создания документов | |DEBUG=[1..7] | Режим отладки | **PREPAID_INVOICES**\\ Создание и отправка счетов в начале периода на все услуги по которым произошли списания в текущем месяце. Если не указывается дата счета создаются на все услуги от текущего числа. Также генерируются счета за неинвойсированные услуги прошлого периода, отлючение выписки неинвойсированных платежей SKIP_NOT_INVOICED_FEES=1 # /usr/abills/bin/multi_docs.pl PREPAID_INVOICES=1 Если в аргументах указывается параметр COMPANY_ID тогда запускаются только счета по компаниям указанным в параметре и соответственно LOGIN только по логинам не состоящим в компаниях. При генерации счета для компании он приходит администратору компании за все логины и услуги компании. Для компании счета нужно генерировать 1 числа. В счет будут включатся задолженность компании и сума услуг всех абонентов на поточный месяц. Если у Компании нет администратора по счетам счеты не будут формироваться. Параметры генерации счета указанные в абонентов компании не влияют на генерацию счета. **PERIODIC_INVOICE**\\ Создание счетом на следующие учётные периоды. # /usr/abills/bin/multi_docs.pl PERIODIC_INVOICE DATE="2012-08-18/2012-09-20" Счета создаются для пользователей у которых в параметрах документ оборота включено "Автоматическая генерация счёта" и наступила дата создания счетов (по умолчанию: за 10 дней до начала учётного периода). \\ Также можно указывать дату за которую нужно обработать счета **DATE='2012-08-18'** или период дат через косую черту **DATE='2012-08-18/2012-09-20'** (дата генерации счета указывается в настройках абонента '' / Клиенты / Логины / Информация / Сервисы / Документы / Настройки'') **При автоматической генерации счет** - Система вытаскивает сумы всех начислений на поточный учётный период - Показывает их списком - добавляет суму задолженности отдельным пунктом, если она есть - если счет выписан до даты учётного периода тогда депозит указывает без учёта начисления позиций счета ===Ошибка Skip create docs (Not defined option) Admin user UID: 15593=== TOTAL COMPANIES: 2 DOCS: 0 у администратора компании не отмечена опция в личных настройках документов ('' / Клиенты / Логины / Информация / Сервисы / Документы / Настройки '' ) "Автоматическая генерерация счёта"