Общие сведения

Данный механизм позволяет получить набор данных из помощника расчета налога УСН в приложении 1С. Возвращаемые данные включают показатели для расчета налога и расшифровку подсчета суммы налога к уплате. В состав возвращаемых данных (файл с разметкой JSON) входят:

  • Сумма полученных доходов за период
  • Сумма возвратов денежных средств покупателям за период
  • Сумма фактически уплаченных за период страховых взносов
  • Ставка налога УСН в процентах (передается для использования в расчетах)
  • Сумма авансовых платежей по налогу УСН, уже уплаченных с начала периода (года) по конец предыдущего квартала
  • Сумма фактического уменьшения налога на уплаченные страховые взносы (передается для использования в расчетах)
  • Сумма переплаты по налогу опеределяется как разница между суммой платежей за налоговые периоды до конца предыдущего года и начисленными суммами налога за эти периоды.
  • Сумма налога (или авансового платежа) УСН к уплате (передается для использования в расчетах)
  • Сумма фактически уплаченного налога или авансового платежа
  • Сумма налога (авансового платежа), которую осталось оплатить с учетом фактически уплаченной
  • Объект-описание состояния расчетов по налогу за прошлые годы
    • Признак необходимости показать информацию о входящих расчетах за прошлые годы
  • Текстовая информация о состоянии расчетов за прошлые годы: наличии задолженности или необходимости ввода начальных остатков по налогу за прошлые годы
    • Ссылка для перехода к оплате задолженности по налогу прошлых лет; заполняется, если такая задолженность есть.
  • Набор объектов-описаний расчета налога по шагам
    • Номер этапа расчета
    • Описание подробностей расчета на данном шаге (формула, расшифровка и т.п.)
    • Результат расчета на данном шаге
  • Набор объектов-описаний ссылок перехода к другим страницам или к формам в приложении 1С

Помощник построен на механизме Асинхронное получение данных

  • Адрес  получения данных -  https://{{server}}/a/{{app}}/{{tenant}}/hs/dt/storage/async. 
  • Идентификатор данных - tax_ usn_ calculator. 

Таким образом отправка запросов на получение данных помощника производится по адресу:  https://{{server}}/a/{{app}}/{{tenant}}/hs/dt/storage/async/tax_ usn_ calculator.

Формат входящих параметров

При выполнении запроса к данным помощника внешняя система должна передать в теле запроса  параметры в виде JSON со структурой:

  • organization – организация или индивидуальный предприниматель. Если не указано, данные будут получены по основной организации
    • inn  – ИНН организации (10 символов) или индивидуального предпринимателя (12 символов)
    • kpp  – КПП организации. Имеет смысл только для юридических лиц. Не заполняется для ИП
  • date –  дата из квартала, за который рассчитывается налог; для унификации лучше договориться, что передаем последний день квартала со временем 23:59:59

Поле "organization" является необязательным. Если не указано, данные будут получены по основной организации.

Ответы при формировании файла данных

Код ответа

Ответ

Описание

10400Ошибка данныхЕсли переданы некорректные настройки или не нашли организацию в области.
10500Внутренняя ошибкаЕсли произошла неклассифицированная ошибка.
10240Выполнено с предупреждениямиЕсли данные получены, но их достоверность не гарантирована (пример: не заполнены некоторые важные реквизиты организации)
10200ВыполненоЕсли все рассчитали и не возникло предупреждений, то ответ будет содержать информацию о сформированном файле с данными помощника (см. ниже).

В описании выходных данных под «периодом» понимается интервал с начала года по конец квартала помощника, если явно не оговорено иное.

Структура файла ответа

Состав объекта выходных данных:

  • income  – число – сумма полученных доходов за период, отображается на форме в поле «Доходы»
  • refund  – число – сумма возвратов денег покупателям за период, отображается на форме в поле «Возвраты покупателям»
  • insurance_payments  – число – сумма фактически уплаченных за период страховых взносов, отображается на форме в поле «Страховые взносы»
  • tax_rate  - число – ставка налога УСН в процентах; не отображается, передается для использования в расчетах
  • tax_rate_presentation  – строка – представление ставки налога, отображается на форме в поле «Возвраты покупателям»; помимо ставки, может содержать информацию об об особенностях налогобложения (например, режиме «налоговых каникул»)
  • advance_payments  – число – сумма авансовых платежей по налогу УСН, уже уплаченных с начала периода (года) по конец предыдущего квартала; элемент отсутствует в данных за 1-й квартал года
  • advance_payments_period_presentation  – строка – представление периода уже уплаченных авансовых платежей (с начала года по конец предыдущего квартала); выводится на форму в составе заголовка «Авансовые платежи за [advance_ payments_ period_ presentation]»; элемент отсутствует в данных за 1-й квартал года
  • tax_reduction  – число – сумма фактического уменьшения налога на уплаченные страховые взносы; не отображается, передается для использования в расчетах
  • tax_initial_overpayment  – число – сумма переплаты по налогу УСН за предыдущие годы до текущего года помощника; не отображается, передается для использования в расчетах
  • tax_to_pay – число - сумма налога (или авансового платежа) УСН к уплате; не отображается, передается для использования в расчетах
  • tax_paid – число - сумма фактически уплаченного налога или авансового платежа
  • tax_left_to_pay – число - сумма налога (авансового платежа), которую осталось оплатить с учетом фактически уплаченной; равна разности сумм tax_to_pay и   tax_paid, но не меньше нуля; возвращается при получении реквизитов налогового платежа УСН в поле sum выходных данных API tax_payment_details
  • calculation  – массив - набор объектов-описаний расчета налога по шагам, транслирует содержимое группы формы «Расчет суммы налога к уплате»; формат входящих объектов:
    • step  – число – номер этапа расчета
    • description  - строка - описание подробностей расчета на данном шаге (формула, расшифровка и т.п.)
    • value  – строка – результат расчета на данном шаге
  • previous_tax – структура – объект-описание расчетов по налогу за прошлые годы:
    • show_previous_tax – булево – если true, имеется требующая показа информация о входящих расчетах за прошлые годы
    • previous_tax_message – строка - информация о состоянии расчетов за прошлые годы
    • link – структура – описание ссылки на сервис оплаты задолженности по налогу за прошлые годы, состав аналогичен объектам в массиве links ; заполняется, если есть задолженность за прошлые годы
  • links  – массив – набор объектов-описаний ссылок перехода к другим страницам или к формам в приложении 1С; формат описаний ссылок единый для всех отчетов и помощников:
    • name  -  строка – имя (идентификатор) ссылки в стиле snake_case; предназначен для однозначной идентификации ссылки принимающей стороной
    • type  – строка - тип передаваемой ссылки; возможны 2 варианта: 
        endpoint – ссылка предназначена для вызова http-сервиса; 
        anchor – ссылка навигационная («якорь») для перехода в приложение 1С
    • title  – строка – пользовательское представление ссылки
    • address  – строка - относительный адрес ссылки (без адреса сервера и информационной базы 1С):
        для ссылок endpoint - относительный URL публикуемого http-сервиса;
        для ссылок anchor - навигационная ссылка в формате 1С
    • settings  - ожидаемые входящие параметры для POST-запросов к http-сервисам; передается только для ссылок endpoint; если отсутствует или равен null – обработчику ссылки не требуются входящие параметры

Пример ответа

Пример выходных данных при задолженности по налогу  Развернуть
{  
  "income":397671,
  "refund":0,
  "tax_rate":6,
  "tax_rate_presentation":"6%",
  "advance_payments":23860,
  "advance_payments_period_presentation":"1 квартал",
  "tax_reduction":0,
  "tax_initial_overpayment":0,
  "tax_to_pay":0,
  "tax_paid":5700,
  "tax_left_to_pay":1300,
  "calculation":[  
    {  
      "step":1,
      "description":"Налог за 1 полугодие 2018 г. = Доходы * Ставка налога\n(397 671,00 * 6%)",
      "value":"23 860,00"
    },
    {  
      "step":2,
      "description":"Налоговый вычет\n(расходы, уменьшающие сумму налога)",
      "value":"0,00"
    },
    {  
      "step":3,
      "description":"Сумма к вычету (Налоговый вычет, но не более 50% от налога за 1 полугодие)\n(0,00 < 11 930,00)",
      "value":"0,00"
    },
    {  
      "step":4,
      "description":"Налог исчисленный = Налог за 1 полугодие - Налоговый вычет\n(23 860,00 - 0,00)",
      "value":"23 860,00"
    },
    {  
      "step":5,
      "description":"Налог к уплате = Налог за 1 полугодие - Авансовый платеж за 1 квартал\n(23 860,00 - 23 860,00)",
      "value":"0,00"
    }
  ],
  "previous_tax":{  
    "show_previous_tax":true,
    "previous_tax_message":"Не оплачена задолженность 1 500,00 по налогу за прошлые годы",
    "link":{  
      "name":"tax_payment_details",
      "type":"endpoint",
      "title":"Оплатить задолженность",
      "address":"hs/dt/storage/async/tax_payment_details",
      "settings":{  
        "organization":{  
          "inn":"772270268905",
          "kpp":""
        },
        "date":"2017-12-31T23:59:59",
        "tax":"УСН_Доходы",
        "liability":"Налог",
        "overdue_payment":true
      }
    }
  },
  "links":[  
    {  
      "name":"goto1C",
      "type":"anchor",
      "title":"Проверить расчет в 1С",
      "address":"e1cib/data/РегистрСведений.ПубликуемыеНавигационныеСсылки?Идентификатор=e9902bb1-f8db-4577-ab1d-22f7ab57b15c"
    },
    {  
      "name":"tax_payment_details",
      "type":"endpoint",
      "title":"Оплатить налог",
      "address":"hs/dt/storage/async/tax_payment_details",
      "settings":{  
        "organization":{  
          "inn":"783900281039",
          "kpp":""
        },
        "date":"2018-06-30T23:59:59",
        "tax":"УСН_Доходы",
        "liability":"Налог"
      }
    },
    {  
      "name":"tasks_status",
      "type":"endpoint",
      "title":"Уже оплачено",
      "address":"hs/api/v1/tasks/status",
      "settings":{  
        "id":"",
        "done":true
      }
    }
  ]
}
Пример выходных данных при отсутствующих начальных остатках по налогу  Развернуть
{  
  "income":100000,
  "refund":0,
  "tax_rate":6,
  "tax_rate_presentation":"6%",
  "tax_reduction":0,
  "tax_initial_overpayment":4500,
  "tax_to_pay":1500,
  "tax_paid":0,
  "tax_left_to_pay":1500,
  "calculation":[  
    {  
      "step":1,
      "description":"Налог за 1 квартал 2019 г. = (Доходы - Возвраты покупателям) * Ставка налога\n((100 000,00 - 0,00) * 6%)",
      "value":"6 000,00"
    },
    {  
      "step":2,
      "description":"Налоговый вычет",
      "value":"0,00"
    },
    {  
      "step":3,
      "description":"Налог исчисленный = Налог за 1 квартал - Налоговый вычет\n(6 000,00 - 0,00)",
      "value":"6 000,00"
    },
    {  
      "step":4,
      "description":"Переплата за прошлые годы",
      "value":"4 500,00"
    },
    {  
      "step":5,
      "description":"Налог к уплате = Налог исчисленный - Переплата за прошлые годы\n(6 000,00 - 4 500,00)",
      "value":"1 500,00"
    }
  ],
  "previous_tax":{  
    "show_previous_tax":true,
    "previous_tax_message":"Не введены остатки по налогу на начало 2019 года. Ввести остатки"
  },
  "links":[  
    {  
      "name":"goto1C",
      "type":"anchor",
      "title":"Проверить расчет в 1С",
      "address":"e1cib/data/РегистрСведений.ПубликуемыеНавигационныеСсылки?Идентификатор=276ff859-68eb-49c2-b6b9-7dd08adab1a0"
    },
    {  
      "name":"tax_payment_details",
      "type":"endpoint",
      "title":"Оплатить налог",
      "address":"hs/dt/storage/async/tax_payment_details",
      "settings":{  
        "organization":{  
          "inn":"772870115139",
          "kpp":""
        },
        "date":"2019-03-31T23:59:59",
        "tax":"УСН_Доходы",
        "liability":"Налог",
        "overdue_payment":false
      }
    },
    {  
      "name":"tasks_status",
      "type":"endpoint",
      "title":"Уже оплачено",
      "address":"hs/api/v1/tasks/status",
      "settings":{  
        "id":"DEF2915DE9DF3850FECF7561CD43C574",
        "done":true
      }
    }
  ]
}


Пример отображения данных в интерфейсе

Изменения в версии 3.0.69

Пример визуализации в клиентском коде