Приветствуем всех читателей нашего блога! Давно мы не говорили о типах отчетов, которые можно создавать в продуктах Stimulsoft. Сегодня речь пойдет об электронных счет-фактурах. В этой статье мы детально рассмотрим этот тип отчета и:

  • выясним, что он из себя представляет, для чего предназначен;
  • узнаем, как устроены электронные инвойсы в Германии, Франции и Швейцарии;
  • расскажем, как создать такой отчет с помощью наших продуктов.

Что такое электронная счет-фактура?

Электронная счет-фактура является формой представления и контроля транзакционных документов, выставляемой торговыми партнерами с целью обеспечения и соблюдения условий торговых соглашений. В эти документы входят: счет-фактуры, заказы на покупку, долговые извещения, кредитное авизо, условия оплаты, платежные инструкции и т.д. Все они оформляются в электронном виде, что и является главным преимуществом электронного инвойса перед всеми остальными. Сам отчет состоит из двух частей: визуальной для человека и структурированной, машиночитаемой для компьютеров. Первая представлена в виде обычных страниц PDF-документа, вторая является XML-представлением.

В настоящее время многие компании полностью переходят на электронное выставление счетов. Это автоматизирует весь процесс торговой сделки и сокращает расходы.

Давайте узнаем, как устроены электронные счет-фактуры в Германии, Франции и Швейцарии и заодно посмотрим, как с помощью наших продуктов можно создать электронный инвойс для этих стран.

Электронные счет-фактуры в Германии

4 апреля 2017 года немецким законом (E-Rechnungsgesetz) была определена правовая база об электронном выставлении счетов-фактур. Она определяет порядок получения и обработки электронных инвойсов всеми федеральными заказчиками независимо от суммы. Вместе с этим Германия разработала собственный формат ZUGFeRD (название пародирует немецкое слово «Zugpferd», которое переводится, «как лошадь в упряжке»). Под этим подразумевается то, что этот формат является инструментом для обработки счет-фактур, позволяющий поставщику и покупателю обмениваться документами, не заключая никаких соглашений. Данный формат не ограничен какой-то определенной отраслью промышленности или размером компании. По факту, он может использоваться абсолютно везде и позволяет осуществлять обмен электронными счет-фактурами как в государственном, так и в частном секторах. В отличии от стандарта EDI, ZUGFeRD могут использовать не только крупные компании, но и мелкие, средние организации и даже фрилансеры.

Электронные счет-фактуры во Франции

Франция, как и многие другие страны, активно развивает систему электронных счетов. В связи с этим, правительство Франции даже собирается ввести обязательное выставление счетов-фактур и электронной отчетности с июля 2024 года, после чего все французские компании должны будут иметь возможность получать электронные инвойсы от поставщиков. С 2017 года во Франции электронное выставление счетов для B2G (передача электронных счетов в государственные органы) является обязательным для компаний с численностью сотрудников в 5000 человек. С января 2020 года, даже самые маленькие компании со штатом менее 10 сотрудников должны выставлять электронные счета государственным организациям. В этой стране электронные инвойсы создаются с помощью стандарта Factur-X.

Чтобы упростить документооборот между странами, Франция совместно с Германией разработали новый формат ZUGFeRD 2.1/Factur-X, который появился 24 марта 2020 года. Новый формат полностью совместим с исходными форматами ZUGFeRD 2.0 и Factur-X 1.0. Важно знать!

ZUGFeRD является гибридным форматом, который содержит структурированные данные электронной счет-фактуры внутри PDF/A-3 файла, который является визуальной частью инвойса. Структурированные данные в XML-формате могут быть прочитаны из документа и использованы получателем.

Создание электронной счет-фактуры в формате ZUGFeRD или Factur-X в дизайнере отчетов Stimulsoft

Сразу оговоримся, что создать счет-фактуру в указанном формате средствами одного только дизайнера отчетов нельзя. В дизайнере отчетов можно сделать только визуальную часть электронной счет-фактуры. Остальные операции нужно производить из кода, потому что для создания PDF-файла в нужном формате нужно установить много опций, которые невозможно задать в дизайнере.

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

Создание электронной счет-фактуры из кода происходит следующим образом:

  • загружаем шаблон отчета;
  • строим отчет для получения визуальной части инвойса;
  • в настройках PDF-экспорта устанавливаем нужные параметры:
    - свойство ZUGFeRDComplianceMode определяет версию формата (V1, V2, V2_1);
    - свойство ZUGFeRDConformanceLevel устанавливает нужный уровень соответствия;
    - применяем заранее загруженный XML-файл с данными инвойса с помощью свойства ZUGFeRDInvoiceData.
  • экспортируем отчёт в формат PDF, на выходе получаем файл, который соответствует всем требованиям спецификации.


Пример кода для экспорта электронной счет-фактуры в формате ZUGFeRD 2.0 со стандартным названием файла и описанием.
var report = new StiReport();
report.Load("template.mrt");
report.Render();

FileStream fileStream = new FileStream(@"d:\test.pdf", FileMode.Create);
byte[] buf = File.ReadAllBytes(@"d:\ZUGFeRD-invoice.xml");

var pdfExportSettings = new StiPdfExportSettings()
{
	ZUGFeRDComplianceMode = StiPdfZUGFeRDComplianceMode.V2,
	ZUGFeRDInvoiceData = buf,
	ZUGFeRDConformanceLevel = "EN 16931" //BASIC, EN 16931, EXTENDED
};

report.ExportDocument(StiExportFormat.Pdf, fileStream, pdfExportSettings);
fileStream.Close();

Пример кода для экспорта электронной счет-фактуры в формате ZUGFeRD 2.1/Factur-X с измененными настройками.
var report = new StiReport();
report.Load("template.mrt");
report.Render();

FileStream fileStream = new FileStream(@"d:\test.pdf", FileMode.Create);
byte[] buf = File.ReadAllBytes(@"d:\ZUGFeRD-invoice.xml");

var pdfExportSettings = new StiPdfExportSettings();
pdfExportSettings.ZUGFeRDComplianceMode = StiPdfZUGFeRDComplianceMode.V2_1;
pdfExportSettings.EmbeddedFiles.Add(new StiPdfEmbeddedFileData("factur-x.xml", "Factur-X/ZUGFeRD", buf));
pdfExportSettings.ZUGFeRDConformanceLevel = "EN 16931";

report.ExportDocument(StiExportFormat.Pdf, fileStream, pdfExportSettings);
fileStream.Close();

Электронные счет-фактуры в Швейцарии

Электронные счет-фактуры в Швейцарии используются уже на протяжении двух десятилетий. Сначала электронные счета отправляли частным получателям (B2C), немного позже, за счет интеграции электронных счетов в порталы онлайн-банкинга, вырос уровень принятия среди конечных потребителей. Вслед за этим электронные счет-фактуры стали использоваться в B2B и B2G компаниях. Вследствие этого в 2017 году более 25% счет-фактур в Швейцарии были выставлены в электронном виде. Примечание

Между прочим, в сфере B2G электронное выставление инвойсов является обязательным в Швейцарии с начала 2016 года. Для транзакций на сумму контракта более 5000 швейцарских франков поставщики должны представлять счета-фактуры в Федеральную администрацию в электронной форме. Однако, для B2B и B2C электронное выставление счетов остается необязательным.

Создание швейцарской электронной счет-фактуры в дизайнере отчетов Stimulsoft

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

Если у вас остались вопросы, свяжитесь с нами. Будем рады вам помочь.
By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.