Реализует Программный интерфейс приложений (API)для работы с ИС “Ferma” от OFD.ru
Конфиг:
fr.101.title=OFD.ru Ferma fr.101.fiscalizator=fermaofdru fr.101.addr=https://ferma-test.ofd.ru/api/ fr.101.login=*** fr.101.pass=*** fr.101.timeout=5000 # ИНН лица, от имени которого генерируется кассовый документ (чек) fr.101.Inn=6666666666 # Система налогообложения # "Common" или "0" — общая система налогообложения; "SimpleIn" или "1" — упрощенная система налогообложения (доход); "SimpleInOut" или "2" — упрощенная система налогообложения (доход минус расход); # "Unified" или "3" — единый налог на вмененный доход; "UnifiedAgricultural" или "4" — единый сельскохозяйственный налог; "Patent" или "5" — патентная система налогообложения. fr.101.TaxationSystem=Common # Тип (признак) платежного агента тег 1057 # (если не настраивать ни одно из значений AgentType, ..., SupplierPhone ниже, то информация об агенте передаваться не будет ("не агент")) # BANK_PAYMENT_AGENT — банковский платежный агент; BANK_PAYMENT_SUBAGENT — банковский платежный субагент; PAYMENT_SUBAGENT — платежный субагент # CONFIDANT — поверенный; COMMISSIONER — комиссионер; AGENT — агент fr.101.AgentType=BANK_PAYMENT_AGENT # Номер телефона платежного агента, тег fr.101.TransferAgentPhone=79173412345 # Имя агента fr.101.TransferAgentName=Имя агента # Адрес агента fr.101.TransferAgentAddress=Адрес агента # ИНН агента fr.101.TransferAgentINN=6666666666 # Операция платежного агента fr.101.PaymentAgentOperation=операция # Телефон платежного агента fr.101.PaymentAgentPhone=79173412345 # Телефон потребителя fr.101.ReceiverPhone=79173412345 # Телефон поставщика fr.101.SupplierPhone=79173412345
В дин.коде обязательно нужно задавать setDocumentId(...) - "Идентификатор счета, на основании которого генерируется чек", т.е. передавать туда id платежа удобнее всего.
Можно задавать setDocumentDate(...) - "Локальная дата и время чека", т.е. дата платежа. Если платежи уходят не сразу, а через delay-например.
Обязательно нужно задавать customerEmail.
Все параметры из конфига заявлены в протоколе как необходимые.
Налог задаётся через setTax целым числом и соответствует предусмотренным в системе налогам таким образом:
не задано/-1: «VatNo» – НДС не облагается;
0: «Vat0» – НДС по ставке 0%;
10: «Vat10» – НДС чека по ставке 10%;
18: «Vat18» – НДС чека по ставке 18%;
110 или 10110: «CalculatedVat10110» – вычисленный НДС 10% от 110% суммы;
118 или 18118: «CalculatedVat18118» – вычисленный НДС 18% от 118% суммы;
20: «Vat20» – НДС чека по ставке 20%;
120 или 20120: «CalculatedVat20120» – вычисленный НДС 20% от 120% суммы.
Всё что добавлено через check.addString - в фискализации не используется и молча игнорируется.
Для проверки статуса чека предусмотрена отдельная Задача запроса статуса чеков. TODO