Customer Knowledge base

Direct e-Reporting

Overview

e-Reporting is required for multiple country mandates, such as France https://www.dynatos.com/solution-themes/the-french-e-invoicing-mandate/ .

For these reports an aggregated report for a specific period must be supplied on a set schedule.

To allow for Routty Cloud customers to comply to these requirements two approaches are supported:

  • Direct: From the customer Routty Cloud directly receives the report in the final form, that should be forwarded to the compliancy platform.

    • This page describes this direct approach.

    • No scheduling is done in Routty

    • No data aggregation is done in Routty

  • Indirect: The customer sends each section of the report as an individual document to Routty. In Routty the data aggregation and scheduled for delivery on the correct date for the required report to be delivered.

Since for each mandate the reporting schedules and requirements could differ, this page describes the process from a high-level overview; Without going into details this page should instruct you how direct e-Reporting can be used.


Core Concepts

e-Report / Aggregated report

A single document summarizing or reporting about a number of documents that were previously sent out.

Transaction Report

Report describing the number and type of transactions.

Payment Report

Report describing what kinds of payments were received over documents.


How to: Direct e-Reporting

Direct e-Reporting documents can be uploaded just like regular documents, but there are a few extra requirements for these documents:

  • Aggregated report must be included in base64 in the format of the compliancy mandate

  • DocumentTypeCode should be set to REPORT for document classification and routing

  • Attachment must be tagged using ExternalReference/ID = REPORT

  • The ExternalReference must occur before the EmbeddedDocumentBinaryObject inside the attachment

Once received Routty will process the document and as soon as processed sent it through to the compliance network.

NB: No scheduling is done for direct e-Reports.

Report extraction and processing

In order to process the report correctly through RouttyCloud we will extract the report from the XML to re-embed it after all the XSLT stylesheets are completed.

Extracting will be done based on the Attachment/ExternalReference/ID = REPORT tag, when the attachment is correctly tagged using this value the report will be extracted before the first XSLT stylesheet.

The REPORT value is case-sensitive. Only the first correctly tagged report attachment is extracted. The extracted report is also added to the document as a Report attachment, such that it can be reviewed in Routty Cloud.

Once the output.xml is created the base64 report will be re-embedded in the output.xml by finding and replacing the tag [BASE64_REPORT].

If the extraction tag is not found the document continues through the regular processing flow without extracting the report. For large documents this might result in a timeout exception due to too large file constraints!

If the [BASE64_REPORT] tag is not found in the output.xml the report cannot be re-embedded. Routty Cloud will record a warning and continue processing the output.xml without the report content.

image-20260520-093059.png

Expected XML Input Format

In order to sent in a direct e-Report the following XML structure should be used:

XML
<AttachedDocument
    xmlns="urn:oasis:names:specification:ubl:schema:xsd:AttachedDocument-2"
    xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
    xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">

    <cbc:UBLVersionID>2.1</cbc:UBLVersionID>
    <cbc:CustomizationID>urn:routty:attached-document:e-report:1.0</cbc:CustomizationID>
    <cbc:ProfileID>urn:routty:profile:e-report</cbc:ProfileID>

    <cbc:ID>ATT-REPORT-001</cbc:ID>
    <cbc:IssueDate>2026-05-20</cbc:IssueDate>

    <!-- Tag as report -->
    <cbc:DocumentTypeCode listID="RouttyAttachmentType">REPORT</cbc:DocumentTypeCode>
    <cbc:DocumentType>Electronic Report</cbc:DocumentType>

    <cac:SenderParty>
        <cbc:EndpointID schemeID="0208">0123456789</cbc:EndpointID>
        <cac:PartyIdentification>
            <cbc:ID schemeID="9925">BE0123456789</cbc:ID>
        </cac:PartyIdentification>
        <cac:PartyName>
            <cbc:Name>Sender Company NV</cbc:Name>
        </cac:PartyName>
        <cac:PostalAddress>
            <cbc:StreetName>Main Street</cbc:StreetName>
            <cbc:BuildingNumber>1</cbc:BuildingNumber>
            <cbc:CityName>Brussels</cbc:CityName>
            <cbc:PostalZone>1000</cbc:PostalZone>
            <cac:Country>
                <cbc:IdentificationCode>BE</cbc:IdentificationCode>
            </cac:Country>
        </cac:PostalAddress>
        <cac:PartyTaxScheme>
            <cbc:CompanyID>BE0123456789</cbc:CompanyID>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <cac:PartyLegalEntity>
            <cbc:RegistrationName>Sender Company NV</cbc:RegistrationName>
            <cbc:CompanyID schemeID="9925">BE0123456789</cbc:CompanyID>
        </cac:PartyLegalEntity>
    </cac:SenderParty>

    <cac:ReceiverParty>
        <!-- Use the actual government/platform identifier if provided -->
        <cac:PartyIdentification>
            <cbc:ID schemeID="FR:SIRET">FR_GOV_PLATFORM_ID_HERE</cbc:ID>
        </cac:PartyIdentification>
    
        <cac:PartyName>
            <cbc:Name>French Government Reporting Platform</cbc:Name>
        </cac:PartyName>
    
        <cac:PostalAddress>
            <cac:Country>
                <cbc:IdentificationCode>FR</cbc:IdentificationCode>
            </cac:Country>
        </cac:PostalAddress>
    </cac:ReceiverParty>

    <cac:Attachment>
        <!-- Tag attachment as report for Routty Processing -->
        <cac:ExternalReference>
            <cbc:ID>REPORT</cbc:ID>
        </cac:ExternalReference>

        <cbc:EmbeddedDocumentBinaryObject
            mimeCode="application/pdf"
            filename="e-report.pdf">
            JVBERi0xLjQKJcfs...
        </cbc:EmbeddedDocumentBinaryObject>
    </cac:Attachment>

</AttachedDocument>

‌


.