Dokumen XBRL adalah kumpulan fakta yang bersama-sama membentuk laporan bisnis. Kita dapat dengan mudah membuat dokumen instance XBRL secara terprogram dan menambahkan objek atau elemen seperti referensi skema, konteks, unit, item, dll. Pada artikel ini, kita akan mempelajari cara membuat file XBRL menggunakan Python.
Topik-topik berikut akan dibahas dalam artikel ini:
- Apa itu XBRL
- Python Finance Library untuk Membuat File XBRL
- Buat File XBRL
- Tambahkan Referensi Skema ke XBRL
- Tambahkan Konteks di XBRL
- Buat Satuan di XBRL
- Tambahkan Item Fakta di XBRL
- Tambahkan Tautan Catatan Kaki ke XBRL
- Masukkan Referensi Peran di XBRL
- Tambahkan Referensi Peran Arc ke XBRL
Apa itu XBRL
XBRL adalah singkatan dari eXtensible Business Reporting Language, bahasa markup berbasis XML. Ini digunakan untuk pelaporan bisnis standar dari kinerja keuangan perusahaan. Ini menyediakan cara untuk berkomunikasi dan bertukar informasi bisnis antara sistem bisnis.
Perpustakaan Keuangan Python untuk Membuat File XBRL
Untuk membuat file XBRL atau dokumen instance, kita akan menggunakan API Aspose.Finance for Python. Ini memungkinkan pembuatan instance XBRL, parsing, dan memvalidasi file XBRL atau iXBRL.
API menyediakan kelas XbrlDocument yang mewakili dokumen XBRL yang berisi satu atau beberapa instance XBRL. Instance XBRL adalah fragmen XML, dengan elemen root memiliki tag XBRL. Kelas XbrlInstance menyediakan berbagai metode dan properti untuk bekerja dengan instance XBRL. Metode save() dari kelas XbrlDocument membuat dan menyimpan file XBRL ke disk. Harap baca lebih lanjut tentang kelas lain untuk bekerja dengan objek XBRL di referensi API.
Harap unduh paket atau instal API dari PyPI menggunakan perintah pip berikut di konsol:
pip install aspose-finance
Buat Dokumen Instance XBRL dengan Python
Kita dapat dengan mudah membuat dokumen instance XBRL dari awal dengan mengikuti langkah-langkah berikut:
- Pertama, buat instance kelas XbrlDocument.
- Selanjutnya, akses koleksi instance dari objek XbrlDocument ke objek xbrlinstances.
- Setelah itu, tambahkan instance XBRL baru menggunakan metode xbrlinstances.add().
- Terakhir, simpan file XBRL menggunakan metode save(string). Dibutuhkan jalur file keluaran sebagai argumen.
Contoh kode berikut menunjukkan cara membuat instance XBRL menggunakan Python.
# Contoh kode ini menunjukkan cara membuat dokumen XBRL
from aspose.finance.xbrl import XbrlDocument
# Path ke direktori dokumen.
outputFile = "C:\\Files\\document.xbrl"
# Buat dokumen XBRL
xbrlDoc = XbrlDocument()
# Dapatkan koleksi instance dokumen
xbrlInstances = xbrlDoc.xbrl_instances
# Tambahkan instance ke koleksi
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Simpan file
xbrlDoc.save(outputFile)
Setelah kami membuat instance XBRL, kami dapat menambahkan referensi skema, konteks, unit, item, tautan catatan kaki, referensi peran, dan referensi peran busur dalam instance XBRL yang baru dibuat.
Tambahkan Referensi Skema ke XBRL menggunakan Python
Kami dapat menambahkan referensi skema dalam dokumen contoh XBRL dengan mengikuti langkah-langkah berikut:
- Pertama, buat instance kelas XbrlDocument.
- Selanjutnya, dapatkan koleksi instance objek XbrlDocument ke dalam objek xbrlinstances.
- Kemudian, tambahkan instance XBRL baru menggunakan metode xbrlinstances.add().
- Selanjutnya, dapatkan koleksi referensi skema objek XbrlInstance ke dalam objek schemarefs.
- Setelah itu, tambahkan referensi skema baru menggunakan metode schemarefs.add() dengan file skema masukan.
- Terakhir, simpan file XBRL menggunakan metode save(string).
Contoh kode berikut menunjukkan cara membuat dokumen instance XBRL dan menambahkan referensi skema dengan Python.
# Contoh kode ini menunjukkan cara membuat dokumen XBRL dan menambahkan objek referensi skema
from aspose.finance.xbrl import XbrlDocument
# Path ke direktori dokumen.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# Buat dokumen XBRL
xbrlDoc = XbrlDocument()
# Dapatkan koleksi instance dokumen
xbrlInstances = xbrlDoc.xbrl_instances
# Tambahkan instance ke koleksi
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Dapatkan koleksi referensi skema instance
schemaRefs = xbrlInstance.schema_refs
# Tambahkan skema
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
# Simpan dokumen
xbrlDoc.save(outputFile)
Tambahkan Konteks di XBRL menggunakan Python
Kami dapat menambahkan konteks ke dokumen contoh XBRL dengan mengikuti langkah-langkah yang diberikan di bawah ini:
- Pertama, buat instance kelas XbrlDocument.
- Selanjutnya, Tambahkan instance XBRL baru ke xbrlinstances objek XbrlDocument.
- Kemudian, buat instance kelas ContextPeriod dengan tanggal mulai dan berakhir.
- Selanjutnya, buat objek ContextEntity dengan skema dan pengidentifikasi.
- Kemudian, buat instance kelas Context dengan ContextPeriod dan ContextEntity yang ditentukan.
- Setelah itu, tambahkan objek Context ke koleksi contexts.
- Terakhir, simpan file XBRL menggunakan metode save(string).
Contoh kode berikut menunjukkan cara membuat dokumen contoh XBRL dan menambahkan objek konteks dengan Python.
# Contoh kode ini menunjukkan cara membuat dokumen XBRL dan menambahkan objek Konteks
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context
# Path ke direktori dokumen.
outputFile = "C:\\Files\\document.xbrl"
# Buat dokumen XBRL
xbrlDoc = XbrlDocument()
# Dapatkan koleksi instance dokumen
xbrlInstances = xbrlDoc.xbrl_instances
# Tambahkan instance ke koleksi
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Tambahkan periode konteks
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
# Tambahkan entitas konteks
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
# Tentukan dan tambahkan konteks
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
# Simpan dokumen
xbrlDoc.save(outputFile)
Buat Unit di XBRL menggunakan Python
Satuan dalam XBRL mengukur Item numerik. Kita dapat menambahkan unit dalam dokumen instance XBRL dengan mengikuti langkah-langkah berikut:
- Pertama, buat instance kelas XbrlDocument.
- Selanjutnya, tambahkan instance XBRL baru ke xbrlinstances objek XbrlDocument.
- Kemudian, buat instance kelas Unit dengan UnitType sebagai MEASURE.
- Selanjutnya, tambahkan QualifiedName ke koleksi measurequalifiednames.
- Setelah itu, tambahkan Unit ke koleksi unit.
- Terakhir, simpan file XBRL menggunakan metode save(string).
Contoh kode berikut menunjukkan cara membuat file XBRL dan menambahkan objek unit dengan Python.
# Contoh kode ini menunjukkan cara membuat dokumen XBRL dan menambahkan objek Unit
from aspose.finance.xbrl import XbrlDocument,Unit,QualifiedName,UnitType
# Path ke direktori dokumen.
outputFile = "C:\\Files\\document.xbrl"
# Buat dokumen XBRL
xbrlDoc = XbrlDocument()
# Dapatkan koleksi instance dokumen
xbrlInstances = xbrlDoc.xbrl_instances
# Tambahkan instance ke koleksi
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Tambahkan Satuan
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)
# Simpan dokumen
xbrlDoc.save(outputFile)
Tambahkan Item Fakta di XBRL menggunakan Python
Fakta dalam XBRL didefinisikan menggunakan elemen item. Item dalam XBRL berisi nilai fakta sederhana dan referensi ke konteks untuk menafsirkan fakta itu dengan benar. Kami dapat menambahkan item dalam dokumen contoh XBRL dengan mengikuti langkah-langkah berikut:
- Pertama, buat instance kelas XbrlDocument.
- Tambahkan instance XBRL baru ke xbrlinstances objek XbrlDocument.
- Tambahkan referensi skema baru ke schemarefs objek XbrlInstance.
- Dapatkan SchemaRef berdasarkan indeksnya dari schemarefs.
- Inisialisasi instance Context dan tambahkan ke koleksi contexts.
- Tentukan instance Unit dan tambahkan ke koleksi unit.
- Buat instance kelas Konsep menggunakan metode getconceptbyname() .
- Buat instance kelas Item dengan objek Konsep sebagai argumen.
- Tetapkan properti item seperti contextref, unitref, presisi, nilai, dll.
- Setelah itu tambahkan Item ke kumpulan fakta.
- Terakhir, simpan file XBRL menggunakan metode save(string).
Contoh kode berikut menunjukkan cara menambahkan fakta sebagai elemen item dalam dokumen contoh XBRL menggunakan Python.
# Contoh kode ini menunjukkan cara membuat dokumen XBRL dan menambahkan objek Item
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,Unit,UnitType,QualifiedName,Item
# Path ke direktori dokumen.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# Buat dokumen XBRL
xbrlDoc = XbrlDocument()
# Dapatkan koleksi instance dokumen
xbrlInstances = xbrlDoc.xbrl_instances
# Tambahkan instance ke koleksi
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Dapatkan koleksi referensi skema instance
schemaRefs = xbrlInstance.schema_refs
# Tambahkan skema
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
# Tambahkan konteks
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
# Tambahkan satuan
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)
# Tambahkan Barang
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)
# Simpan dokumen
xbrlDoc.save(outputFile)
Tambahkan Tautan Catatan Kaki ke XBRL dengan Python
Kami dapat menambahkan tautan catatan kaki dalam dokumen contoh XBRL dengan mengikuti langkah-langkah berikut:
- Pertama, buat instance kelas XbrlDocument.
- Tambahkan instance XBRL baru ke xbrlinstances objek XbrlDocument.
- Tambahkan referensi skema baru ke schemarefs objek XbrlInstance.
- Dapatkan SchemaRef berdasarkan indeksnya dari schemarefs.
- Inisialisasi instance Context dan tambahkan ke koleksi contexts.
- Tentukan instance kelas Footnote dan atur label dan teksnya.
- Inisialisasi tipe Locator menggunakan instance kelas Loc.
- Tentukan objek FootnoteArc dengan label Locator dan label Footnote sebagai argumen.
- Buat instance dari kelas FootnoteLink.
- Tambahkan Footnote, Locator, dan FootnoteArc ke koleksi yang relevan.
- Setelah itu, tambahkan FootnoteLink ke koleksi footnotelinks.
- Terakhir, simpan file XBRL menggunakan metode save(string).
Contoh kode berikut menunjukkan cara menambahkan tautan catatan kaki di dokumen contoh XBRL menggunakan Python.
# Contoh kode ini menunjukkan cara membuat dokumen XBRL dan menambahkan objek Footnote Link
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,FootnoteLink,Footnote,Loc,FootnoteArc
# Path ke direktori dokumen.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# Buat dokumen XBRL
xbrlDoc = XbrlDocument()
# Dapatkan koleksi instance dokumen
xbrlInstances = xbrlDoc.xbrl_instances
# Tambahkan instance ke koleksi
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Dapatkan koleksi referensi skema instance
schemaRefs = xbrlInstance.schema_refs
# Tambahkan skema
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
# Tambahkan konteks
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
# Tambahkan Catatan Kaki
footnote = Footnote("footnote1")
footnote.text = "Including the effects of the merger."
# Menambahkan lokasi
loc = Loc("#cd1", "fact1")
# Tentukan busur Catatan Kaki
footnoteArc = FootnoteArc(loc.label, footnote.label)
# Tambahkan Catatan KakiLink
footnoteLink = FootnoteLink()
footnoteLink.footnotes.append(footnote)
footnoteLink.locators.append(loc)
footnoteLink.footnote_arcs.append(footnoteArc)
xbrlInstance.footnote_links.append(footnoteLink)
# Simpan dokumen
xbrlDoc.save(outputFile)
Masukkan Referensi Peran di XBRL menggunakan Python
Kita dapat menambahkan referensi Peran dalam dokumen contoh XBRL dengan mengikuti langkah-langkah berikut:
- Pertama, buat instance kelas XbrlDocument.
- Tambahkan instance XBRL baru ke xbrlinstances objek XbrlDocument.
- Tambahkan referensi skema baru ke schemarefs objek XbrlInstance.
- Dapatkan SchemaRef berdasarkan indeksnya dari schemarefs.
- Selanjutnya, dapatkan RoleType dari metode getroletypebyuri().
- Kemudian, buat instance kelas RoleReference dengan objek RoleType sebagai argumen.
- Setelah itu, tambahkan RoleReference ke koleksi rolereferences.
- Terakhir, simpan file XBRL menggunakan metode save(string).
Contoh kode berikut menunjukkan cara menambahkan referensi peran dalam dokumen contoh XBRL menggunakan Python.
# Contoh kode ini menunjukkan cara membuat dokumen XBRL dan menambahkan objek referensi Peran
from aspose.finance.xbrl import XbrlDocument,RoleReference
# Path ke direktori dokumen.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# Buat dokumen XBRL
xbrlDoc = XbrlDocument()
# Dapatkan koleksi instance dokumen
xbrlInstances = xbrlDoc.xbrl_instances
# Tambahkan instance ke koleksi
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Dapatkan koleksi referensi skema instance
schemaRefs = xbrlInstance.schema_refs
# Tambahkan skema
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
# Dapatkan tipe peran
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")
# Tambahkan referensi peran
if roleType is not None:
roleReference = RoleReference(roleType)
xbrlInstance.role_references.append(roleReference)
# Simpan dokumen
xbrlDoc.save(outputFile)
Tambahkan Referensi Peran Arc ke XBRL dengan Python
Kita dapat menambahkan referensi peran Arc dalam dokumen contoh XBRL dengan mengikuti langkah-langkah berikut:
- Pertama, buat instance kelas XbrlDocument.
- Tambahkan instance XBRL baru ke xbrlinstances objek XbrlDocument.
- Tambahkan referensi skema baru ke schemarefs objek XbrlInstance.
- Dapatkan SchemaRef berdasarkan indeksnya dari schemarefs.
- Selanjutnya, dapatkan RoleType dari metode getarcroletypebyuri().
- Kemudian, buat instance kelas ArcroleReference dengan objek RoleType sebagai argumen.
- Setelah itu, tambahkan ArcroleReference ke koleksi arcrolereferences.
- Terakhir, simpan file XBRL menggunakan metode save(string).
Contoh kode berikut menunjukkan cara menambahkan referensi peran busur dalam dokumen contoh XBRL menggunakan Python.
# Contoh kode ini menunjukkan cara membuat dokumen XBRL dan menambahkan objek referensi Arc Role
from aspose.finance.xbrl import XbrlDocument,ArcroleReference
# Path ke direktori dokumen.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# Buat dokumen XBRL
xbrlDoc = XbrlDocument()
# Dapatkan koleksi instance dokumen
xbrlInstances = xbrlDoc.xbrl_instances
# Tambahkan instance ke koleksi
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Dapatkan koleksi referensi skema instance
schemaRefs = xbrlInstance.schema_refs
# Tambahkan skema
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
# Dapatkan tipe peran
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")
# Tambahkan referensi peran
if roleType is not None:
arcroleReference = ArcroleReference(roleType)
xbrlInstance.arcrole_references.append(arcroleReference)
# Simpan dokumen
xbrlDoc.save(outputFile)
Dapatkan Lisensi Gratis
Anda bisa mendapatkan lisensi sementara gratis untuk mencoba perpustakaan tanpa batasan evaluasi.
Kesimpulan
Pada artikel ini, kita telah mempelajari cara membuat dokumen XBRL menggunakan Python. Kami juga telah melihat cara menambahkan berbagai objek XBRL ke dokumen contoh XBRL yang dibuat secara terprogram. Selain itu, Anda dapat mempelajari lebih lanjut tentang Aspose.Finance untuk API Python menggunakan dokumentasi. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum kami.