Приветствуем всех читателей нашего блога! Давно мы не говорили о типах отчетов, которые можно создавать в продуктах 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

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

Если у вас остались вопросы, свяжитесь с нами. Будем рады вам помочь.
Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.