web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Answered

report 11108 "VAT - VIES Declaration XML" Austria

(4) ShareShare
ReportReport
Posted on by 16

Hello everyone,

 

One of our customers is experiencing an issue with the Business Central SaaS AT Version (BC 25.3). When they open the report 11108 "VAT - VIES Declaration XML" and run it with the desired filters, it generates a faulty XML file. Specifically, the tags <SOLEI> and <DREIECK> are affected. These currently show a "1" but since the beginning of March, a "j" should be entered instead of the "1".

 

Is there already a solution for this? Manually editing the XML would only be a temporary fix.

 

Source:
https://www.bmf.gv.at/dam/jcr:08ae63a8-0fc4-4818-a960-f76c9404ad26/BMF_Dokumentenversion_Zusammenfassende_Meldung.pdf

https://www.bmf.gv.at/services/finanzonline/informationen-fuer-softwarehersteller/softwarehersteller-erklaerungen-und-antraege.html

I have the same question (0)
  • Suggested answer
    Saif Ali Sabri Profile Picture
    2,352 Super User 2025 Season 2 on at
    This issue is due to a recent regulatory change in Austria, where the <SOLEI> and <DREIECK> tags in the VAT - VIES Declaration XML (Report 11108) must use "j" instead of "1" starting from March 2024.
    1. Create a Report Extension:
      Copy Report 11108 to a custom report (e.g., Report 50108) to avoid modifying the standard object.

    2. Adjust Boolean-to-Text Conversion:
      In the VATReportLine data item, add a function to convert boolean values to "j" instead of "1":

      al
      Copy
      local procedure FormatBoolToJN(Value: Boolean): Text[1]
      begin
        if Value then
          exit('j');
        exit('n');
      end;
    3. Update XML Generation:
      Replace the existing Format(...) calls for SOLEI and DREIECK with the new function:

      al
      Copy
      // Existing code (example):
      // XmlElement.AddElement('SOLEI').AddText(Format(VATReportLine."VIES Sole Proprietor"));  
      // Updated code:
      XmlElement.AddElement('SOLEI').AddText(FormatBoolToJN(VATReportLine."VIES Sole Proprietor"));

    Note: Test the custom report in a sandbox environment before deployment. If Microsoft releases an official update, revert to the standard report.

    Compliance: Aligns with BMF guidelines requiring "j" (yes) or "n" (no) for boolean XML fields.

    Reference: Use the BMF documentation links provided to validate XML structure requirements.

  • MK-19031230-0 Profile Picture
    16 on at

    Hello Mr. Saif Ali Sabri,

     

    Thank you for your response.

    In the Austrian version of the MS Base App (Microsoft_Base Application_25.5.30849.31230.app), the report 11108 still includes XMLFile as the data type and Scope('OnPrem'). As a result, I cannot simply copy the report.

    The tag for 'SOLEI' is also still added as follows:
     

    XMLFile.Write(StrSubstNo('<SOLEI>%1</SOLEI>', 1));


    in the function WriteXMLData(). As a precaution, I have debugged this report, and it still executes this code in the cloud.

  • Verified answer
    Saif Ali Sabri Profile Picture
    2,352 Super User 2025 Season 2 on at

    Create a custom XML export logic to override the hardcoded values, as direct report modification isn't feasible due to Scope('OnPrem').

    1. Build a Custom XML Generator:
      Replace the XMLFile-based code with cloud-compatible XML generation (e.g., XmlDocument):

      al
      Copy
      procedure GenerateCorrectedXML()
      var
          XMLDoc: XmlDocument;
          RootElement, SoleiElement: XmlElement;
      begin
          XMLDoc := XMLDoc.Create();
          RootElement := XmlElement.Create('VATDECLARATION');
          XMLDoc.Add(RootElement);
          
          VATReportLine.FindSet();
          repeat
              SoleiElement := XmlElement.Create('SOLEI');
              // Use the actual field value and format to "j"/"n"
              SoleiElement.AddText(FormatBoolToJN(VATReportLine."VIES Sole Proprietor"));  
              RootElement.Add(SoleiElement);
          until VATReportLine.Next() = 0;
          
          XMLDoc.WriteTo(XmlWriter); // Use XmlPort or save to Blob
      end;
    2. Override the Export Process:

      • Create a new report or codeunit that replicates the data collection of Report 11108.

      • Use XmlDocument/XmlPort to generate XML with <SOLEI>j</SOLEI> instead of hardcoded 1.

    3. Deploy the Custom Solution:
      Instruct users to run the new report instead of the standard Report 11108.

    Workaround Until Microsoft Fixes the Standard Report:

    • Export the data from Report 11108, then use a PowerShell/Python script to replace <SOLEI>1</SOLEI> with <SOLEI>j</SOLEI> in the XML file.

    Compliance: Ensures alignment with BMF’s requirement for j/n boolean values.

    Key Note: Monitor Microsoft updates for a permanent fix and revert to the standard report once available.

  • Suggested answer
    Khushbu Rajvi. Profile Picture
    21,048 Super User 2025 Season 2 on at

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

News and Announcements

Season of Giving Solutions is Here!

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 1,585

#2
Khushbu Rajvi. Profile Picture

Khushbu Rajvi. 780 Super User 2025 Season 2

#3
YUN ZHU Profile Picture

YUN ZHU 712 Super User 2025 Season 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans