Este artigo fornece informações sobre relatórios de negócios usando o padrão XBRL, a finalidade do XBRL e como automatizar o processo de criação de relatórios de negócios baseados em XBRL em aplicativos .NET. Além disso, contém métodos passo a passo para analisar arquivos XBRL e iXBRL e recuperar dados programaticamente usando C#. Por último, mas não menos importante, ele fornece algumas maneiras simples de validar arquivos XBRL e iXBRL usando C#.
eXtensible Business Reporting Language (XBRL)
XBRL é um formato de arquivo e padrão baseado em XML usado globalmente para relatórios de negócios. Ele torna mais fácil para várias empresas e organizações de contabilidade organizar, compilar e comunicar de forma eficiente e precisa as demonstrações financeiras ou outras informações/dados relacionados a finanças. Como o XBRL é baseado em XML (Extensible Markup Language), ele usa tags para manter e analisar todos os dados financeiros. iXBRL (XBRL inline) é outra variante que possibilita manter os dados financeiros em um formato legível por humanos e por máquina ao mesmo tempo. Em contraste com o XBRL, o iXBRL usa o padrão HTML junto com algumas tags extras para figuras e declarações.
As tags em ambos, XBRL e iXBRL, são analisadas usando software compatível com XBRL para recuperar os dados. Para automatizar a análise XBRL, o Aspose oferece a API Aspose.Finance for .NET. É uma biblioteca de classes .NET que torna ainda mais fácil criar instâncias XBRL programaticamente usando C# ou VB.NET. Além disso, permite analisar e validar os arquivos XBRL ou iXBRL nos aplicativos .NET. O Aspose.Finance para .NET fornece os seguintes recursos de manipulação XBRL/iXBRL que você aprenderá neste artigo.
Você pode instalar o Aspose.Finance para .NET de NuGet ou download sua DLL para referenciá-lo manualmente em seu projeto.
Criar instância XBRL do zero em C#
Aspose.Finance para .NET simplifica a criação de instâncias XBRL a partir do zero. Você também pode adicionar a referência de esquema, contexto, unidades, itens, links de notas de rodapé, referências de função e referências de função de arco na instância XBRL recém-criada. A seguir estão as etapas para criar uma instância XBRL:
- Crie uma instância da classe XbrlDocument.
- Acesse a coleção de instâncias do objeto XbrlDocument no objeto XbrlInstanceCollection.
- Adicione uma nova instância XBRL usando o método XbrlInstanceCollection.Add().
- Salve o arquivo XBRL usando o método XbrlDocument.Save(string).
O exemplo de código a seguir mostra como criar uma instância XBRL em C#.
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];
document.Save(XbrlFilePath + @"output\document1.xbrl");
Depois de criar a instância de XBRL, você pode inserir objetos nela que são discutidos nos seguintes artigos:
- Especificar referência de esquema em XBRL
- Adicionar contextos em XBRL
- Inserir unidades em XBRL
- Adicionar itens em XBRL
- e mais.
Analisar arquivos XBRL ou iXBRL em C#
O Aspose.Finance para .NET fornece uma maneira fácil de analisar arquivos XBRL e recuperar seu conteúdo em poucas linhas de código. As seções a seguir contêm as etapas e exemplos de código de como analisar arquivos XBRL e iXBRL.
Analisar arquivos XBRL em C#
A seguir estão as etapas para analisar um arquivo XBRL usando Aspose.Finance para .NET.
- Crie uma instância da classe XbrlDocument e inicialize-a com o caminho de um arquivo XBRL.
- Obtenha as instâncias no XBRL em um objeto XbrlInstanceCollection usando a propriedade XbrlDocument.XbrlInstances.
- Acesse a instância XBRL desejada da coleção usando a classe XbrlInstance.
- Analise o conteúdo da instância XBRL.
O exemplo de código a seguir demonstra como analisar um arquivo XBRL em C#.
XbrlDocument document = new XbrlDocument(XbrlFilePath + @"IdScopeContextPeriodStartAfterEnd.xml");
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[0];
List<Fact> facts = xbrlInstance.Facts;
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
List<Context> contexts = xbrlInstance.Contexts;
List<Unit> units = xbrlInstance.Units;
Analisar arquivos iXBRL em C#
Analisar um arquivo iXBRL é comparativamente mais fácil e pode ser feito usando as etapas a seguir.
- Crie um objeto da classe InlineXbrlDocument e inicialize-o com o caminho do arquivo iXBRL.
- Acesse o conteúdo do arquivo usando o objeto InlineXbrlDocument, ou seja, InlineXbrlDocument.Facts etc.
O exemplo de código a seguir mostra como analisar e ler um arquivo iXBRL em C#.
InlineXbrlDocument document = new InlineXbrlDocument(XbrlFilePath + @"account_1.html");
List<InlineFact> inlineFacts = document.Facts;
List<Context> contexts = document.Contexts;
List<Unit> units = document.Units;
Validar arquivos XBRL ou iXBRL em C#
Os arquivos XBRL e iXBRL devem estar em conformidade com as regras de validação na especificação XBRL e especificação iXBRL, respectivamente. Desobedecer as regras de especificação pode invalidar os arquivos. Aspose.Finance for .NET também permite validar arquivos XBRL ou iXBRL para descobrir os erros. As seções a seguir demonstram como validar arquivos XBRL e iXBRL.
Validar arquivos XBRL em C#
A seguir estão as etapas para validar um arquivo XBRL:
- Crie uma instância da classe XbrlDocument.
- Acesse a instância a ser validada em XbrlInstanceCollection.
- Valide a instância XBRL usando o método XbrlInstance.Validate().
O exemplo de código a seguir mostra como validar um arquivo XBRL em C#.
XbrlDocument document = new XbrlDocument(XbrlFilePath + @"IdScopeContextPeriodStartAfterEnd.xml");
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[0];
xbrlInstance.Validate();
if(xbrlInstance.ValidationErrors.Count > 0)
{
List<ValidationError> validationErrors = xbrlInstance.ValidationErrors;
}
Validar arquivos iXBRL em C#
As etapas abaixo são usadas para validar um arquivo XBRL Inline.
- Crie uma instância da classe InlineXbrlDocument e inicialize-a com o caminho do arquivo iXBRL.
- Chame o método InlineXbrlDocument.Validate().
O exemplo de código a seguir mostra como validar um arquivo iXBRL em C#.
InlineXbrlDocument document = new InlineXbrlDocument(XbrlFilePath + @"account_1.html");
document.Validate();
if (document.ValidationErrors.Count > 0)
{
List<ValidationError> validationErrors = document.ValidationErrors;
}
Saiba mais sobre os códigos de erro de validação e as mensagens de erro aqui.
Explorar a API
Você pode aprender mais sobre como criar, analisar e validar arquivos XBRL e iXBRL no seguinte recurso:
Experimente o Aspose.Finance para .NET gratuitamente
A Aspose oferece uma licença temporária para avaliar suas APIs gratuitamente. Você também pode postar sua solicitação e obter uma licença temporária.