Factur-X / ZUGFeRD MINIMUM rules

The rules of the Factur-X / ZUGFeRD MINIMUM profile: the few EN 16931 rules on the header data it carries (BR-*, BR-CO-*) and the profile's structure and code list rules (FX-SCH-A-*).

Version
Factur-X 1.09.2 / ZUGFeRD 2.5.2
Syntax
CII
Rules
55 rules (55 fatal)
  • MINIMUM is not EN 16931 compliant: a valid MINIMUM file is valid for its profile, not an EN 16931 invoice.
  • Runs instead of the CEN EN 16931 rules: it holds the EN 16931 rules the profile has, with the same rule IDs (BR-01, BR-CO-10, …). Rule IDs that start with FX-SCH-A- check the profile's structure and code lists.
  • The XML is first checked against the XSD of the same profile, which allows only the profile's elements.

Schemas

This rule set runs on:

Rules

Rule ID, the flag in the schematron and the message. Rules with a fix guide link to it. A … in a message is a value from the invoice.

BR-* 12 rules

  • BR-01fatal

    An Invoice shall have a Specification identifier (BT-24).

  • BR-02fatal

    An Invoice shall have an Invoice number (BT-1).

  • BR-03fatal

    An Invoice shall have an Invoice issue date (BT-2).

  • BR-04fatal

    An Invoice shall have an Invoice type code (BT-3).

  • BR-05fatal

    An Invoice shall have an Invoice currency code (BT-5).

  • BR-06fatal

    An Invoice shall contain the Seller name (BT-27).

  • BR-07fatal

    An Invoice shall contain the Buyer name (BT-44).

  • BR-08fatal

    An Invoice shall contain the Seller postal address (BG-5).

  • BR-09fatal

    The Seller postal address (BG-5) shall contain a Seller country code (BT-40).

  • BR-13fatal

    An Invoice shall have the Invoice total amount without VAT (BT-109).

  • BR-14fatal

    An Invoice shall have the Invoice total amount with VAT (BT-112).

  • BR-15fatal

    An Invoice shall have the Amount due for payment (BT-115).

BR-CO-* 2 rules

  • The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’.

  • In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.

BR-DEC-* 4 rules

  • The allowed maximum number of decimals for the Invoice total amount without VAT (BT-109) is 2.

  • The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2.

  • The allowed maximum number of decimals for the Invoice total amount with VAT (BT-112) is 2.

  • The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2.

FX-SCH-A-* 37 rules

  • FX-SCH-A-000019fatal

    Element 'ram:ID' must occur exactly 1 times.

  • FX-SCH-A-000020fatal

    Element 'ram:TypeCode' must occur exactly 1 times.

  • FX-SCH-A-000021fatal

    Attribute '@format' is required in this context.

  • FX-SCH-A-000022fatal

    Value of '@format' is not allowed.

  • FX-SCH-A-000023fatal

    Value of 'ram:TypeCode' is not allowed.

  • FX-SCH-A-000024fatal

    Element 'ram:BusinessProcessSpecifiedDocumentContextParameter' may occur at maximum 1 times.

  • FX-SCH-A-000025fatal

    Element 'ram:GuidelineSpecifiedDocumentContextParameter' must occur exactly 1 times.

  • FX-SCH-A-000026fatal

    Value of 'ram:ID' is not allowed.

  • FX-SCH-A-000027fatal

    Element 'ram:SellerTradeParty' must occur exactly 1 times.

  • FX-SCH-A-000028fatal

    Element 'ram:BuyerTradeParty' must occur exactly 1 times.

  • FX-SCH-A-000029fatal

    Element 'ram:IssuerAssignedID' must occur exactly 1 times.

  • FX-SCH-A-000030fatal

    Element 'ram:Name' must occur exactly 1 times.

  • FX-SCH-A-000031fatal

    Value of '@schemeID' is not allowed.

  • FX-SCH-A-000032fatal

    Element 'ram:PostalTradeAddress' must occur exactly 1 times.

  • FX-SCH-A-000033fatal

    Element variant 'ram:SpecifiedTaxRegistration[ram:ID/@schemeID="VA"]' may occur at maximum 1 times.

  • FX-SCH-A-000034fatal

    Element variant 'ram:SpecifiedTaxRegistration[ram:ID/@schemeID="FC"]' may occur at maximum 1 times.

  • FX-SCH-A-000035fatal

    Element 'ram:CountryID' must occur exactly 1 times.

  • FX-SCH-A-000036fatal

    Value of 'ram:CountryID' is not allowed.

  • FX-SCH-A-000037fatal

    Attribute '@schemeID' is required in this context.

  • FX-SCH-A-000038fatal

    Element 'ram:InvoiceCurrencyCode' must occur exactly 1 times.

  • FX-SCH-A-000039fatal

    Element 'ram:SpecifiedTradeSettlementHeaderMonetarySummation' must occur exactly 1 times.

  • FX-SCH-A-000040fatal

    Value of 'ram:InvoiceCurrencyCode' is not allowed.

  • FX-SCH-A-000041fatal

    Element 'ram:TaxBasisTotalAmount' must occur exactly 1 times.

  • FX-SCH-A-000042fatal

    Element variant 'ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]' may occur at maximum 1 times.

  • FX-SCH-A-000043fatal

    Element 'ram:GrandTotalAmount' must occur exactly 1 times.

  • FX-SCH-A-000044fatal

    Element 'ram:DuePayableAmount' must occur exactly 1 times.

  • FX-SCH-A-000045fatal

    Value of '@currencyID' is not allowed.

  • FX-SCH-A-000192fatal

    Element variant 'ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]' may occur at maximum 1 times.

  • FX-SCH-A-000406fatal

    Element 'ram:ID' must occur exactly 1 times.

  • FX-SCH-A-000407fatal

    Element 'ram:ID' must occur exactly 1 times.

  • FX-SCH-A-000408fatal

    Element 'ram:ID' must occur exactly 1 times.

  • FX-SCH-A-000409fatal

    Element 'ram:Name' must occur exactly 1 times.

  • FX-SCH-A-000410fatal

    Value of '@schemeID' is not allowed.

  • FX-SCH-A-000411fatal

    Element 'ram:ID' must occur exactly 1 times.

  • FX-SCH-A-000412fatal

    Element 'ram:ID' must occur exactly 1 times.

  • FX-SCH-A-000413fatal

    Attribute '@schemeID' is required in this context.

  • FX-SCH-A-000414fatal

    Value of '@currencyID' is not allowed.

Check a file against Factur-X / ZUGFeRD MINIMUM rules

The validator detects the schema of your file and runs this rule set when it applies. Free, no signup.