Utwórz plik XBRL za pomocą Python

Dokument XBRL to zbiór faktów, które razem składają się na raport biznesowy. Możemy łatwo programowo utworzyć dokument instancji XBRL i dodać obiekty lub elementy, takie jak odwołanie do schematu, kontekst, jednostka, elementy itp. W tym artykule nauczymy się, jak utworzyć plik XBRL za pomocą Python.

W tym artykule zostaną omówione następujące tematy:

  1. Co to jest XBRL
  2. Biblioteka finansowa Python do tworzenia plików XBRL
  3. Utwórz plik XBRL
  4. Dodaj odniesienie do schematu do XBRL
  5. Dodaj kontekst w XBRL
  6. Stwórz jednostkę w XBRL
  7. Dodaj fakt w XBRL
  8. Dodaj linki do przypisów do XBRL
  9. Wstaw odniesienie do roli w XBRL
  10. Dodaj odniesienie do roli Arc do XBRL

Co to jest XBRL

XBRL oznacza eXtensible Business Reporting Language, język znaczników oparty na XML. Służy do znormalizowanego raportowania biznesowego wyników finansowych firmy. Zapewnia sposób komunikowania się i wymiany informacji biznesowych między systemami biznesowymi.

Python Finance Library do tworzenia plików XBRL

Aby utworzyć plik XBRL lub dokument instancji, użyjemy API Aspose.Finance for Python. Umożliwia tworzenie instancji XBRL, parsowanie i sprawdzanie poprawności plików XBRL lub iXBRL.

Interfejs API udostępnia klasę XbrlDocument, która reprezentuje dokument XBRL zawierający co najmniej jedną instancję XBRL. Instancja XBRL to fragment XML, w którym element główny ma znacznik XBRL. Klasa XbrlInstance udostępnia różne metody i właściwości do pracy z instancjami XBRL. Metoda save() klasy XbrlDocument tworzy i zapisuje plik XBRL na dysku. Przeczytaj więcej o innych klasach do pracy z obiektami XBRL w referencja API.

Proszę pobierz pakiet lub zainstaluj API z PyPI za pomocą następującego polecenia pip w konsoli:

pip install aspose-finance

Utwórz dokument instancji XBRL w Python

Możemy łatwo stworzyć dokument instancji XBRL od podstaw, wykonując poniższe czynności:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie uzyskaj dostęp do kolekcji instancji z obiektu XbrlDocument do obiektu xbrlinstances.
  3. Następnie dodaj nową instancję XBRL za pomocą metody xbrlinstances.add().
  4. Na koniec zapisz plik XBRL przy użyciu metody save(string). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak utworzyć wystąpienie XBRL przy użyciu języka Python.

# Ten przykład kodu pokazuje, jak utworzyć dokument XBRL
from aspose.finance.xbrl import XbrlDocument

# Ścieżka do katalogu dokumentów.
outputFile = "C:\\Files\\document.xbrl"

# Utwórz dokument XBRL
xbrlDoc = XbrlDocument()

# Pobierz kolekcję instancji dokumentów
xbrlInstances = xbrlDoc.xbrl_instances

# Dodaj instancję do kolekcji
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Zapisz plik
xbrlDoc.save(outputFile)

Po utworzeniu instancji XBRL możemy dodać odniesienie do schematu, kontekst, jednostki, elementy, łącza do przypisów, odniesienia do ról i odniesienia do ról łukowych w nowo utworzonej instancji XBRL.

Dodaj odwołanie do schematu do XBRL za pomocą Python

Możemy dodać odwołanie do schematu w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie pobierz kolekcję instancji obiektu XbrlDocument do obiektu xbrlinstances.
  3. Następnie dodaj nową instancję XBRL za pomocą metody xbrlinstances.add().
  4. Następnie pobierz kolekcję odwołań do schematu obiektu XbrlInstance do obiektu schemarefs.
  5. Następnie dodaj nowe odwołanie do schematu za pomocą metody schemarefs.add() z wejściowym plikiem schematu.
  6. Na koniec zapisz plik XBRL przy użyciu metody save(string).

Poniższy przykładowy kod pokazuje, jak utworzyć dokument wystąpienia XBRL i dodać odwołanie do schematu w języku Python.

# Ten przykład kodu demonstruje, jak utworzyć dokument XBRL i dodać obiekt odwołania do schematu
from aspose.finance.xbrl import XbrlDocument

# Ścieżka do katalogu dokumentów.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Utwórz dokument XBRL
xbrlDoc = XbrlDocument()

# Pobierz kolekcję instancji dokumentów
xbrlInstances = xbrlDoc.xbrl_instances

# Dodaj instancję do kolekcji
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Pobierz kolekcję odwołań do schematu instancji
schemaRefs = xbrlInstance.schema_refs

# Dodaj schemat
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")

# Zapisz dokument
xbrlDoc.save(outputFile)

Dodaj kontekst w XBRL za pomocą Python

Możemy dodać kontekst do dokumentu instancji XBRL, wykonując poniższe czynności:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie dodaj nową instancję XBRL do xbrlinstances obiektu XbrlDocument.
  3. Następnie utwórz instancję klasy ContextPeriod z datami rozpoczęcia i zakończenia.
  4. Następnie utwórz obiekt ContextEntity ze schematem i identyfikatorem.
  5. Następnie utwórz instancję klasy Context ze zdefiniowanymi parametrami ContextPeriod i ContextEntity.
  6. Następnie dodaj obiekt Context do kolekcji contexts.
  7. Na koniec zapisz plik XBRL przy użyciu metody save(string).

Poniższy przykładowy kod pokazuje, jak utworzyć dokument wystąpienia XBRL i dodać obiekt kontekstu w języku Python.

# Ten przykład kodu pokazuje, jak utworzyć dokument XBRL i dodać obiekt kontekstu
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context

# Ścieżka do katalogu dokumentów.
outputFile = "C:\\Files\\document.xbrl"

# Utwórz dokument XBRL
xbrlDoc = XbrlDocument()

# Pobierz kolekcję instancji dokumentów
xbrlInstances = xbrlDoc.xbrl_instances

# Dodaj instancję do kolekcji
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Dodaj okres kontekstu
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))

# Dodaj encję kontekstu
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")

# Zdefiniuj i dodaj kontekst
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Zapisz dokument
xbrlDoc.save(outputFile)

Twórz jednostki w XBRL za pomocą Python

Jednostki w XBRL mierzą pozycje numeryczne. Możemy dodać jednostkę w dokumencie instancji XBRL, wykonując poniższe czynności:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie dodaj nową instancję XBRL do xbrlinstances obiektu XbrlDocument.
  3. Następnie utwórz instancję klasy Unit z parametrem UnitType jako MEASURE.
  4. Następnie dodaj QualifiedName do kolekcji MeasurequalifiedName.
  5. Następnie dodaj jednostkę do kolekcji jednostek.
  6. Na koniec zapisz plik XBRL przy użyciu metody save(string).

Poniższy przykładowy kod pokazuje, jak utworzyć plik XBRL i dodać obiekt jednostki w języku Python.

# Ten przykład kodu demonstruje, jak utworzyć dokument XBRL i dodać obiekt Unit
from aspose.finance.xbrl import XbrlDocument,Unit,QualifiedName,UnitType

# Ścieżka do katalogu dokumentów.
outputFile = "C:\\Files\\document.xbrl"

# Utwórz dokument XBRL
xbrlDoc = XbrlDocument()

# Pobierz kolekcję instancji dokumentów
xbrlInstances = xbrlDoc.xbrl_instances

# Dodaj instancję do kolekcji
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Dodaj jednostkę
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# Zapisz dokument
xbrlDoc.save(outputFile)

Dodaj element faktów w XBRL za pomocą Python

Fakty w XBRL są definiowane za pomocą elementów pozycji. Pozycja w XBRL zawiera wartość prostego faktu i odniesienie do kontekstu, aby poprawnie zinterpretować ten fakt. Możemy dodać element w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Dodaj nową instancję XBRL do xbrlinstances obiektu XbrlDocument.
  3. Dodaj nowe odwołanie do schematu do schemarefs obiektu XbrlInstance.
  4. Uzyskaj SchemaRef według jego indeksu ze schemarefs.
  5. Zainicjuj wystąpienie kontekstu i dodaj je do kolekcji kontekstów.
  6. Zdefiniuj instancję Unit i dodaj ją do kolekcji jednostek.
  7. Utwórz instancję klasy Concept za pomocą metody getconceptbyname() .
  8. Utwórz instancję klasy Item z obiektem Concept jako argumentem.
  9. Ustaw właściwości elementu, takie jak contextref, unitref, precyzja, wartość itp.
  10. Następnie dodaj element do kolekcji faktów.
  11. Na koniec zapisz plik XBRL przy użyciu metody save(string).

Poniższy przykładowy kod pokazuje, jak dodać fakt jako element elementu w dokumencie instancji XBRL przy użyciu języka Python.

# Ten przykład kodu demonstruje, jak utworzyć dokument XBRL i dodać obiekt Item
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,Unit,UnitType,QualifiedName,Item

# Ścieżka do katalogu dokumentów.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Utwórz dokument XBRL
xbrlDoc = XbrlDocument()

# Pobierz kolekcję instancji dokumentów
xbrlInstances = xbrlDoc.xbrl_instances

# Dodaj instancję do kolekcji
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Pobierz kolekcję odwołań do schematu instancji
schemaRefs = xbrlInstance.schema_refs

# Dodaj schemat
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Dodaj kontekst
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Dodaj jednostkę
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# Dodaj Przedmiot
fixedAssetsConcept = schema.get_concept_by_name("fixedAssets")
if fixedAssetsConcept is not None:
    item = Item(fixedAssetsConcept)
    item.context_ref = context
    item.unit_ref = unit
    item.precision = 4
    item.value = "1444"
    xbrlInstance.facts.append(item)
    
# Zapisz dokument
xbrlDoc.save(outputFile)

Możemy dodać link do przypisu w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Dodaj nową instancję XBRL do xbrlinstances obiektu XbrlDocument.
  3. Dodaj nowe odwołanie do schematu do schemarefs obiektu XbrlInstance.
  4. Uzyskaj SchemaRef według jego indeksu ze schemarefs.
  5. Zainicjuj wystąpienie kontekstu i dodaj je do kolekcji kontekstów.
  6. Zdefiniuj instancję klasy Footnote i ustaw jej etykietę i tekst.
  7. Zainicjuj typ Locator przy użyciu instancji klasy Loc.
  8. Zdefiniuj obiekt FootnoteArc z etykietą Locator i etykietą przypisu jako argumentami.
  9. Utwórz instancję klasy FootnoteLink.
  10. Dodaj przypisy dolne, lokalizator i łuk przypisów do odpowiednich kolekcji.
  11. Następnie dodaj FootnoteLink do kolekcji przypisów.
  12. Na koniec zapisz plik XBRL przy użyciu metody save(string).

Poniższy przykładowy kod pokazuje, jak dodać łącze przypisu dolnego w dokumencie wystąpienia XBRL przy użyciu języka Python.

# Ten przykład kodu demonstruje, jak utworzyć dokument XBRL i dodać obiekt łącza przypisu dolnego
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,FootnoteLink,Footnote,Loc,FootnoteArc

# Ścieżka do katalogu dokumentów.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Utwórz dokument XBRL
xbrlDoc = XbrlDocument()

# Pobierz kolekcję instancji dokumentów
xbrlInstances = xbrlDoc.xbrl_instances

# Dodaj instancję do kolekcji
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Pobierz kolekcję odwołań do schematu instancji
schemaRefs = xbrlInstance.schema_refs

# Dodaj schemat
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Dodaj kontekst
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Dodaj przypis
footnote = Footnote("footnote1")
footnote.text = "Including the effects of the merger."

# Dodaj miejsce
loc = Loc("#cd1", "fact1")

# Zdefiniuj łuk przypisu dolnego
footnoteArc = FootnoteArc(loc.label, footnote.label)

# Dodaj przypisLink
footnoteLink = FootnoteLink()
footnoteLink.footnotes.append(footnote)
footnoteLink.locators.append(loc)
footnoteLink.footnote_arcs.append(footnoteArc)
xbrlInstance.footnote_links.append(footnoteLink)
    
# Zapisz dokument
xbrlDoc.save(outputFile)

Wstaw odwołanie do roli w XBRL przy użyciu Python

Możemy dodać odwołanie do roli w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Dodaj nową instancję XBRL do xbrlinstances obiektu XbrlDocument.
  3. Dodaj nowe odwołanie do schematu do schemarefs obiektu XbrlInstance.
  4. Uzyskaj SchemaRef według jego indeksu ze schemarefs.
  5. Następnie pobierz RoleType z metody getroletypebyuri().
  6. Następnie utwórz instancję klasy RoleReference z obiektem RoleType jako argumentem.
  7. Następnie dodaj RoleReference do kolekcji rolereferences.
  8. Na koniec zapisz plik XBRL przy użyciu metody save(string).

Poniższy przykładowy kod pokazuje, jak dodać odwołanie do roli w dokumencie wystąpienia XBRL przy użyciu języka Python.

# Ten przykład kodu demonstruje, jak utworzyć dokument XBRL i dodać obiekt odwołania do roli
from aspose.finance.xbrl import XbrlDocument,RoleReference

# Ścieżka do katalogu dokumentów.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Utwórz dokument XBRL
xbrlDoc = XbrlDocument()

# Pobierz kolekcję instancji dokumentów
xbrlInstances = xbrlDoc.xbrl_instances

# Dodaj instancję do kolekcji
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Pobierz kolekcję odwołań do schematu instancji
schemaRefs = xbrlInstance.schema_refs

# Dodaj schemat
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Pobierz typ roli
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# Dodaj odwołanie do roli
if roleType is not None:
    roleReference = RoleReference(roleType)
    xbrlInstance.role_references.append(roleReference)

# Zapisz dokument
xbrlDoc.save(outputFile)

Dodaj odwołanie do roli Arc do XBRL w Python

Możemy dodać odwołanie do roli Arc w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Dodaj nową instancję XBRL do xbrlinstances obiektu XbrlDocument.
  3. Dodaj nowe odwołanie do schematu do schemarefs obiektu XbrlInstance.
  4. Uzyskaj SchemaRef według jego indeksu ze schemarefs.
  5. Następnie pobierz RoleType z metody getarcroletypebyuri().
  6. Następnie utwórz instancję klasy ArroleReference z obiektem RoleType jako argumentem.
  7. Następnie dodaj ArroleReference do kolekcji arcrolereferences.
  8. Na koniec zapisz plik XBRL przy użyciu metody save(string).

Poniższy przykładowy kod pokazuje, jak dodać odwołanie do roli arc w dokumencie wystąpienia XBRL przy użyciu języka Python.

# Ten przykład kodu demonstruje, jak utworzyć dokument XBRL i dodać obiekt referencyjny Arc Role
from aspose.finance.xbrl import XbrlDocument,ArcroleReference

# Ścieżka do katalogu dokumentów.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Utwórz dokument XBRL
xbrlDoc = XbrlDocument()

# Pobierz kolekcję instancji dokumentów
xbrlInstances = xbrlDoc.xbrl_instances

# Dodaj instancję do kolekcji
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Pobierz kolekcję odwołań do schematu instancji
schemaRefs = xbrlInstance.schema_refs

# Dodaj schemat
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Pobierz typ roli
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# Dodaj odwołanie do roli
if roleType is not None:
    arcroleReference = ArcroleReference(roleType)
    xbrlInstance.arcrole_references.append(arcroleReference)

# Zapisz dokument
xbrlDoc.save(outputFile)

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak utworzyć dokument XBRL za pomocą Python. Widzieliśmy również, jak programowo dodawać różne obiekty XBRL do utworzonego dokumentu instancji XBRL. Poza tym możesz dowiedzieć się więcej o Aspose.Finance for Python API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym forum.

Zobacz też