|
Украинский деловой еженедельник
"Контракты" / № 12 от 22-03-2004 |
Практика
Начиная со второго квартала налогоплательщики имеют возможность подавать отчеты в электронной форме. В этом материале мы на примере расскажем, как получить отчет в виде электронного документа на основании обычного бумажного отчета согласно стандарту электронного документа отчетности налогоплательщиков (утвержден Приказом ГНАУ от 23.12.2003 № 616).
За основу примера возьмем формирование "Налогового расчета сумм дохода, начисленного (уплаченного) в пользу налогоплательщиков, и сумм, удержанных из них налога" за I квартал 2004 года для частного предприятия, где в отчетный период работали трое лиц (см. примечание 1).
Первый шаг
Набор служебной директивы. Служебная директива объявляет документ XML-структурой (см. примечание 2), и вся информация в нем направляется в кодировке windows, а именно в кодовой странице 1251.
Пример. Директива всегда набирается в нижнем регистре, то есть маленькими буквами:
<?xml version="1.0" encoding="windows-1251"?>
Второй шаг
Формирование служебного заголовка. Заключается в теги
В заголовке должна содержаться информация:
• код ЕДРПОУ или идентификационный номер ДРФО налогового агента;
• код отчетного документа;
• подтип документа;
• номер версии документа;
• номер исправленного документа (для первого поданного указывается 0);
• номер однотипного документа в периоде;
• код государственной налоговой инспекции, в которую направляется отчет, согласно справочнику налоговых инспекций;
• отчетный месяц (последний в отчетном периоде);
• отчетный год;
• дата предоставления документа (в формате ддммрррр).
Пример. Согласно справочнику отчетных документов, форма 1-ДФ имеет код J05, подтип документа 001, номер версии 2. Согласно справочнику налоговых инспекций ГНИ в Дарницком районе Киева имеет код 2651. Наш отчетный документ — первый поданый и первый в отчетном периоде. Мы располагаем полным набором необходимых данных для построения служебного заголовка:
<DECLARHEAD>
<TIN>22222222</TIN>
<C_DOC>J05</C_DOC>
<C_DOC_SUB>001</C_DOC_SUB>
<C_DOC_VER>2</C_DOC_VER>
<C_DOC_TYPE>0</C_DOC_TYPE>
<C_DOC_CNT>1</C_DOC_CNT>
<C_STI>2651</C_STI>
<PERIOD_MONTH>3</PERIOD_MONTH>
<PERIOD_YEAR>2004</PERIOD_YEAR>
<D_FILL>10042004</D_FILL>
</DECLARHEAD>
Третий шаг
Формирование тела документа берется в теги
Переносим данные из формы в XML-файл. Каждое значение берется в служебные теги, именуемые согласно соответствующему шаблону. Некоторые из показателей размещены группами, причем в отчете можно будет отметить только один из показателей, как то: "юридическое лицо" — "физическое лицо" или "отчетный" — "новый отчетный" — "уточняющий". В таком случае избранный показатель имеет значение 1, остальные показатели из группы вообще не переносятся в XML-файл.
Кодируем основную таблицу. Все таблицы в отчетных документах условно можно разделить на две группы: имеющие фиксированное количество строк и колонок, и такие, в которых количество строк может быть от нуля до определенной величины, например, 1000, как в Форме 1-ДФ. И если с первой группой проблем не возникает, и каждому показателю там отвечает свой элемент с уникальным именем, то во втором случае каждая строка имеет набор однотипных элементов и все показатели колонки именуются одинаково.
Кодируем даты. Все даты в теле документа записываются в формате ддммрррр, где первые две цифры — день, следующие две — месяц, а последние четыре позиции отведены под номер года. Кроме того, тело документа может содержать элементы с пустым значением. Это те графы, которые не заполняются в отчетной форме. В таком случае эти элементы или вообще не отражаются в выходном XML-файле, или отражаются по принципу: <название элемента>названия элемента> или <название элемента/>. Для данных денежного типа разделителем десятичных разрядов служит точка. В символьных значениях используются специальные подстановки.
Пример. В бумажном документе код ЕДРПОУ обозначен как HTIN, поэтому его значение перенесется соответственно <HTIN>0022222222</HTIN>
Пример. Все элементы, содержащие идентификационный номер из графы 2, будут именоваться RXXXXG02, а чтобы различить, к какой строке относится тот или иной показатель, каждому элементу присваивается атрибут ROWNUM, значением которого и является номер строки, начиная с 1. Поэтому идентификационный номер из второй строки таблицы теперь закодируется как
<RXXXXG02 rownum ="2">2222222222</RXXXXG02>
Пример. В нашем случае в названии налогового агента мы заменим двойные кавычки на "
Теперь закодируем форму по правилам Стандарта.
Она будет выглядеть так:
<DECLARBODY>
<HTIN>0022222222</HTIN>
<HJ>1</HJ><HZ>1</HZ>
<HPAGES>1</HPAGES>
<HTINSTI>26088794</HTINSTI>
<HNAME>Приватне підприємство "Темп -плюс" </HNAME>
<HSTI>ДПІ у Дарницькому районі м. Києва </HSTI>
<HZP>1</HZP><HZY>2004</HZY><R00G01I>3</R00G01I>
<R00G02I>0</R00G02I>
<RXXXXG02 rownum="1">1111111111</RXXXXG02>
<RXXXXG03A rownum="1">1000.00</RXXXXG03A>
<RXXXXG03 rownum="1">816.86</RXXXXG03>
<RXXXXG04A rownum="1">183.14</RXXXXG04A >
<RXXXXG04 rownum="1">183.14</RXXXXG04>
<RXXXXG05 rownum="1">01</RXXXXG05>
<RXXXXG06 rownum="1">05012004</RXXXXG06>
<RXXXXG07 rownum="1"/><RXXXXG08 rownum="1"/>
<RXXXXG09 rownum="1">0</RXXXXG09>
<!--наступні рядки кодуються аналогічно першому-->
<R01G03A>6000.00</R01G03A><R01G03>4903.25</R01G03>
<R01G04A>1096.75</R01G04A><R01G04>1096.75</R01G04>
<R02G01I>3</R02G01I><R02G02I>3</R02G02I>
<R02G03I>1</R02G03I>
<HKBOS>4444444444</HKBOS><HBOS>Шевченко</HBOS>
<HTELBOS>4195555</HTELBOS><HFILL>10042004</HFILL>
<HKBUH>5555555555</HKBUH><HBUH>Іваницька</HBUH>
<HTELBUH>4195566</HTELBUH> <HFO/><HTELFO/>
</DECLARBODY>
Файл сформирован (см. примечание 3).
Последний шаг
Правильно называем отчет. Закрываем корневой элемент, дописав в последней строке тег . Нам остается правильно его назвать. По букве Стандарта файл должен именоваться согласно справочнику документов налоговой отчетности (ZSPR_DOC.XML) по такому принципу:
• позиции с 1 по 3 включительно отвечают полю C_DOC;
• позиции с 4 по 6 — полю C_DOC_SUB;
• позиции с 7 по 8 — номеру версии документа.
Файл имеет расширение xml.
Пример:
В нашем случае:
j0500102.xml
Примечание 1. Согласно Порядку заполнения Налогового расчета, каждый документ может содержать сведения только о 1000 человек. Если же штатная численность больше, то возможна подача расчета несколькими порциями. Как в этом случае избежать конфликта в именовании файлов? Выход предлагается очень простой: к имени файла прибавляется трехзначный номер порции. Например: j0500102.001.xml, j0500102.002.xml и т.д. Такой подход правомерен не только для формы 1-ДФ, но и для любого другого отчетного документа, направляемого порциями.
Примечание 2. Согласно Стандарту, каждый отчетный документ — это файл, сформированный в формате XML (eXtensible Markup Language), который в целом регламентируется открытым стандартом W3C (http://www.w3.org/TR/REC-xml). Подробнее ознакомиться с материалами о формате электронного документа можно на сайте Государственной налоговой службы Украины http://www.sta.gov.ua/page.php3?p9-26-1. Кроме того, по этому же адресу размещены все шаблоны, схемы для проверки данных, а также справочники, на которые мы будем ссылаться.
Примечание 3. Корректность заполнения любого отчета проверяется при помощи так называемых XML-схем, которые построены согласно открытому стандарту W3C (http://www.w3.org/2001/XMLSchema-instance) и полностью описывают логическую структуру документов, ограничивают типы данных для каждого показателя в частности, а также регламентируют обязательность заполнения тех или иных значений. Поэтому при объявлении корневого элемента DECLAR указывается ссылка на соответствующую схему контроля, именование которой отвечает коду документа по справочнику, который прилагается к Стандарту:
<DECLAR xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ">
xsi:noNamespaceSchemaLocation="j0500102.xsd">
див. Шаблон закодованої форми 1-ДФ за 1 квартал 2004
Константин БЕЗДОЛЕНКО,
начальник управления разработки и сопровождения АИС «Налоги»Государственной налоговой администрации в Черкасской областиНаталья ЗАСПА,
заместитель начальника управления разработки и сопровожденияАИС «Налоги» Государственной налоговой администрации в Черкасской области
|
|