Автоматическая выгрузка платежей из CSV

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Описание

Где этот интерфейс и как им пользоваться?

  • Вносить платежи нужно на вкладке "Сервис".
  • Подойдёт любая папка. На картинке выше "Абоненты" - просто пример. Платежи всё равно будут зачислены всем абонентам, которые есть в выгрузке, а не только из этой папки.
  • Вносить платежи из CSV могут только администраторы из группы root.
  • Загрузив файл с платежами, биллинга напишет об этом сообщение

Как биллинг определит кому занести платёж?

По-умолчанию поиск абонента происходит по номеру договора. Параметр в конфигурационном файле:

contract_number: 0  # Параметр поиска абонента

Но можно иначе: по одному из реквизитов, например по ИНН. Для этого в конфигурационном файле нужно задать два параметра:

contract_number: 0  # Параметр поиска абонента
special_search_param: 'attr 4'  # Специальный параметр поиска, например 'attr 4' = реквизит 4, то есть ИНН

Как избежать дублей платежей?

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

  • Вы повторно загружаете тот же файл, например с исправленными ошибками;
  • При загрузке платежей уже поступивших в биллинг из платёжной системы для сверки и исправления ошибок.

Проверка проходит по паре параметров pay_id_str и pay_operator. Поиск по pay_operator регистронезависимый, то есть значения Sberbank и SBERBANK - идентичны.

54-ФЗ, онлайн-чеки

Как отправлять чеки в онлайн-кассу по платежам физлиц 54-ФЗ?

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

prevent_submit_check: 0

Как не отправлять чеки по платежам физлиц?

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

prevent_submit_check: 1

Нужны ли чеки по платежам юрлиц?

Биллинг не отправляет чеки по любым платежам юрлиц.

Чтобы отдавать налоговой данные по платежам юрлиц, интегрируйте биллинг с 1С.

Настройка

Настройка в вэб интерфейсе

Добавить настройки для загрузки платежей можно в вэб интерфейсе. Настройки описаны далее.

Настройка по ssh

Для настройки подключитесь к серверу биллинга по ssh.

  1. Зайти в контейнер биллинга
    chroot /app/asr_billing
    
  2. В папке /cfg/autocsv/ создаются конфигурации для автоматической выгрузки. Они должны иметь расширение *.autocsv и права 755:
    touch pochtarf.autocsv
    chmod 755 /cfg/autocsv/pochtarf.autocsv
    # Укажите [параметры|Автоматическая выгрузка платежей из CSV#Параметры] в файле */cfg/autocsv/pochtarf.autocsv*
    
  3. Выйдите из контейнера биллинга:
    exit
    
  4. Для вступления изменений в силу перезапустите контейнер биллинга командой:
    /app/asr_billing/service restart
    

Параметры

Обязательные параметры
# Обязательные параметры
csv_path: '/var/autocsv/pochtarf/' # Для каждой конфигурации нужно указать свою поддиректорию
contract_number: 0  # Параметр поиска абонента
sum_in: 1  # Сумма платежа
pay_id_str: 2  # Уникальный номер платежа
Необязательные параметры
# Необязательные параметры
operator_date_in: 3  # Дата платежа
operator_datetime_date_in: 31 # Дата платежа состоит из двух столбцов, столбец с датой
operator_datetime_time_in: 32 # Дата платежа состоит из двух столбцов, столбец со временем
# Столбцы даты и времени соединяются пробелом и заменяют operator_date_in
date_format: '%Y.%m.%d %H:%M:%S' # Формат даты и времени платежа
csv_comment: '#' # Символ комментария (в начале строки для пропуска)
csv_delimiter: ';'  # Разделитель CSV-файла, по умолчанию - ;
pay_operator: 'Почта РФ'  # Название оператора, по умолчанию - Загрузка из CSV
skip: 2  # Количество строк, которые нужно пропустить, по умолчанию - 0
skip_end: 2  # Количество строк, которые нужно пропустить в конце файла, по умолчанию - 0
encoding: 'windows-1251'  # Входная кодировка, по умолчанию - utf-8
special_search_param: 'attr 4'  # Специальный параметр поиска, например 'attr 4' = реквизит 4, то есть ИНН
special_pay_id_param_list: [30, 31, 33]  # Специальный список параметров для создания номера платежа, если нет уникального поля
prevent_submit_check: 0 # параметр, отвечающий за отправку чеков в налоговую: 0 - отправлять чеки, 1 - не отправлять чеки, по умолчанию - 0
incoming_sign: {id: 27, value: C}  # Специальный параметр признака поступления, будут загружаться только те платежи, у которых в колонке под номером 27 установлено значение "C"

Где числа от 0 до 3 - это номера колонок в CSV-файле.
Колонки 0, 1, 2 обязательны.
Если колонки 3 не существует, то и в конфигурации её быть не должно.
Поддерживаемые форматы даты:

Поддерживаемые форматы даты
%Y.%m.%d (2016.10.26)
%Y.%m.%d %H:%M:%S (2016.10.26 10:01:32)
%Y%m%d%H%M%S (20161026100132)
Пример файла
BILL0005;500;ABC015;20161026100132
BILL0006;1000;AVC014;2016.10.26 10:01:32

Выгружать файлы можно следующими способами:

  1. По протоколу SSH в путь, который был указан в csv_path
  2. Через web-интерфейс вкладка операции у любой группы абонентов (Для этого способа так же необходимо создать конфигурационный файл, по примеру, который указан выше)
*Разделитель "табуляция" следует заводить так:
csv_delimiter: '\t'

Решение проблем

  1. Ошибки импорта пишутся в лог воркера. Просмотрите лог:
    Команда для просмотра лога
    fgrep csv_loading /app/asr_billing/var/log/worker.log
    
    Пример ошибки
    2019-01-09 21:25:38,559 - worker - csv_loading - ERROR - Абонент с номером договора 123456 не существует или удалён - пропускаем
    
  2. Посмотрите список платежей, которые не были загружены. Неверные данные помещаются в файл: incomings.csv.error.
    Дынные отброшенные обработчиком
    /app/asr_billing/var/autocsv/pochtarf/bad/incomings.csv.error
    

    В каталоге может содержаться несколько файлов, по одному на каждую попытку загрузки с ошибками.

Возможные ошибки

При попытке загрузить данные зафиксирована ошибка в логе worker

Лог службы worker /app/asr_billing/var/log/worker.log
 2020-08-15 10:20:35,502 - worker - csv_loading - ERROR - Ошибка при обработке выгрузки csv: file_name=/var/autocsv/sber/SB_3000_01082020.csv
 2020-08-15 10:20:35,503 - worker - csv_loading - ERROR - 'utf8' codec can't decode byte 0xc4 in position 49: invalid continuation byte

Необходимо проверить, в какой кодировке на данный момент загружается файл csv и выставить соответствующие настройки в обработчике /app/asr_billing/cfg/autocsv/name.autocsv

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.