Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Модуль работы с платёжными документами.

Table of Contents

Возможности

  • Выписка счётов из пользовательского интерфейса

  • Выписка счётов из интерфейса для администраторов

  • Выписка счетов-фактур

  • Автоматическая выписка счёта, кассового чека при занесении денег на аккаунт пользователя

  • Формирование общего файла счетов для печати и рассылки всем пользователям

  • Формирование актов оказания услуг за определённый период

  • Автоматическое формирование актов оказания услуг для всех компаний системы

  • Выписка налоговых накладных

  • Формирование договора и его печать

  • Возможность формировать несколько типов договоров в зависимости от предоставляемых услуг

  • Создание документов в PDF формате (нужен модуль PDF::API2)

  • Формировать индивидуально документы для каждого типа оплат

  • Привязка документов к группам пользователей

  • Привязка оплат к счетам

  • Групповая генерация счетов и квитанций на оплату

  • Форма рекламного шаблона компании для регистрации абонентов

  • Цифровая подпись. Цифровая подпись Vchasno.

  • QR код в документе

Установка

abills/libexec/config.pl


Code Block
languagebash
@MODULES = (
          'Docs'
          );


Работа с системой

Основные категории

  1. Счет (invoice) - платёжный документ на оплату.

  2. Оплата (payment), после оплаты в счете делается пометка, что он был оплачен.

  3. Квитанция об оплате (receipts) - выписывается по факту оплаты с пометкой номера оплаты.

  4. Налоговая (tax invoice) - для юридических лиц выписывается в конце месяца по факту оплаты.

Счет на оплату и квитанция могут выписаться в момент оплаты. Также, при оплате можно выбрать счет, по которому была произведена оплата. Если сумма оплаты отличается от суммы счета система может распределить сумму по нескольким счетам.

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

Отчёты

Настройка

$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 модуля Perl PDF::API2
Смотрите также Шаблоны системы
$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;Список квитанций в портале абонентов
$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 дней

$conf{DOCS_QR_CODE}

Разместить в шаблоне Qr code для оплаты во время сканирования (параметру надо задать такое значения "

METHOD=0&CREATE_RECEIPT=1&add=1&APPLY_TO_INVOICE=1&INVOICE_ID=create") также в шаблоне надо установить значенния 

%QR_CODE_DOCS% в место этого ключа будет Qr code при создании документа


Шаблоны документов

Формировать индивидуально документы для каждого типа оплат

Также можно формировать индивидуально документы для каждого типа оплат (docs_account.tpl, docs_account_company.tpl, docs_invoice.tpl).
Формат таких шаблонов в каталоге abills/Abills/templates:

Code Block
languagebash
[название модуля]_[название шаблон]_[тип оплаты].tpl
Docs_docs_account_1.tpl


Info

Данная функция доступна только для документов в формате PDF

Например. Если Вам нужно для оплат наличными выдавать кассовый чек, а для оплат банком от юридических лиц акт оказания услуг:

формируем два дополнительных шаблона:
1. Будет выдаваться по умолчанию для всех платежей

Code Block
languagebash
abills/Abills/templates/Docs_docs_account.tpl # признак индивидуального шаблона
abills/Abills/templates/Docs_docs_account.pdf # сам шаблон 
abills/Abills/templates/Docs_docs_account.dsc # файл описание переменных

2. Будет выписываться для оплат с типом банк

Code Block
languagebash
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

Code Block
languagebash
abills/Abills/templates/Docs_docs_account__99.tpl # признак индивидуального шаблона
abills/Abills/templates/Docs_docs_account__99.pdf # сам шаблон 
abills/Abills/templates/Docs_docs_account__99.dsc # файл описание переменных


Привязка оплат к счетам

В системе реализована функция ручной и автоматической привязки оплат к счетам.

Автоматическая привязка

  1. Система находит самый ранний по дате счёт в статусе «Не оплачен».

  2. Проверяет, какая сумма по данному счёту не оплачена.


    1. Если неоплаченный остаток счёта+сумма оплаты = сумма счёта, то вся сумма оплаты распределяется на данный счёт (в записи о счёте появляется ссылка на номер записи об оплате, которая была внесена по этому счёту и гасимая сумма, а в записи об оплате появляется ссылка на счёт, который был оплачен и сумма оплаты, которая этот счёт закрывает), и счёт переходит в статус «Оплачен»;

    2. Если неоплаченный остаток счёта+сумма оплаты < сумма счёта, то вся сумма оплаты распределяется на данный счёт (в записи о счёте появляется ссылка на номер записи об оплате, которая была внесена по этому счёту и гасимая сумма, а в записи об оплате появляется ссылка на счёт, который был оплачен и сумма оплаты, которая этот счёт закрывает);

    3. Если неоплаченный остаток счёта+сумма оплаты > сумма счёта, то вся сумма оплаты, равная неоплаченному остатку, распределяется на данный счёт, счёт переходит в статус «Оплачен», а для распределения оставшейся суммы оплаты система исполняет действия с шага 1.


Ручная привязка счетов

Пользователь из списка при оплате выбирает нужный счет.

  1. Если неоплаченный остаток счёта+сумма оплаты = сумма счёта, то вся сумма оплаты распределяется на данный счёт, и счёт переходит в статус «Оплачен».

  2. Если неоплаченный остаток счёта+сумма оплаты < сумма счёта, то вся сумма оплаты распределяется на данный счёт.

  3. Если неоплаченный остаток счёта+сумма оплаты > сумма счёта, то вся сумма оплаты, равная неоплаченному остатку, распределяется на данный счёт, счёт переходит в статус «Оплачен».

Также есть возможность вручную выбрать счёт для привязки оставшейся части оплаты к другому счёту. Данное действие производится через журнал счетов. Администратор выбирает неоплаченный счет и переходит к журналу неприкреплённых оплат, где он выбирает нужную оплату и указывает сумму. Если сумма больше, чем счет, система прикрепляет только сумму соответствующую счету, а остальную помечает как нераспределённую.

Если при ручном распределении счёт не выбран, то вся сумма оплаты считается нераспределенной.

Если удаляется оплата или счет соответственно, система удаляет и привязку.

Групповая генерация счетов и квитанций на оплату

Генерацией счетов на оплату занимается программа 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.

Code Block
languagebash
/usr/abills/bin/multi_docs.pl PREPAID_INVOICES=1

Если в аргументах указывается параметр COMPANY_ID, тогда запускаются только счета по компаниям указанным в параметре и соответственно LOGIN только по логинам не состоящим в компаниях. При генерации счета для компании он приходит администратору компании за все логины и услуги компании.

Для компании счета нужно генерировать 1 числа. В счет будут включатся задолженность компании и сума услуг всех абонентов на поточный месяц. Если у Компании нет администратора по счетам счеты не будут формироваться. Параметры генерации счета указанные в абонентов компании не влияют на генерацию счета.

PERIODIC_INVOICE
Создание счетом на следующие учётные периоды.

Code Block
languagebash
/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'

Дата генерации счета указывается в настройках абонента Клиенты>Логины>Информация>Сервисы>Документы>Настройки.

При автоматической генерации счета

  1. Система вытаскивает сумы всех начислений на текущий учётный период.

  2. Выводит их списком.

  3. Добавляет суму задолженности отдельным пунктом, если она есть.

  4. Если счет выписан до даты учётного периода, тогда депозит указывает без учёта начисления позиций счета.

Ошибка Skip create docs (Not defined option) Admin user UID: 15593

TOTAL COMPANIES: 2 DOCS: 0

У администратора компании не отмечена опция в личных настройках документов (Клиенты>Логины>Информация>Сервисы>Документы>Настройки) «Автоматическая генерерация счёта».


POSTPAID_INVOICES

Выписка счетов по фактупредоставления услуги с учетом всех задолженостей запрошедший месяц. система формирует единый PDF для печати на принтере.

Шаблон для документа

  docs_multi_invoice.tpl

  docs_multi_invoice.pdf

  docs_multi_invoice.dsc

Дополнительные параметры



SECOND_ADDRESSИспользовать вторичный адрресс
LIMIT=100Напечатать только 100 квитанций
MODULE=InternetИспользовать модуль
TP_ID='110;1220'печатать квитанции только для определенных тарифных планов определенного модуля. Без параметра модули эта опция не работает
GID='1'Генирация квитанций 1 группы
SORTСортировка квитанций


Выписка с операциями клиента

Для того что бы получить выписку с всеми операциями клиента вам надо зайти на клиента а после нажать на кнопку Выписка со счета 

После вас направит на страничку с выпиской, она будет выглядеть вот так

Здесь вы сможете выбрать месяц года за который надо получить выписку а также распечатать или же скачать в XLS формате для того чтобы открыть в Excel