Erreur FX-HORS-PROFIL : une donnée du XML n'est pas prévue par le profil déclaré
Message d'origine
Attribute @schemeID' marked as not used in the given context.
Autres formulations (5 sur 49)
Element 'ram:PostalTradeAddress' is marked as not used in the given context.
Element 'ram:SpecifiedTaxRegistration' is marked as not used in the given context.
Element variant 'ram:SpecifiedTaxRegistration[ not(ram:ID/@schemeID="VA") and not(ram:ID/@schemeID="FC")]' is marked as not used in the given context.
Attribute @currencyID' marked as not used in the given context.
Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.
Ce message est celui des règles officielles, reproduit tel quel. Les codes BT et BG désignent les données de la norme EN 16931.
Ce que vérifie la règle
Chaque profil Factur-X fixe la liste des données que le XML peut contenir. Une balise ou un attribut admis dans un profil riche peut être interdit dans un profil plus léger.
Le Schematron du profil signale ces données par un message du type « marked as not used in the given context », sans leur donner d'identifiant de règle. Le validateur les regroupe sous le code FX-HORS-PROFIL, qui est propre à FecAnalyzer. Le message technique nomme la balise ou l'attribut en cause.
Causes fréquentes
- Le logiciel produit le même XML pour tous les profils, et ne change que le nom du profil déclaré.
- Un attribut facultatif dans un autre profil est écrit partout, par exemple le code de devise sur chaque montant.
- Le profil déclaré est plus léger que les données réellement exportées.
Comment corriger
- Repérez dans le message technique la balise ou l'attribut signalé, puis retirez-le du XML.
- Si cette donnée vous est utile, déclarez un profil qui l'admet, dans le XML comme dans les métadonnées du PDF.
Exemple
Dans le profil BASIC WL, la base imposable ne porte pas d'attribut de devise.
XML fautif
<ram:ApplicableTradeTax> <ram:CalculatedAmount>20.00</ram:CalculatedAmount> <ram:TypeCode>VAT</ram:TypeCode> <ram:BasisAmount currencyID="EUR">100.00</ram:BasisAmount>
XML corrigé
<ram:ApplicableTradeTax> <ram:CalculatedAmount>20.00</ram:CalculatedAmount> <ram:TypeCode>VAT</ram:TypeCode> <ram:BasisAmount>100.00</ram:BasisAmount>
L'exemple est en syntaxe CII, celle de Factur-X, réduit aux balises utiles.
Où s'applique cette règle
La règle figure dans les jeux de règles officiels suivants, exécutés par le validateur :
- Factur-X MINIMUM
- Factur-X BASIC WL
- Factur-X BASIC
- Factur-X EN 16931
- Factur-X EXTENDED