[실무 일기] XBRL 쪼개기 ③ : DSD 주석표맵핑 – 행(Line)과 축(Axis), 표(Table)를 입체적으로 읽기 (+합계 중복 입력 금지)
회계팀의 가장 큰 귀찮음은? 바로 주석 작성! 재무제표 본문은 그나마 숫자가 딱딱 떨어지니 매핑이 수월하지만, 주석은 이야기가 다르다. 수많은 표와 텍스트, 그리고 그 안에 얽힌 세부 내역들을 보고 있노라면 어디서부터 손을 대야 할지 막막해진다.
가이드 제2장과 제5장에서 다루는 구조론(Dimensional Modeling)은 바로 이 지점에서 실무자를 구원하기 위해 등장했다. 흔히 '입체적 공시'라고 부르는 이 개념은 엑셀의 평면적인 사고방식을 버려야만 이해할 수 있다. 주석 태깅의 늪에서 빠져나오는 차원의 마법을 설명해보려 한다.

1. 주석표맵핑: 엑셀의 ‘표’는 잊어라. 이제부터는 입체적 공시
(1) 평면적인 엑셀과 입체적인 XBRL
우리는 평생 엑셀을 써왔다. 가로줄(행)과 세로줄(열)이 만나는 셀에 값을 넣는 것이 우리에겐 너무나 당연하다.
하지만 XBRL은 다르다. XBRL에서 하나의 데이터는 단순한 위치가 아니라 ‘좌표’로 존재한다.
예를 들어 ‘기말잔액 100억’이라는 숫자가 있다고 치자. 엑셀에서는 단순히 C열 10행에 있을 뿐이지만, XBRL에서는 ‘계정과목(행) + 지역(축) + 시간(시점)’이라는 세 가지 정보가 결합하여 만들어진 하나의 점이다. 가이드에서 말하는 표(Table)란, 바로 이러한 좌표들의 집합체다.
(2) 행(Line Item)은 ‘무엇’을 말하는가
행(Line Item)은 데이터의 본질적인 성격을 규정한다. 우리가 흔히 아는 계정과목이 여기에 해당한다. ‘매출액’, ‘유형자산’, ‘현금및현금성자산’처럼 “그 숫자가 무엇인가?”에 대한 답이다.
▶2025.01. 금융감독원 DART XBRL 재무제표 본문/주석 작성 가이드 중 18~19페이지 발췌


2. 열을 구성하는 3단계: 축(Axis)과 도메인(Domain), 구성요소(Member)
(1) 축(Axis)은 ‘어떤 기준’인가
실무자가 가장 헷갈려하는 개념이 축(Axis)이다. 축은 데이터를 세부적으로 분류하는 ‘차원’이다.
- “매출액(행)을 지역별(축)로 나누어보자.”
- “유형자산(행)을 자산유형별(축)로 나누어보자.”
이처럼 하나의 본질적인 숫자를 특정 기준에 따라 해체할 때 사용하는 칼날이 바로 축이다.
(2) 도메인(Domain)과 멤버(Member): 칼날의 세부 마디
축이 ‘지역별’이라는 큰 기준이라면, 그 안에 들어가는 구체적인 항목인 ‘국내’, ‘해외’, ‘아시아’, ‘유럽’ 등은 멤버(Member)라고 부른다. 그리고 이 멤버들을 모두 담고 있는 주머니가 바로 도메인(Domain)이다.
[실무 예제] 유형자산 증감내역 주석 태깅
회계팀 결산의 꽃이라 불리는 유형자산 주석을 예로 들어보자.
- 행(Line Item): 기초장부금액, 취득, 처분, 감가상각, 기말장부금액
- 축(Axis): 유형자산별 차원(Classes of Property, Plant and Equipment Axis)
- 멤버(Member): 토지, 건물, 기계장치, 건설중인자산
만약 우리가 ‘건물의 취득액’을 태깅한다면, 기계는 이를 어떻게 인식할까?
“취득(행)이라는 개념인데, 유형자산별 차원(축) 중에서 건물(멤버)에 해당하는 데이터구나!”
이것이 입체적 공시의 핵심이다. 엑셀처럼 칸을 채우는 것이 아니라, 어떤 성격(행)의 숫자를 어떤 기준(축)의 어느 항목(멤버)에 위치시킬지를 설계하는 것이다.
이해를 돕기 위해 고객과의 계약에서 생기는 수익에 대한 참고자료를 금감원 작성 가이드에서 발췌하여 표시한다.
▷2025.01. 금융감독원 DART XBRL 재무제표 본문/주석 작성 가이드 중 17페이지 발췌

3. 실무 포인트: 왜 ‘합계’ 열을 별도로 만들면 안 되는가?
DSD 작성기에서 표를 생성하다 보면 가장 많이 하는 실수가 있다. 바로 감사보고서 원본에 ‘합계’ 열이 있다고 해서 XBRL에서도 합계 멤버’를 새로 만드려고 하는 것이다.
XBRL의 ‘디폴트(Default)’ 개념
가이드 제5장에서 엄격히 금지하는 것 중 하나가 불필요한 합계 멤버의 생성이다. XBRL 구조에서 축(Axis)을 적용하지 않은 상태의 값은 그 자체로 ‘전체(Total)’ 또는 ‘합계’를 의미한다. 이를 디폴트 멤버(Default Member)라고 한다.
[실전 사례] 지역별 매출 공시
감사보고서에 다음과 같은 표가 있다고 가정하자.
- 국내 매출: 70억
- 해외 매출: 30억
- 합계: 100억
이때 실무자는 ‘국내’ 멤버에 70억, ‘해외’ 멤버에 30억을 넣는다. 그리고 100억은 어디에 넣어야 할까? 별도의 ‘합계 멤버’를 만드는 것이 아니라, 아무런 축(차원)을 지정하지 않은 ‘매출액’ 행 자체에 100억을 넣어야 한다.
기계는 축이 지정되지 않은 값을 보고 “아, 이것이 국내와 해외를 모두 아우르는 전체 합계값이구나”라고 스스로 판단한다. 만약 별도의 합계 멤버를 중복해서 만들면, 데이터 분석기(OpenDART 등)는 합계의 합계를 계산하는 치명적인 오류를 범하게 된다.
4. 고정자산(유형자산) 표로 배우는 DSD 주석표맵핑
이론만으로는 와닿지 않는다. 주석 원고를 들고 가장 먼저 마주하게 되는 유형자산 증감내역 표를 직접 XBRL 구조로 해체해 보자.
(1) 1단계: 행(Line Item) 설정 – 무엇을 기록하는가?
우선 표의 세로축에 들어갈 성격들을 정의한다.
- 기초장부금액 (Beginning balance)
- 취득 (Additions)
- 처분 (Disposals)
- 감가상각 (Depreciation)
- 기말장부금액 (Ending balance)
(2) 2단계: 축(Axis)과 멤버(Member) 설정 – 어떻게 나누는가?
이제 이 데이터들을 자산 유형이라는 칼날로 쪼개야 한다.
- 축(Axis): 유형자산별 차원 (Classes of Property, Plant and Equipment Axis)
- 도메인(Domain): 유형자산 도메인
- 멤버(Member): 토지, 건물, 기계장치, 건설중인자산
(3) 3단계: 좌표 매핑의 실제
기계가 ‘건물의 감가상각비 5억’이라는 데이터를 읽는 과정은 다음과 같다.
성격(행): 감가상각비
분류(축): 유형자산별 차원
세부(멤버): 건물
값: 5,000,000,000
(4) 4단계: 계산검증(Calculation)과 디폴트(Default)의 마법
여기서 실무자가 가장 많이 실수하는 포인트가 등장한다. 바로 감사보고서에 있는 ‘합계’ 열 처리다.
XBRL 구조에서 축(Axis)을 지정하지 않은 순수한 행의 값은 그 자체로 ‘전체(Total)’를 의미한다. 이를 디폴트 멤버(Default Member)라고 한다.
- 토지(70억) + 건물(20억) + 기계(10억)를 각각 멤버에 매핑했다면,
- 전체 합계(100억)는 별도의 ‘합계 멤버’를 만드는 것이 아니라, 축을 선택하지 않은 상태의 ‘유형자산’ 행에 입력해야 한다.
시스템은 축이 없는 100억을 보고 “아, 이것이 모든 자산 유형을 합친 총계구나”라고 인식하며, 하위 멤버들의 합(70+20+10)과 일치하는지 계산검증을 수행한다. 만약 실무자가 별도의 ‘합계 멤버’를 중복 생성하면 데이터가 이중으로 잡히는 치명적인 오류가 발생한다.
4. 계정별 역할 분담과 구조 설계의 디테일
보통 회계팀 내에서 본문(재무상태표, 손익계산서 등)은 신입이나 주니어가 담당하지만, 이 입체적 구조 설계가 필요한 주석은 대리~과장급 이상의 시니어가 담당하는 경우가 많다.
D+2일: 엑셀 표의 해체
주석 원고가 나오면 가장 먼저 해야 할 일은 우리 회사의 표가 표준 택사노미의 어떤 축(Axis)과 매핑되는지를 결정하는 것이다. 가이드에서 제공하는 ‘표준 주석 목차(Link Role)’를 대조하며, 우리가 임의로 축을 확장해야 할지 표준을 쓸지 결정한다.
D+3일: 좌표값 매핑과 검증
설계가 끝나면 숫자를 밀어 넣는다. 이때 가장 중요한 것은 ‘계산 검증(Calculation)’이다. 행 간의 계산(기초 + 취득 – 처분 = 기말)뿐만 아니라, 축(차원) 간의 계산도 맞아야 한다. 즉, 각 멤버(토지, 건물 등)의 기말잔액 합계가 본문에 공시된 유형자산 총계(디폴트 값)와 일치하는지 시스템적으로 확인해야 한다.
5. 실무자의 요약 및 조언
- 입체적 공시는 데이터를 행(성격)과 축(분류 기준)의 조합으로 인식하는 것이며, 엑셀의 평면적인 사고에서 벗어나 데이터의 좌표를 설계하는 과정이다.
- 축(Axis)은 데이터를 쪼개는 기준이며, 축을 적용하지 않은 순수한 행의 값은 그 자체로 전체 합계(Default)를 의미하므로 별도의 합계 멤버를 중복 생성하지 않도록 주의해야 한다.
- 실무적으로는 주석의 각 표를 ‘행-축-멤버’의 단위로 미리 해체해보는 연습이 필요하며, 이는 결산 마감 시 검증 오류를 줄이고 OpenDART 데이터의 신뢰성을 높일 수 있다.
- 결국 XBRL 구조론을 이해한다는 것은 재무제표의 행간에 숨겨진 데이터의 뼈대를 볼 줄 알게 된다는 의미이며, 이는 공시 담당자의 전문성을 증명하는 가장 강력한 무기가 될 것이다.
