Publicado el 28 de julio de 2023 por Editor
La Junta de estándares de XBRL aprobó una nueva recomendación propuesta sobre los paquetes de informes de XBRL para su revisión final.
Report Packages es una nueva especificación que define una estructura de contenedor estándar para informes XBRL. Permite que las herramientas compatibles identifiquen, procesen y presenten automáticamente los informes adjuntos, lo que agiliza el intercambio y la presentación de informes XBRL.
Los informes XBRL a menudo constan de varios archivos, incluidos varios formatos como Inline XBRL, xBRL-XML, xBRL-JSON y xBRL-CSV, así como archivos de soporte como imágenes y hojas de estilo. Con las dependencias de las taxonomías XBRL y las posibles taxonomías de extensión, trabajar con informes XBRL puede ser un desafío debido a la necesidad de administrar varios archivos y conservar sus rutas relativas.
La nueva especificación de paquetes de informes proporciona una solución al empaquetar todos los archivos necesarios en un contenedor, lo que facilita el intercambio de informes XBRL de manera confiable entre diferentes herramientas. Esta estandarización mejora la eficiencia y la compatibilidad de los informes XBRL, lo que garantiza operaciones perfectas en diversos entornos. Cabe destacar que la nueva especificación propone el uso de extensiones de archivo dedicadas. Los informes XBRL en línea estarán contenidos en archivos «.xbri», mientras que los informes XBRL no en línea estarán en archivos «.xbr».
Si bien esta versión de la especificación se enfoca en la resolución de la taxonomía de extensión, las versiones futuras abordarán la mejora de la resolución del archivo de taxonomía base. También se alinea con la especificación de paquetes de taxonomía 1.0, lo que hace que los paquetes de informes sean paquetes de taxonomía potencialmente válidos.
Alentamos sus comentarios sobre este borrador de trabajo a spec-feedback@xbrl.org.
Puede encontrar la recomendación propuesta aquí.
PAQUETES DE INFORMES SPEC XII NOTICIAS
1. Resumen
Esta especificación define una estructura de contenedor estándar para informes XBRL, lo que permite que las herramientas compatibles identifiquen, procesen y presenten informes adjuntos automáticamente.
2. Introducción
El estándar XBRL abarca varios formatos de informe diferentes, incluidos Inline XBRL, xBRL-XML, xBRL-JSON y xBRL-CSV. Los informes pueden constar de varios archivos, como imágenes y hojas de estilo compatibles con un informe XBRL en línea, o las tablas CSV en un informe xBRL-CSV. Además, los informes XBRL dependen de una taxonomía XBRL, que puede incluir una «taxonomía de extensión» específica del informe. Estas dependencias pueden dificultar el trabajo con los informes XBRL, ya que se deben intercambiar varios archivos y se deben conservar las rutas relativas entre ellos.
Esta especificación define un mecanismo estándar para empaquetar todos estos archivos en un contenedor para que los informes XBRL puedan intercambiarse convenientemente y se abran de manera confiable en diferentes herramientas.
2.1 Resolución de taxonomía base
Si bien esta especificación proporciona un mecanismo para obtener de manera confiable la taxonomía de extensión de un informe (si existe), no intenta mejorar el mecanismo para resolver los archivos de taxonomía base. Se anticipa que esto se abordará en una versión futura de esta especificación.
2.2 Relación con otros trabajos
Esta especificación es una formalización de la Nota del grupo de trabajo de paquetes de informes publicada anteriormente. Los paquetes de informes, según lo definido en esta especificación, PUEDEN ser también paquetes de taxonomía válidos, según lo definido en la especificación de paquetes de taxonomía 1.0 , que define un formato estándar para distribuir una taxonomía XBRL como un archivo ZIP.
Esta especificación aborda algunos de los requisitos publicados en los Requisitos del paquete de informes 1.0 (consulte el Apéndice B ).
Se anticipa que habrá versiones futuras de esta especificación y, como tal, esta especificación define un mecanismo para identificar de manera confiable la versión de la especificación con la que se ajusta un paquete de informes.
2.3 Comentarios
Se invita a los lectores a enviar sus comentarios sobre este borrador de trabajo a spec-feedback@xbrl.org.
2.4 Convenciones de documentación
2.4.1 Códigos de error
Los QNames en texto rojo entre paréntesis después de una declaración «DEBE» o «NO DEBE» prescriben códigos de error estandarizados que se utilizarán si se viola la condición asociada.
2.5 Espacios de nombres y prefijos de espacios de nombres
Esta especificación utiliza QNames para representar valores, como códigos de error. Los siguientes prefijos se utilizan en esta especificación:
3. Estructura del paquete
Un paquete de informes es un archivo zip que contiene uno o más informes XBRL, Inline XBRL, xBRL-CSV, xBRL-JSON u otros informes basados en OIM , y se ajusta al formato definido por esta especificación.
Un paquete de informes DEBE cumplir con la especificación de formato de archivo .ZIP (rpe:invalidArchiveFormat o tpe:invalidArchiveFormat).
Los nombres de las entradas en el archivo ZIP describen un árbol de directorios y archivos. Cada nombre de entrada contiene un conjunto de /componentes delimitados por -, donde el último componente es el nombre de archivo y los demás componentes son nombres de directorio. Los directorios PUEDEN incluirse explícitamente como entradas separadas, o PUEDEN estar implícitos en las rutas de los archivos. Si el nombre del archivo es una cadena vacía, la entrada es un directorio en lugar de un archivo y su contenido se ignora. Un procesador DEBE generar rpe:invalidDirectoryStructure o tpe:invalidDirectoryStructure si:
- un componente de nombre de entrada es.o..;
- dos nombres de entrada son iguales; o
- el nombre de una entrada de archivo es el mismo que el nombre de un directorio implícito en otra entrada.
Un paquete de informes NO DEBE utilizar las funciones de cifrado del formato de archivo .ZIP ( rpe:invalidArchiveFormat o tpe:invalidArchiveFormat ).
3.1 Tipos de paquetes de informes
Esta especificación define tres tipos de paquetes de informes:
- Paquete de informes XBRL en línea: un paquete de informes que contiene un único conjunto de documentos XBRL en línea.
- Paquete de informes XBRL no integrado: un paquete de informes que contiene un solo informe XBRL v2.1 o un solo informe basado en JSON .
- Paquete de informes sin restricciones: un paquete de informes que contiene cualquier número de informes.
El tipo de un paquete de informes se determina como se describe en la Sección 3.4 .
El conjunto de documentos Inline XBRL contenido en un paquete de informes Inline XBRL PUEDE estar compuesto por varios documentos Inline XBRL o definir varios documentos de destino .
3.2 Estructura del directorio
Un paquete de informes que cumpla con esta especificación DEBE contener un solo directorio de nivel superior, con todos los demás archivos contenidos dentro de ese directorio o subdirectorios descendientes. Este directorio NO DEBE llamarse META-INF. Este directorio se denomina STLD. Si no se cumplen estas restricciones, un procesador DEBE verificar si el paquete puede identificarse como un paquete de informe futuro y manejarse como se describe en la Sección 7. De lo contrario, un procesador DEBE generar rpe:invalidDirectoryStructure o tpe:invalidDirectoryStructure .
3.3 Identificación de paquetes de informes y taxonomía
Un procesador PUEDE configurarse para determinar si un archivo con una extensión .zipo .ZIP es un paquete de taxonomía o un paquete de informes por inspección. En este caso, el archivo se considera un paquete de informes si existe alguna de las siguientes rutas dentro del STLD :
- META-INF/reportPackage.json
- reports
Si no existe ninguna ruta, el archivo se trata como un paquete de taxonomía y no se aplican las restricciones y el procesamiento adicionales definidos por esta especificación.
De lo contrario, el archivo se trata como un paquete de informes y se procesa de acuerdo con esta especificación o una especificación más reciente para paquetes de informes (consulte la Sección 3.4 ).
3.4 Identificación de la versión del paquete de informes
Un paquete de informes DEBE incluir un archivo llamado reportPackage.jsonen el directorio META-INF. Si está presente, el archivo DEBE cumplir con las restricciones de sintaxis JSON de la Sección 8 y el puntero JSON/documentInfo/documentType DEBE resolverse en una cadena (rpe:invalidJSONStructure).
El URI de tipo de documento para un paquete de informes es el valor de la /documentInfo/documentTypepropiedad o, si reportPackage.jsonno está presente, el valor https://xbrl.org/report-package/PR/2023-07-26.
El URI del tipo de documento del paquete de informes se maneja de la siguiente manera:
- Si el URI de tipo de documento es uno de los tres URI de tipo de documento para esta especificación (consulte la tabla a continuación), el paquete DEBE procesarse de acuerdo con esta especificación;
- De lo contrario, si el tipo de documento URI es un URI prescrito por otra especificación internacional XBRL admitida por el procesador, el paquete DEBE procesarse de acuerdo con esa otra especificación y no se realiza ningún otro procesamiento de esta especificación;
- De lo contrario, DEBE generarse el error rpe:unsupportedReportPackageVersion .
Esta especificación define los siguientes URI de tipo de documento :
3.4.2 Informes ilustrativos en paquetes de taxonomía
Algunos paquetes de taxonomía incluyen informes con fines ilustrativos. Estos paquetes DEBERÍAN usar la .zipextensión convencional, como se espera en la especificación del paquete de taxonomía , y aún se considerarán paquetes de informes siempre que cumplan con la definición de un paquete de informes .
3.5 Compatibilidad del paquete de taxonomía
Si un paquete de informes contiene la ruta META-INF/taxonomyPackage.xmldentro del STLD , DEBE ser un paquete de taxonomía válido .
La especificación del paquete de taxonomía implica, pero no requiere, que el paquete tendrá una extensión de archivo de .zip. Esta especificación permite una serie de extensiones alternativas, como se describe en la Sección 3.4.1 . Las referencias a la «extensión de archivo .zip» en la especificación del paquete de taxonomía deben leerse como cualquier extensión permitida por esta especificación.
3.6 El directorio de informes
Un paquete de informes DEBE contener un directorio llamado reportscomo elemento secundario del STLD ( rpe:missingReportsDirectory ).
4. Informes
4.1 Tipos de informes
Un informe es un archivo, o en el caso de un conjunto de documentos XBRL en línea , un conjunto de archivos, con una extensión de archivo reconocida .
Las extensiones de archivo reconocidas son:
- .xbrl– un informe XBRL v2.1.
- .xhtmly.html–.htmun informe Inline XBRL v1.1 (o parte de un conjunto de documentos Inline XBRL).
- .json– un informe basado en JSON (consulte la Sección 4.2.2 ).
4.2 Descubrimiento de informes
Si el reportsdirectorio contiene algún archivo con una extensión de archivo reconocida, cada uno de esos archivos se trata como un informe independiente y los subdirectorios del reportsdirectorio se ignoran con el propósito de descubrir el informe.
De lo contrario, cada subdirectorio del reportsdirectorio se trata de la siguiente manera:
- Si no contiene archivos con una extensión de archivo reconocida, se ignora;
- De lo contrario, si los únicos archivos con una extensión de archivo reconocida tienen .xhtml, .htmlo.htmextensiones de archivo, el conjunto de dichos archivos se trata como un Conjunto de documentos XBRL en línea;
- De lo contrario, si hay un solo archivo con una extensión de archivo reconocida , se trata como un informe;
- De lo contrario, DEBE generarse el error rpe:multipleReportsInSubdirectory .
Tenga en cuenta que:
- Los subdirectorios anidados están permitidos, pero se ignoran a efectos de la detección de informes; reportssólo se consideran los descendientes directos del directorio.
- Los archivos que no tienen una extensión de archivo reconocida pueden aparecer en el reportsdirectorio y en cualquier subdirectorio, pero se ignoran a los efectos de la detección de informes.
Si no se encuentran informes, DEBE generarse rpe:missingReport .
4.2.1 Restricciones del tipo de paquete
Si el paquete de informes es un paquete de informes XBRL en línea o un paquete de informes XBRL no en línea , NO DEBE haber más de un informe en el paquete de informes ( rpe:multipleReports ).
Si el paquete de informes es un paquete de informes XBRL en línea , el informe contenido DEBE ser un conjunto de documentos XBRL en línea ( rpe:incorrectReportType ).
Si el paquete de informes no es un paquete de informes XBRL en línea , el informe contenido DEBE ser un informe XBRL v2.1 o un informe basado en JSON ( rpe:incorrectReportType ).
4.2.2 Informes basados en JSON
Un informe basado en JSON es un informe con una .jsonextensión. Los formatos de informe basados en JSON generalmente se crean en el modelo de información abierta y siguen un enfoque consistente de usar un URI de tipo de documento contenido dentro de un archivo JSON para identificar el tipo de formato. Los ejemplos de informes basados en JSON incluyen xBRL-JSON y xBRL-CSV . El archivo JSON PUEDE hacer referencia a otros archivos que juntos componen el informe.
Los informes con una .jsonextensión DEBEN cumplir con las restricciones de sintaxis JSON de la Sección 8 .
El puntero JSON /documentInfo/documentTypeDEBE resolverse en una cadena, que se trata como se describe en la sección 2 de Definiciones comunes del modelo de información abierto .
Si /documentInfo/documentTypeno se resuelve en una cadena, debe tratarse como si un «tipo de documento no estuviera presente».
Los procesadores de esta especificación DEBEN aplicar la validación anterior, pero no están obligados a admitir ningún formato de informe basado en JSON (consulte la Sección 4.3 ).
4.3 Validación de informes
Los procesadores de esta especificación no están obligados a validar los informes dentro del paquete. Dicha validación solo se requiere en el momento en que el software intenta abrir un informe dentro del paquete y está prescrita por la especificación relevante para el formato del informe.
No es necesario que los procesadores admitan todos los formatos de informe. Cuando un procesador no admita Inline XBRL v1.1 o XBRL v2.1 e intente abrir un informe de este tipo desde un paquete de informes , DEBE utilizarse el código rpe:unsupportedReportFormat . Cuando un procesador no admita un formato de informe basado en JSON, DEBE manejarse según la sección 2 de definiciones comunes del modelo de información abierto .
5. Reasignaciones
Un paquete de informes PUEDE contener reasignaciones, como se define en la especificación del paquete de taxonomía.
Las reasignaciones se aplican solo a la resolución de documentos de taxonomía y otros archivos de metadatos definidos por XBRL International (como los archivos de metadatos xBRL-CSV ). Las imágenes, los estilos y los scripts a los que hace referencia cualquier documento HTML dentro de un paquete de informes no están sujetos a reasignaciones.
Las direcciones URL absolutas, resueltas mediante reasignaciones, son la forma preferida de hacer referencia a una taxonomía de extensión de un informe , incluso si la taxonomía está incluida en el mismo paquete de informes.
Las reasignaciones solo se aplican si el paquete de informes también es un paquete de taxonomía .
Si no hay ningún META-INF/taxonomyPackage.xmlarchivo, se META-INF/catalog.xml ignora.
6. Pedido de informes
Si un paquete de informes contiene varios informes y se requiere ordenar esos informes para presentarlos a un usuario final, entonces el orden es el siguiente:
- Si los informes están contenidos en el reportsdirectorio, entonces el ordenamiento es el ordenamiento lexicográfico de los nombres de archivo;
- Si los informes están en subdirectorios del reportsdirectorio, entonces la ordenación es la ordenación lexicográfica de los nombres de los subdirectorios.
En el caso de un conjunto de documentos XBRL en línea , el orden de los documentos dentro del conjunto es el orden lexicográfico de los nombres de archivo.
7. Compatibilidad con especificaciones futuras
- El META-INF/reportPackage.jsonarchivo DEBE cumplir con las restricciones de sintaxis JSON en la Sección 8; y
- El puntero JSON /documentInfo/documentType DEBE resolverse en una cadena (rpe:invalidJSONStructure).
- Si la cadena corresponde a un URI definido como URI de tipo de documento por una especificación internacional XBRL más reciente que es compatible con el procesador, el paquete DEBE procesarse de acuerdo con esa especificación;
- De lo contrario, DEBE generarse rpe:unsupportedReportPackageVersion .
- En cualquier caso, no se realiza un procesamiento posterior de esta especificación.
8. Restricciones de sintaxis JSON
Los archivos JSON definidos por esta especificación DEBEN ser JSON válidos, según RFC 8259 (rpe:invalidJSON).
Para evitar problemas de interoperabilidad, los objetos dentro de los documentos JSON definidos por esta especificación DEBEN tener claves únicas (rpe:invalidJSON).
Dichos documentos JSON DEBEN usar la codificación de caracteres UTF-8 (rpe:invalidJSON) y PUEDEN incluir una marca de orden de bytes Unicode, aunque esto no es obligatorio ni recomendado.
Los procesadores PUEDEN utilizar un código equivalente prescrito por otra Especificación internacional XBRL aplicable en lugar de rpe:invalidJSON, como el invalidJSONcódigo prescrito por xBRL-CSV o xBRL-JSON.
Apéndice A Estructura de archivo de ejemplo
A.1 Ejemplo: informe XBRL en línea simple y único
El siguiente ejemplo muestra la estructura de archivos para un paquete de informes simple ,example1.xbrique contiene un solo informe XBRL en línea:
acme-x42-submission-2022/
META-INF/
reportPackage.json
taxonomyPackage.xml
catalog.xml
xbrl.example.com/
v1/
taxonomy.xsd
taxonomy-linkbase.xml
reports/
report-1.html
report-1-graph.svg
css/
report-1.css
A.1.1 Notas
- Este ejemplo también es un paquete de taxonomía.
- Esto usa la .xbriextensión, por lo que reportPackage.jsondebe estar presente.
A.2 Ejemplo: informe simple, único xBRL-CSV
El siguiente ejemplo muestra la estructura de archivos para un paquete de informes simple , example2.xbrque contiene un solo informe XBRL en línea:
acme-x42-submission-2022/
META-INF/
reportPackage.json
reports/
myReport.json
table1.csv
table2.csv
table3.csv
A.2.1 Notas
- Esto usa la .xbrextensión, por lo que reportPackage.jsondebe estar presente.
A.3 Ejemplo: múltiples informes de diferentes tipos
El siguiente ejemplo muestra la estructura de archivos para un paquete de informes, example3.zipque contiene tres informes de diferentes tipos. También incluye el reportPackage.json archivo de metadatos opcional.
acme-x42-submission-2022/
META-INF/
reportPackage.json
reports/
report-1.xhtml
report-2.xhtml
report-3.json
subdir/
ignored.xhtml
A.3.1 Notas
- report-1.xhtmly report-2.xhtmlse tratan como informes independientes y no como un conjunto de documentos XBRL en línea .
- ignored.xhtmlse ignora, porque los archivos con recognised file extensionsestán presentes dentro del reportsdirectorio.
- Este paquete contiene varios informes, por lo que debe usar la .zipextensión.
- reportPackage.jsones opcional, pero recomendado.
- Este paquete de informes no es un paquete de taxonomía .
A.4 Ejemplo: conjuntos de documentos XBRL en línea
El siguiente ejemplo muestra la estructura de archivos para un paquete de informes que example4.zipcontiene dos conjuntos de documentos XBRL en línea.
acme-x42-submission-2022/
META-INF/
taxonomyPackage.xml
catalog.xml
xbrl.example.com/
v1/
taxonomy.xsd
taxonomy-linkbase.xml
reports/
docset1/
report-1-1.xhtml
report-1-2.xhtml
docset2/
report-2-1.xhtml
report-2-2.xhtml
A.4.1 Notas
- Este paquete contiene varios informes, por lo que debe usar la .zipextensión.
- Este paquete también es un paquete de taxonomía.
- Aún sería necesario colocar los archivos dentro de un subdirectorio, incluso si solo hubiera un conjunto de documentos Inline XBRL dentro del paquete de informes , para que los .xhtmlarchivos se traten como un solo conjunto de documentos Inline XBRL.
Apéndice B Requisitos
Esta especificación aborda un subconjunto de los requisitos publicados en Requisitos del paquete de informes 1.0
Se han abordado los siguientes requisitos:
- 4.1 Soporte para múltiples informes
- 4.2 Paquetes de informes únicos
- 4.3 Descubrimiento de informes
- 4.4 Múltiples taxonomías
- 4.5 Reasignación de URL absoluta
- 4.6 Recursos de apoyo
- 4.7 Taxonomía de extensión
- 4.8 tipos de archivos iXBRL
- 4.9 Ordenación de informes
- 4.12 Ordenación de conjuntos de documentos
- 4.14 Formatos de archivo distintos
No se han abordado los siguientes requisitos:
- 4.10 Firma de informes
- 4.11 Dependencias externas
- 4.13 Documentación del idioma del informe
- 4.15 Metadatos de informes arbitrarios
Apéndice C Situación de la propiedad intelectual (no normativa)
Este documento y sus traducciones pueden copiarse y proporcionarse a otros, y los trabajos derivados que lo comentan o explican o ayudan en su implementación pueden prepararse, copiarse, publicarse y distribuirse, en su totalidad o en parte, sin restricción de ningún tipo, siempre que el aviso de derechos de autor anterior y este párrafo se incluyan en todas esas copias y trabajos derivados. Sin embargo, este documento en sí no puede modificarse de ninguna manera, como eliminar el aviso de derechos de autor o las referencias a XBRL International o las organizaciones de XBRL, excepto cuando sea necesario para traducirlo a otros idiomas además del inglés. Los miembros de XBRL International aceptan otorgar determinadas licencias en virtud de la Política de propiedad intelectual de XBRL International (https://www.xbrl.org/legal).
Este documento y la información que contiene se proporcionan «TAL CUAL» y XBRL INTERNATIONAL RENUNCIA A TODAS LAS GARANTÍAS, EXPLÍCITAS O IMPLÍCITAS, INCLUYENDO, ENTRE OTRAS, CUALQUIER GARANTÍA DE QUE EL USO DE LA INFORMACIÓN AQUÍ NO INFRINGIRÁ NINGÚN DERECHO O GARANTÍA IMPLÍCITA DE COMERCIABILIDAD O IDONEIDAD PARA UN FIN DETERMINADO.
La atención de los usuarios de este documento está dirigida a la posibilidad de que el cumplimiento o la adopción de las especificaciones de XBRL International pueda requerir el uso de una invención cubierta por derechos de patente. XBRL International no será responsable de identificar las patentes para las cuales se puede requerir una licencia por cualquier especificación de XBRL International, o de realizar investigaciones legales sobre la validez legal o el alcance de aquellas patentes que se le presenten. Las especificaciones de XBRL International son solo prospectivas y de asesoramiento. Los usuarios potenciales son responsables de protegerse contra la responsabilidad por infracción de patentes. XBRL International no toma ninguna posición con respecto a la validez o el alcance de cualquier propiedad intelectual u otros derechos que puedan reclamarse relacionados con la implementación o el uso de la tecnología descrita en este documento o la medida en que cualquier licencia bajo tales derechos podría o no ser disponible; tampoco representa que haya hecho ningún esfuerzo por identificar tales derechos. Los miembros de XBRL International aceptan otorgar ciertas licencias bajo la Política de propiedad intelectual de XBRL International (https://www.xbrl.org/legal).
Publicado originalmente: https://www.xbrl.org/news/report-packages-proposed-recommendation-released/