Vytvořte soubor XBRL pomocí Pythonu

Dokument XBRL je soubor faktů, které dohromady tvoří obchodní zprávu. Můžeme snadno vytvořit dokument instance XBRL programově a přidat objekty nebo prvky, jako je odkaz na schéma, kontext, jednotka, položky atd. V tomto článku se naučíme, jak vytvořit soubor XBRL pomocí Pythonu.

Tento článek bude obsahovat následující témata:

  1. Co je XBRL
  2. Python Finance Library k vytváření souborů XBRL
  3. Vytvořit soubor XBRL
  4. Přidat odkaz na schéma do XBRL
  5. Přidat kontext do XBRL
  6. Vytvořit jednotku v XBRL
  7. Přidat fakta do XBRL
  8. Přidat odkazy na poznámky pod čarou do XBRL
  9. Vložte odkaz na roli v XBRL
  10. Přidat odkaz na roli Arc do XBRL

Co je XBRL

XBRL je zkratka pro eXtensible Business Reporting Language, značkovací jazyk založený na XML. Používá se pro standardizované obchodní vykazování finanční výkonnosti společnosti. Poskytuje způsob komunikace a výměny obchodních informací mezi obchodními systémy.

Knihovna Python Finance pro vytváření souborů XBRL

K vytvoření souboru XBRL nebo dokumentu instance použijeme Aspose.Finance for Python API. Umožňuje vytváření instancí XBRL, analýzu a ověřování souborů XBRL nebo iXBRL.

Rozhraní API poskytuje třídu XbrlDocument, která představuje dokument XBRL obsahující jednu nebo více instancí XBRL. Instance XBRL je fragment XML, přičemž kořenový prvek má značku XBRL. Třída XbrlInstance poskytuje různé metody a vlastnosti pro práci s instancemi XBRL. Metoda save() třídy XbrlDocument vytvoří a uloží soubor XBRL na disk. Přečtěte si prosím více o dalších třídách pro práci s XBRL objekty v odkaz na API.

Prosím buď stáhněte si balíček nebo nainstalujte API z PyPI pomocí následujícího příkazu pip v konzole:

pip install aspose-finance

Vytvořte dokument instance XBRL v Pythonu

Dokument instance XBRL můžeme snadno vytvořit od začátku podle následujících kroků:

  1. Nejprve vytvořte instanci třídy XbrlDocument.
  2. Dále přistupte ke kolekci instancí z objektu XbrlDocument do objektu xbrlinstances.
  3. Poté přidejte novou instanci XBRL pomocí metody xbrlinstances.add().
  4. Nakonec uložte soubor XBRL pomocí metody save(string). Jako argument bere cestu k výstupnímu souboru.

Následující ukázka kódu ukazuje, jak vytvořit instanci XBRL pomocí Pythonu.

# Tento příklad kódu ukazuje, jak vytvořit dokument XBRL
from aspose.finance.xbrl import XbrlDocument

# Cesta k adresáři dokumentů.
outputFile = "C:\\Files\\document.xbrl"

# Vytvořte dokument XBRL
xbrlDoc = XbrlDocument()

# Získejte kolekci instancí dokumentů
xbrlInstances = xbrlDoc.xbrl_instances

# Přidejte instanci do kolekce
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Uložte soubor
xbrlDoc.save(outputFile)

Jakmile vytvoříme instanci XBRL, můžeme do nově vytvořené instance XBRL přidat odkaz na schéma, kontext, jednotky, položky, odkazy na poznámky pod čarou, odkazy na role a odkazy na role oblouku.

Přidejte odkaz na schéma do XBRL pomocí Pythonu

Do dokumentu instance XBRL můžeme přidat odkaz na schéma podle následujících kroků:

  1. Nejprve vytvořte instanci třídy XbrlDocument.
  2. Dále získejte kolekci instancí objektu XbrlDocument do objektu xbrlinstances.
  3. Poté pomocí metody xbrlinstances.add() přidejte novou instanci XBRL.
  4. Dále získejte kolekci odkazů schématu objektu XbrlInstance do objektu schemarefs.
  5. Poté přidejte nový odkaz na schéma pomocí metody schemarefs.add() se vstupním souborem schématu.
  6. Nakonec uložte soubor XBRL pomocí metody save(string).

Následující ukázka kódu ukazuje, jak vytvořit dokument instance XBRL a přidat odkaz na schéma v Pythonu.

# Tento příklad kódu ukazuje, jak vytvořit dokument XBRL a přidat objekt odkazu na schéma
from aspose.finance.xbrl import XbrlDocument

# Cesta k adresáři dokumentů.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Vytvořte dokument XBRL
xbrlDoc = XbrlDocument()

# Získejte kolekci instancí dokumentů
xbrlInstances = xbrlDoc.xbrl_instances

# Přidejte instanci do kolekce
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Získejte kolekci referencí schématu instance
schemaRefs = xbrlInstance.schema_refs

# Přidat schéma
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")

# Uložte dokument
xbrlDoc.save(outputFile)

Přidejte kontext do XBRL pomocí Pythonu

Do dokumentu instance XBRL můžeme přidat kontext podle následujících kroků:

  1. Nejprve vytvořte instanci třídy XbrlDocument.
  2. Dále přidejte novou instanci XBRL do xbrlinstance objektu XbrlDocument.
  3. Poté vytvořte instanci třídy ContextPeriod s datem zahájení a ukončení.
  4. Dále vytvořte objekt ContextEntity se schématem a identifikátorem.
  5. Poté vytvořte instanci třídy Context s definovanými ContextPeriod a ContextEntity.
  6. Poté přidejte objekt Context do kolekce kontextů.
  7. Nakonec uložte soubor XBRL pomocí metody save(string).

Následující ukázka kódu ukazuje, jak vytvořit dokument instance XBRL a přidat kontextový objekt v Pythonu.

# Tento příklad kódu ukazuje, jak vytvořit dokument XBRL a přidat objekt Context
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context

# Cesta k adresáři dokumentů.
outputFile = "C:\\Files\\document.xbrl"

# Vytvořte dokument XBRL
xbrlDoc = XbrlDocument()

# Získejte kolekci instancí dokumentů
xbrlInstances = xbrlDoc.xbrl_instances

# Přidejte instanci do kolekce
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Přidat kontextové období
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))

# Přidat kontextovou entitu
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")

# Definujte a přidejte kontext
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Uložte dokument
xbrlDoc.save(outputFile)

Vytvářejte jednotky v XBRL pomocí Pythonu

Jednotky v XBRL měří číselné položky. Jednotku můžeme přidat do dokumentu instance XBRL podle následujících kroků:

  1. Nejprve vytvořte instanci třídy XbrlDocument.
  2. Dále přidejte novou instanci XBRL do xbrlinstance objektu XbrlDocument.
  3. Potom vytvořte instanci třídy Unit s UnitType jako MEASURE.
  4. Dále přidejte QualifiedName do kolekce measurequalifiednames.
  5. Poté přidejte jednotku do sbírky jednotek.
  6. Nakonec uložte soubor XBRL pomocí metody save(string).

Následující ukázka kódu ukazuje, jak vytvořit soubor XBRL a přidat objekt jednotky v Pythonu.

# Tento příklad kódu ukazuje, jak vytvořit dokument XBRL a přidat objekt Unit
from aspose.finance.xbrl import XbrlDocument,Unit,QualifiedName,UnitType

# Cesta k adresáři dokumentů.
outputFile = "C:\\Files\\document.xbrl"

# Vytvořte dokument XBRL
xbrlDoc = XbrlDocument()

# Získejte kolekci instancí dokumentů
xbrlInstances = xbrlDoc.xbrl_instances

# Přidejte instanci do kolekce
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Přidat jednotku
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# Uložte dokument
xbrlDoc.save(outputFile)

Přidejte Fact Item do XBRL pomocí Pythonu

Fakta v XBRL jsou definována pomocí prvků položky. Položka v XBRL obsahuje hodnotu prostého faktu a odkaz na kontext pro správnou interpretaci tohoto faktu. Položku můžeme přidat do dokumentu instance XBRL podle následujících kroků:

  1. Nejprve vytvořte instanci třídy XbrlDocument.
  2. Přidejte novou instanci XBRL do xbrlinstance objektu XbrlDocument.
  3. Přidejte nový odkaz na schéma do schémat objektu XbrlInstance.
  4. Získejte SchemaRef podle jeho indexu ze schemarefs.
  5. Inicializujte instanci Context a přidejte ji do kolekce kontextů.
  6. Definujte instanci Unit a přidejte ji do kolekce jednotek.
  7. Vytvořte instanci třídy Concept pomocí metody getconceptbyname().
  8. Vytvořte instanci třídy Item s objektem Concept jako argumentem.
  9. Nastavte vlastnosti položky, jako je contextref, unitref, přesnost, hodnota atd.
  10. Poté přidejte položku do sbírky faktů.
  11. Nakonec uložte soubor XBRL pomocí metody save(string).

Následující ukázka kódu ukazuje, jak přidat fakt jako prvek položky v dokumentu instance XBRL pomocí Pythonu.

# Tento příklad kódu ukazuje, jak vytvořit dokument XBRL a přidat objekt Item
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,Unit,UnitType,QualifiedName,Item

# Cesta k adresáři dokumentů.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Vytvořte dokument XBRL
xbrlDoc = XbrlDocument()

# Získejte kolekci instancí dokumentů
xbrlInstances = xbrlDoc.xbrl_instances

# Přidejte instanci do kolekce
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Získejte kolekci referencí schématu instance
schemaRefs = xbrlInstance.schema_refs

# Přidat schéma
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Přidejte kontext
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Přidat jednotku
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# Přidat položku
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)
    
# Uložte dokument
xbrlDoc.save(outputFile)

Do dokumentu instance XBRL můžeme přidat odkaz na poznámku pod čarou podle následujících kroků:

  1. Nejprve vytvořte instanci třídy XbrlDocument.
  2. Přidejte novou instanci XBRL do xbrlinstance objektu XbrlDocument.
  3. Přidejte nový odkaz na schéma do schémat objektu XbrlInstance.
  4. Získejte SchemaRef podle jeho indexu ze schemarefs.
  5. Inicializujte instanci Context a přidejte ji do kolekce kontextů.
  6. Definujte instanci třídy poznámky pod čarou a nastavte její popisek a text.
  7. Inicializujte typ Locator pomocí instance třídy Loc.
  8. Definujte objekt FootnoteArc s popiskem Locator a popiskem poznámky pod čarou jako argumenty.
  9. Vytvořte instanci třídy FootnoteLink.
  10. Přidejte poznámku pod čarou, Locator a FootnoteArc do příslušných kolekcí.
  11. Poté přidejte odkaz na poznámku pod čarou do kolekce odkazů pod čarou.
  12. Nakonec uložte soubor XBRL pomocí metody save(string).

Následující ukázka kódu ukazuje, jak přidat odkaz na poznámku pod čarou do dokumentu instance XBRL pomocí Pythonu.

# Tento příklad kódu ukazuje, jak vytvořit dokument XBRL a přidat objekt Odkaz na poznámku pod čarou
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,FootnoteLink,Footnote,Loc,FootnoteArc

# Cesta k adresáři dokumentů.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Vytvořte dokument XBRL
xbrlDoc = XbrlDocument()

# Získejte kolekci instancí dokumentů
xbrlInstances = xbrlDoc.xbrl_instances

# Přidejte instanci do kolekce
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Získejte kolekci referencí schématu instance
schemaRefs = xbrlInstance.schema_refs

# Přidat schéma
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Přidejte kontext
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Přidat poznámku pod čarou
footnote = Footnote("footnote1")
footnote.text = "Including the effects of the merger."

# Přidat lokaci
loc = Loc("#cd1", "fact1")

# Definujte oblouk poznámky pod čarou
footnoteArc = FootnoteArc(loc.label, footnote.label)

# Přidat poznámku pod čarouLink
footnoteLink = FootnoteLink()
footnoteLink.footnotes.append(footnote)
footnoteLink.locators.append(loc)
footnoteLink.footnote_arcs.append(footnoteArc)
xbrlInstance.footnote_links.append(footnoteLink)
    
# Uložte dokument
xbrlDoc.save(outputFile)

Vložte odkaz na roli do XBRL pomocí Pythonu

Do dokumentu instance XBRL můžeme přidat odkaz na roli podle následujících kroků:

  1. Nejprve vytvořte instanci třídy XbrlDocument.
  2. Přidejte novou instanci XBRL do xbrlinstance objektu XbrlDocument.
  3. Přidejte nový odkaz na schéma do schémat objektu XbrlInstance.
  4. Získejte SchemaRef podle jeho indexu ze schemarefs.
  5. Dále získejte RoleType z metody getroletypebyuri().
  6. Potom vytvořte instanci třídy RoleReference s objektem RoleType jako argumentem.
  7. Poté přidejte RoleReference do kolekce rolereferences.
  8. Nakonec uložte soubor XBRL pomocí metody save(string).

Následující ukázka kódu ukazuje, jak přidat odkaz na roli v dokumentu instance XBRL pomocí Pythonu.

# Tento příklad kódu ukazuje, jak vytvořit dokument XBRL a přidat objekt odkazu na roli
from aspose.finance.xbrl import XbrlDocument,RoleReference

# Cesta k adresáři dokumentů.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Vytvořte dokument XBRL
xbrlDoc = XbrlDocument()

# Získejte kolekci instancí dokumentů
xbrlInstances = xbrlDoc.xbrl_instances

# Přidejte instanci do kolekce
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Získejte kolekci referencí schématu instance
schemaRefs = xbrlInstance.schema_refs

# Přidat schéma
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Získejte typ role
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# Přidejte odkaz na roli
if roleType is not None:
    roleReference = RoleReference(roleType)
    xbrlInstance.role_references.append(roleReference)

# Uložte dokument
xbrlDoc.save(outputFile)

Přidejte Arc Role Reference do XBRL v Pythonu

Do dokumentu instance XBRL můžeme přidat odkaz na roli Arc podle následujících kroků:

  1. Nejprve vytvořte instanci třídy XbrlDocument.
  2. Přidejte novou instanci XBRL do xbrlinstance objektu XbrlDocument.
  3. Přidejte nový odkaz na schéma do schémat objektu XbrlInstance.
  4. Získejte SchemaRef podle jeho indexu ze schemarefs.
  5. Dále získejte RoleType z metody getarcroletypebyuri().
  6. Poté vytvořte instanci třídy ArcroleReference s objektem RoleType jako argumentem.
  7. Poté přidejte ArcroleReference do kolekce arcrolereferences.
  8. Nakonec uložte soubor XBRL pomocí metody save(string).

Následující ukázka kódu ukazuje, jak přidat odkaz na roli oblouku v dokumentu instance XBRL pomocí Pythonu.

# Tento příklad kódu ukazuje, jak vytvořit dokument XBRL a přidat referenční objekt Arc Role
from aspose.finance.xbrl import XbrlDocument,ArcroleReference

# Cesta k adresáři dokumentů.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Vytvořte dokument XBRL
xbrlDoc = XbrlDocument()

# Získejte kolekci instancí dokumentů
xbrlInstances = xbrlDoc.xbrl_instances

# Přidejte instanci do kolekce
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Získejte kolekci referencí schématu instance
schemaRefs = xbrlInstance.schema_refs

# Přidat schéma
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Získejte typ role
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# Přidejte odkaz na roli
if roleType is not None:
    arcroleReference = ArcroleReference(roleType)
    xbrlInstance.arcrole_references.append(arcroleReference)

# Uložte dokument
xbrlDoc.save(outputFile)

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.

Závěr

V tomto článku jsme se naučili, jak vytvořit dokument XBRL pomocí Pythonu. Také jsme viděli, jak programově přidat různé objekty XBRL do vytvořeného dokumentu instance XBRL. Kromě toho se můžete dozvědět více o Aspose.Finance pro Python API pomocí dokumentace. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na našem fóru.

Viz také