Створіть файл XBRL за допомогою Python

Документ XBRL – це набір фактів, які разом складають бізнес-звіт. Ми можемо легко створити екземпляр документа XBRL програмним шляхом і додати об’єкти або елементи, такі як посилання на схему, контекст, одиницю, елементи тощо. У цій статті ми дізнаємося, як створити файл XBRL за допомогою Python.

У цій статті будуть розглянуті такі теми:

  1. Що таке XBRL
  2. Фінансова бібліотека Python для створення файлів XBRL
  3. Створити файл XBRL
  4. Додати посилання на схему до XBRL
  5. Додати контекст у XBRL
  6. Створіть одиницю в XBRL
  7. Додати факти в XBRL
  8. Додайте посилання на виноски до XBRL
  9. Вставте посилання на роль у XBRL
  10. Додати посилання на роль Arc до XBRL

Що таке XBRL

XBRL означає eXtensible Business Reporting Language, мову розмітки на основі XML. Він використовується для стандартизованої бізнес-звітності про фінансові показники компанії. Він забезпечує спосіб спілкування та обміну бізнес-інформацією між бізнес-системами.

Фінансова бібліотека Python для створення файлів XBRL

Щоб створити файл XBRL або екземпляр документа, ми будемо використовувати Aspose.Finance for Python API. Це дозволяє створювати екземпляри XBRL, аналізувати та перевіряти файли XBRL або iXBRL.

API надає клас XbrlDocument, який представляє документ XBRL, що містить один або більше екземплярів XBRL. Екземпляр XBRL — це фрагмент XML, кореневий елемент якого має тег XBRL. Клас XbrlInstance надає різні методи та властивості для роботи з екземплярами XBRL. Метод save() класу XbrlDocument створює та зберігає файл XBRL на диску. Будь ласка, прочитайте більше про інші класи для роботи з об’єктами XBRL у API reference.

Завантажте пакет або встановіть API з PyPI за допомогою такої команди pip у консолі:

pip install aspose-finance

Створіть документ екземпляра XBRL у Python

Ми можемо легко створити екземпляр документа XBRL з нуля, дотримуючись наведених нижче кроків:

  1. По-перше, створіть екземпляр класу XbrlDocument.
  2. Потім перейдіть до колекції екземплярів з об’єкта XbrlDocument в об’єкт xbrlinstances.
  3. Після цього додайте новий екземпляр XBRL за допомогою методу xbrlinstances.add().
  4. Нарешті, збережіть файл XBRL за допомогою методу save(string). Він приймає вихідний шлях до файлу як аргумент.

У наступному прикладі коду показано, як створити екземпляр XBRL за допомогою Python.

# Цей приклад коду демонструє, як створити документ XBRL
from aspose.finance.xbrl import XbrlDocument

# Шлях до каталогу документів.
outputFile = "C:\\Files\\document.xbrl"

# Створіть документ XBRL
xbrlDoc = XbrlDocument()

# Отримати колекцію екземплярів документів
xbrlInstances = xbrlDoc.xbrl_instances

# Додайте екземпляр до колекції
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Збережіть файл
xbrlDoc.save(outputFile)

Після створення екземпляра XBRL ми можемо додати посилання на схему, контекст, одиниці, елементи, посилання на виноски, посилання на ролі та посилання на ролі дуг у щойно створеному екземплярі XBRL.

Додайте посилання на схему до XBRL за допомогою Python

Ми можемо додати посилання на схему в документ екземпляра XBRL, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр класу XbrlDocument.
  2. Далі перемістіть колекцію екземплярів об’єкта XbrlDocument в об’єкт xbrlinstances.
  3. Потім додайте новий екземпляр XBRL за допомогою методу xbrlinstances.add().
  4. Далі перемістіть колекцію посилань на схему об’єкта XbrlInstance в об’єкт schemarefs.
  5. Після цього додайте нове посилання на схему за допомогою методу schemarefs.add() із вхідним файлом схеми.
  6. Нарешті, збережіть файл XBRL за допомогою методу save(string).

У наведеному нижче прикладі коду показано, як створити документ екземпляра XBRL і додати посилання на схему в Python.

# Цей приклад коду демонструє, як створити документ XBRL і додати довідковий об’єкт схеми
from aspose.finance.xbrl import XbrlDocument

# Шлях до каталогу документів.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Створіть документ XBRL
xbrlDoc = XbrlDocument()

# Отримати колекцію екземплярів документів
xbrlInstances = xbrlDoc.xbrl_instances

# Додайте екземпляр до колекції
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Отримати колекцію посилань на схеми екземплярів
schemaRefs = xbrlInstance.schema_refs

# Додайте схему
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")

# Збережіть документ
xbrlDoc.save(outputFile)

Додайте контекст у XBRL за допомогою Python

Ми можемо додати контекст до екземпляра документа XBRL, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр класу XbrlDocument.
  2. Далі додайте новий екземпляр XBRL до xbrlinstances об’єкта XbrlDocument.
  3. Потім створіть екземпляр класу ContextPeriod із початковою та кінцевою датами.
  4. Далі створіть об’єкт ContextEntity зі схемою та ідентифікатором.
  5. Потім створіть екземпляр класу Context із визначеними ContextPeriod і ContextEntity.
  6. Після цього додайте об’єкт Context до колекції contexts.
  7. Нарешті, збережіть файл XBRL за допомогою методу save(string).

У наведеному нижче прикладі коду показано, як створити документ екземпляра XBRL і додати контекстний об’єкт у Python.

# Цей приклад коду демонструє, як створити документ XBRL і додати об’єкт Context
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context

# Шлях до каталогу документів.
outputFile = "C:\\Files\\document.xbrl"

# Створіть документ XBRL
xbrlDoc = XbrlDocument()

# Отримати колекцію екземплярів документів
xbrlInstances = xbrlDoc.xbrl_instances

# Додайте екземпляр до колекції
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Додайте період контексту
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))

# Додати об’єкт контексту
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")

# Визначте та додайте контекст
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Збережіть документ
xbrlDoc.save(outputFile)

Створюйте одиниці в XBRL за допомогою Python

Одиниці в XBRL вимірюють числові елементи. Ми можемо додати одиницю в документ екземпляра XBRL, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр класу XbrlDocument.
  2. Далі додайте новий екземпляр XBRL до xbrlinstances об’єкта XbrlDocument.
  3. Потім створіть екземпляр класу Unit із UnitType як MEASURE.
  4. Далі додайте QualifiedName до колекції measurequalifiednames.
  5. Після цього додайте одиницю до колекції одиниць.
  6. Нарешті, збережіть файл XBRL за допомогою методу save(string).

У наведеному нижче прикладі коду показано, як створити файл XBRL і додати об’єкт unit у Python.

# Цей приклад коду демонструє, як створити документ XBRL і додати об’єкт Unit
from aspose.finance.xbrl import XbrlDocument,Unit,QualifiedName,UnitType

# Шлях до каталогу документів.
outputFile = "C:\\Files\\document.xbrl"

# Створіть документ XBRL
xbrlDoc = XbrlDocument()

# Отримати колекцію екземплярів документів
xbrlInstances = xbrlDoc.xbrl_instances

# Додайте екземпляр до колекції
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Додати одиницю
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# Збережіть документ
xbrlDoc.save(outputFile)

Додайте Fact Item у XBRL за допомогою Python

Факти в XBRL визначаються за допомогою елементів item. Елемент у XBRL містить значення простого факту та посилання на контекст для правильної інтерпретації цього факту. Ми можемо додати елемент у екземпляр документа XBRL, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр класу XbrlDocument.
  2. Додайте новий екземпляр XBRL до xbrlinstances об’єкта XbrlDocument.
  3. Додайте нове посилання на схему до schemarefs об’єкта XbrlInstance.
  4. Отримайте SchemaRef за його індексом із schemarefs.
  5. Ініціалізуйте екземпляр Context і додайте його до колекції контекстів.
  6. Визначте екземпляр Unit і додайте його до колекції одиниць.
  7. Створіть екземпляр класу Concept за допомогою методу getconceptbyname().
  8. Створіть екземпляр класу Item з об’єктом Concept як аргументом.
  9. Встановіть такі властивості елемента, як contextref, unitref, precision, value тощо.
  10. Після цього додайте Предмет до колекції фактів.
  11. Нарешті, збережіть файл XBRL за допомогою методу save(string).

У наведеному нижче прикладі коду показано, як додати факт як елемент елемента в документ екземпляра XBRL за допомогою Python.

# Цей приклад коду демонструє, як створити документ XBRL і додати об’єкт Item
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,Unit,UnitType,QualifiedName,Item

# Шлях до каталогу документів.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Створіть документ XBRL
xbrlDoc = XbrlDocument()

# Отримати колекцію екземплярів документів
xbrlInstances = xbrlDoc.xbrl_instances

# Додайте екземпляр до колекції
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Отримати колекцію посилань на схеми екземплярів
schemaRefs = xbrlInstance.schema_refs

# Додайте схему
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Додайте контекст
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Додати одиницю
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# Додати товар
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)
    
# Збережіть документ
xbrlDoc.save(outputFile)

Ми можемо додати посилання на виноску в екземпляр документа XBRL, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр класу XbrlDocument.
  2. Додайте новий екземпляр XBRL до xbrlinstances об’єкта XbrlDocument.
  3. Додайте нове посилання на схему до schemarefs об’єкта XbrlInstance.
  4. Отримайте SchemaRef за його індексом із schemarefs.
  5. Ініціалізуйте екземпляр Context і додайте його до колекції контекстів.
  6. Визначте екземпляр класу Foonote і встановіть його мітку та текст.
  7. Ініціалізуйте тип Locator за допомогою екземпляра класу Loc.
  8. Визначте об’єкт FootnoteArc із міткою Locator і міткою Footnote як аргументами.
  9. Створіть екземпляр класу FootnoteLink.
  10. Додайте Foonote, Locator і FootnoteArc до відповідних колекцій.
  11. Після цього додайте FootnoteLink до колекції посилань на виноски.
  12. Нарешті, збережіть файл XBRL за допомогою методу save(string).

У наведеному нижче прикладі коду показано, як додати посилання на виноску в документ екземпляра XBRL за допомогою Python.

# У цьому прикладі коду показано, як створити документ XBRL і додати об’єкт посилання виноски
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,FootnoteLink,Footnote,Loc,FootnoteArc

# Шлях до каталогу документів.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Створіть документ XBRL
xbrlDoc = XbrlDocument()

# Отримати колекцію екземплярів документів
xbrlInstances = xbrlDoc.xbrl_instances

# Додайте екземпляр до колекції
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Отримати колекцію посилань на схеми екземплярів
schemaRefs = xbrlInstance.schema_refs

# Додайте схему
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Додайте контекст
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Додайте виноску
footnote = Footnote("footnote1")
footnote.text = "Including the effects of the merger."

# Додати місцезнаходження
loc = Loc("#cd1", "fact1")

# Визначте дугу виноски
footnoteArc = FootnoteArc(loc.label, footnote.label)

# Додайте виноскуLink
footnoteLink = FootnoteLink()
footnoteLink.footnotes.append(footnote)
footnoteLink.locators.append(loc)
footnoteLink.footnote_arcs.append(footnoteArc)
xbrlInstance.footnote_links.append(footnoteLink)
    
# Збережіть документ
xbrlDoc.save(outputFile)

Вставте посилання на роль у XBRL за допомогою Python

Ми можемо додати посилання на роль у документ екземпляра XBRL, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр класу XbrlDocument.
  2. Додайте новий екземпляр XBRL до xbrlinstances об’єкта XbrlDocument.
  3. Додайте нове посилання на схему до schemarefs об’єкта XbrlInstance.
  4. Отримайте SchemaRef за його індексом із schemarefs.
  5. Потім отримайте RoleType з методу getroletypebyuri().
  6. Потім створіть екземпляр класу RoleReference з об’єктом RoleType як аргументом.
  7. Після цього додайте RoleReference до колекції rolereferences.
  8. Нарешті, збережіть файл XBRL за допомогою методу save(string).

У наведеному нижче прикладі коду показано, як додати посилання на роль у документ екземпляра XBRL за допомогою Python.

# Цей приклад коду демонструє, як створити документ XBRL і додати об’єкт посилання на роль
from aspose.finance.xbrl import XbrlDocument,RoleReference

# Шлях до каталогу документів.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Створіть документ XBRL
xbrlDoc = XbrlDocument()

# Отримати колекцію екземплярів документів
xbrlInstances = xbrlDoc.xbrl_instances

# Додайте екземпляр до колекції
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Отримати колекцію посилань на схеми екземплярів
schemaRefs = xbrlInstance.schema_refs

# Додайте схему
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Отримайте рольовий тип
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# Додайте посилання на роль
if roleType is not None:
    roleReference = RoleReference(roleType)
    xbrlInstance.role_references.append(roleReference)

# Збережіть документ
xbrlDoc.save(outputFile)

Додайте посилання на роль Arc до XBRL у Python

Ми можемо додати посилання на роль Arc в документ екземпляра XBRL, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр класу XbrlDocument.
  2. Додайте новий екземпляр XBRL до xbrlinstances об’єкта XbrlDocument.
  3. Додайте нове посилання на схему до schemarefs об’єкта XbrlInstance.
  4. Отримайте SchemaRef за його індексом із schemarefs.
  5. Потім отримайте RoleType з методу getarcroletypebyuri().
  6. Потім створіть екземпляр класу ArcroleReference з об’єктом RoleType як аргументом.
  7. Після цього додайте ArcroleReference до колекції arcrolereferences.
  8. Нарешті, збережіть файл XBRL за допомогою методу save(string).

У наведеному нижче прикладі коду показано, як додати посилання на роль дуги в документ екземпляра XBRL за допомогою Python.

# Цей приклад коду демонструє, як створити документ XBRL і додати посилальний об’єкт Arc Role
from aspose.finance.xbrl import XbrlDocument,ArcroleReference

# Шлях до каталогу документів.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Створіть документ XBRL
xbrlDoc = XbrlDocument()

# Отримати колекцію екземплярів документів
xbrlInstances = xbrlDoc.xbrl_instances

# Додайте екземпляр до колекції
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Отримати колекцію посилань на схеми екземплярів
schemaRefs = xbrlInstance.schema_refs

# Додайте схему
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Отримайте рольовий тип
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# Додайте посилання на роль
if roleType is not None:
    arcroleReference = ArcroleReference(roleType)
    xbrlInstance.arcrole_references.append(arcroleReference)

# Збережіть документ
xbrlDoc.save(outputFile)

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.

Висновок

У цій статті ми дізналися, як створити документ XBRL за допомогою Python. Ми також бачили, як програмно додавати різні об’єкти XBRL до створеного документа екземпляра XBRL. Крім того, ви можете дізнатися більше про API Aspose.Finance for Python за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на нашому форумі.

Дивись також