You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESEF报告同一事实不同显示值触发duplicated_facts错误咨询

解决ESEF报告中Arelle报重复事实值矛盾的问题

问题本质

Arelle的tech_duplicated_facts1错误核心不是忽略了decimals属性,而是XBRL规则要求同一context下的同一概念(比如ifrs-full:Revenue)只能对应一个唯一的事实值。哪怕两个近似值的精度区间有交集,只要经过scale计算后的实际数值不同,就会被判定为矛盾的重复事实——因为XBRL的事实是用来精准代表业务数据的,不是用来承载不同可视化近似结果的。

具体解决方法

  • 只保留一个权威XBRL事实:同一个会计概念+同一报告期间(context)只能生成一个<ix:nonFraction>元素,所有报告文本/表格中的近似显示(比如~124 mio、123 mio),只在可视化层面做格式转换,不要生成对应的XBRL元素。
  • 正确使用精度属性:如果需要在XBRL中体现数值精度,统一用一组decimals和scale来定义,比如针对123569815,46 €,可以选择:
    <ix:nonFraction contextRef="D-01012024-31122024" decimals="-6" format="ixt4:num-comma-decimal" id="esef-9696_2024_74477_1" name="ifrs-full:Revenue" scale="6" unitRef="euro">123,6</ix:nonFraction>
    
    然后报告中的不同近似展示基于这个精确的XBRL值做渲染,比如四舍五入到124或123 mio,不需要额外生成XBRL事实。
  • 避免跨scale的重复上报:像第二个案例中同时用scale=6(百万级)和scale=3(千级)上报同一数值的做法,本身就违反了XBRL的事实唯一性原则,必须砍掉其中一个,只保留最能代表业务数据精度的那一个。
  • 特殊场景处理:如果确实需要在报告中披露不同精度的同一项数据(比如不同维度的细分),要通过**XBRL维度(dimension)**来区分,而不是重复同一个概念的事实。比如给不同精度的数值添加不同的维度成员,让Arelle识别为不同的事实,而非重复矛盾项。

案例修正示例

针对你提到的61477652,16 €的情况,只保留一个权威事实:

<!-- 选择最精确的scale和decimals,比如千级精度 -->
<ix:nonFraction contextRef="D-01012024-31122024" decimals="-4" format="ixt4:num-comma-decimal" id="esef-xxx_2024_xxxx_1" name="ifrs-full:Revenue" scale="3" unitRef="euro">61,478</ix:nonFraction>

然后报告中的"61,5 mio €"显示,直接基于这个值做单位转换和四舍五入渲染即可,不需要生成额外的XBRL元素。

内容的提问来源于stack exchange,提问作者CrazyEight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:08:25