/xXSDHub

BR-DE-28: Seller email must have a valid structure

Seller email must have a valid structure; provide an email address with one @ and valid characters on both sides.

What the rule says

[BR-DE-28] In BT-43 soll genau ein @-Zeichen enthalten sein, welches nicht von einem Leerzeichen, einem Punkt, aber mindestens zwei Zeichen auf beiden Seiten flankiert werden soll. Ein Punkt sollte nicht am Anfang oder am Ende stehen.

Official xrechnung source, version 2.6.0 / XRechnung 3.0.2. Apache 2.0; sources, licences and notices. Syntax and business checks are separate; this is not certification.

Seller email must have a valid structure

Seller email must have a valid structure. The controlled example changes the specific field or group named by this rule. Set only /*/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail to 'seller@@email.de'.

Business terms: BT-43.

Provide an email address with one @ and valid characters on both sides.

Reproduced failure and correction

Tested on 2 November 2026 with the production SaxonC-HE 13.1 / saxonche 13.1.1 engine, xrechnung mode, UBL. The XSD passes; the report then contains BR-DE-28. Restoring this fragment makes the complete original invoice pass the selected checks.

[BR-DE-28] In BT-43 soll genau ein @-Zeichen enthalten sein, welches nicht von einem Leerzeichen, einem Punkt, aber mindestens zwei Zeichen auf beiden Seiten flankiert werden soll. Ein Punkt sollte nicht am Anfang oder am Ende stehen.

Additional triggered rules: 0. None. Counts include distinct error and warning codes; the target code is excluded.

Precise mutated XPath: /*/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail.

Before: triggers this rule

<cac:Contact xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
                <cbc:Name>nicht vorhanden</cbc:Name>
                <cbc:Telephone>+49 1234-5678</cbc:Telephone>
                <cbc:ElectronicMail>seller@@email.de</cbc:ElectronicMail>
            </cac:Contact>
        

After: passes

<cac:Contact xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
                <cbc:Name>nicht vorhanden</cbc:Name>
                <cbc:Telephone>+49 1234-5678</cbc:Telephone>
                <cbc:ElectronicMail>seller@email.de</cbc:ElectronicMail>
            </cac:Contact>
        

The context shown is part of a complete invoice; it is not a standalone invoice. Mutation: value at /*/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail. The passing baseline is validated with the selected pinned package. UBL examples use a controlled single-line adaptation of the official XRechnung example; the CII example uses the official EN 16931 baseline.

Download complete failing invoice · Download complete passing invoice

Check your corrected invoice →

Check the rest of the invoice

Repair the source data and exporter, then validate the complete invoice again with the same package. Review every remaining error and warning; a passing rule is not a guarantee of recipient acceptance.

EN 16931 syntax and business checks · XRechnung profile requirements · Pro/Team batch checks.