Ajouter des objets aux documents XBRL à l'aide de C#

XBRL (eXtensible Business Reporting Language) définit et échange des informations financières, telles qu’un état financier. Un document d’instance XBRL est un ensemble de faits qui, ensemble, constituent un rapport d’activité. Nous pouvons facilement créer un document d’instance XBRL par programme et ajouter des objets ou des éléments tels qu’une référence de schéma, un contexte, une unité, des éléments, etc. Dans cet article, nous apprendrons comment ajouter des objets aux documents d’instance XBRL à l’aide de C#.

Les sujets suivants seront traités dans cet article :

API C# pour ajouter des objets aux documents d’instance XBRL

Pour créer un document d’instance XBRL et ajouter des objets, nous utiliserons l’API Aspose.Finance for .NET. Il permet de créer des instances XBRL, d’analyser et de valider les fichiers XBRL ou iXBRL. Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Finance

Ajouter une référence de schéma à XBRL à l’aide de C#

Nous pouvons ajouter une référence de schéma dans un document d’instance XBRL en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe XbrlDocument.
  2. Ensuite, récupérez la collection d’instances de l’objet XbrlDocument dans l’objet XbrlInstanceCollection.
  3. Ensuite, ajoutez une nouvelle instance XBRL à l’aide de la méthode XbrlInstanceCollection.Add().
  4. Ensuite, récupérez la collection de référence de schéma de l’objet XbrlInstance dans l’objet SchemaRefCollection.
  5. Après cela, ajoutez une nouvelle référence de schéma à l’aide de la méthode SchemaRefCollection.Add().
  6. Enfin, enregistrez le fichier XBRL à l’aide de la méthode XbrlDocument.Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment ajouter une référence de schéma dans un document d’instance XBRL à l’aide de C#.

// Cet exemple de code montre comment ajouter un objet SchemaReference à XBRL.
// Créer une instance de la classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Obtenir des instances Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Ajouter une instance Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Obtenir la collection de références de schéma
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;

// Ajouter une référence de schéma
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");

// Enregistrer le fichier de sortie
document.Save(@"D:\Files\Finance\output.xbrl");

Ajouter un objet de contexte dans XBRL à l’aide de C#

Nous pouvons ajouter un contexte à un document d’instance XBRL en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe XbrlDocument.
  2. Ensuite, récupérez la collection d’instances de l’objet XbrlDocument dans l’objet XbrlInstanceCollection.
  3. Ensuite, ajoutez une nouvelle instance XBRL à l’aide de la méthode XbrlInstanceCollection.Add().
  4. Ensuite, créez une instance de la classe ContextPeriod avec les dates de début et de fin.
  5. Ensuite, créez un ContextEntity et fournissez un schéma et un identifiant.
  6. Ensuite, créez une instance de la classe Context avec les ContextPeriod et ContextEntity définis.
  7. Après cela, ajoutez l’objet Context à la collection Context objects.
  8. Enfin, enregistrez le fichier XBRL à l’aide de la méthode XbrlDocument.Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment ajouter un objet de contexte dans un document d’instance XBRL à l’aide de C#.

// Cet exemple de code montre comment ajouter un objet Context à XBRL.
// Créer une instance de la classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Obtenir des instances Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Ajouter une instance Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Définir la période de contexte
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));

// Entrée de contexte Cretae
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");

// Créer un contexte
Context context = new Context(contextPeriod, contextEntity);

// Ajouter du contexte
xbrlInstance.Contexts.Add(context);

// Enregistrer le fichier de sortie
document.Save(@"D:\Files\Finance\Output.xbrl");

Créer des unités en XBRL à l’aide de C#

Les unités en XBRL mesurent les éléments numériques. Nous pouvons ajouter une unité dans un document d’instance XBRL en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe XbrlDocument.
  2. Ensuite, récupérez la collection d’instances de l’objet XbrlDocument dans l’objet XbrlInstanceCollection.
  3. Ensuite, ajoutez une nouvelle instance XBRL à l’aide de la méthode XbrlInstanceCollection.Add().
  4. Ensuite, créez une instance de la classe Unit avec UnitType comme mesure.
  5. Ensuite, ajoutez QualifiedName à la collection MeasureQualifiedNames.
  6. Après cela, ajoutez l’unité à la collection Unit objects.
  7. Enfin, enregistrez le fichier XBRL à l’aide de la méthode XbrlDocument.Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment ajouter un objet d’unité dans un document d’instance XBRL à l’aide de C#.

// Cet exemple de code montre comment ajouter un objet Unit à XBRL.
// Créer une instance de la classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Obtenir des instances Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Ajouter une instance Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Définir l'unité
Unit unit = new Unit(UnitType.Measure);

// Ajouter un nom de qualificateur
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));

// Ajouter une unité
xbrlInstance.Units.Add(unit);

// Enregistrer le fichier de sortie
document.Save(@"D:\Files\Finance\Output.xbrl");

Ajouter un objet de fait dans XBRL à l’aide de C#

Les faits en XBRL sont définis à l’aide d’éléments d’élément. Un élément en XBRL contient la valeur du fait simple et une référence au contexte pour interpréter correctement ce fait. Nous pouvons ajouter un élément dans un document d’instance XBRL en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe XbrlDocument.
  2. Ajoutez une nouvelle instance XBRL aux instances de l’objet XbrlDocument.
  3. Ajoutez une nouvelle référence de schéma aux références de schéma de l’objet XbrlInstance.
  4. Obtenez SchemaRef par son index de SchemaRefCollection.
  5. Initialisez l’instance Context et ajoutez-la à la collection Context objects.
  6. Définissez une instance Unit et ajoutez-la à la collection Unit objects.
  7. Créez une instance de classe Concept à l’aide de la méthode SchemaRef.GetConceptByName().
  8. Créez une instance de la classe Item avec l’objet Concept comme argument.
  9. Définissez les propriétés des éléments telles que ContextRef, UnitRef, Precision, Value, etc.
  10. Après cela, ajoutez l’élément à la collection Fact objects.
  11. Enfin, enregistrez le fichier XBRL à l’aide de la méthode XbrlDocument.Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment ajouter un fait en tant qu’élément d’élément dans un document d’instance XBRL à l’aide de C#.

// Cet exemple de code montre comment ajouter un objet d'élément de fait à XBRL.
// Créer un document Xbrl
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];

// Définir la référence du schéma
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Définir le contexte
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");
Context context = new Context(contextPeriod, contextEntity);
xbrlInstance.Contexts.Add(context);

// Définir l'unité
Unit unit = new Unit(UnitType.Measure);
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
xbrlInstance.Units.Add(unit);

// Obtenir le concept
Concept fixedAssetsConcept = schema.GetConceptByName("fixedAssets");
if (fixedAssetsConcept != null)
{
    // Définir l'élément Item pour le fait
    Item item = new Item(fixedAssetsConcept);
    item.ContextRef = context;
    item.UnitRef = unit;
    item.Precision = 4;
    item.Value = "1444";
    
    // Ajouter un élément d'élément aux faits
    xbrlInstance.Facts.Add(item);
}

// Enregistrer le fichier de sortie
document.Save(@"D:\Files\Finance\Output.xbrl");

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.

Conclusion

Dans cet article, nous avons appris à créer un document XBRL à l’aide de C#. Nous avons également vu comment ajouter divers objets XBRL au document d’instance XBRL créé par programmation. En outre, vous pouvez en savoir plus sur l’API Aspose.Finance for .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également