보고서 조립기 기능설명
0.18.0 버전 기준
엑셀로 쓴 주석을 DART 작성기가 읽는 파일(.dsd)로 옮깁니다. 무엇을 어떻게 하는지, 그리고 무엇을 하지 않는지를 적어 두었습니다.
엑셀로 쓴 주석을 DART 작성기 파일(.dsd)로 옮기는 프로그램입니다.
설치할 것이 없고, 파일은 브라우저 안에서만 다뤄집니다.
이 문서는 무엇을 어떻게 하는지, 무엇을 하지 않는지를 빠짐없이 적은 것입니다.
손에 익히는 것은 사용법.html 을 보십시오.
1. 하는 일
엑셀 한 개를 넣으면 .dsd 한 개가 나옵니다.
엑셀(.xlsx) ─→ 보고서 조립기 ─→ .dsd ─→ 작성기에서 복사 ─→ 원본 문서에 붙여넣기
시트 하나가 주석 하나가 됩니다. 엑셀 양식은 상관없습니다 — 결산 조서든, 분리기로 뽑은 것이든, 손으로 만든 것이든 그대로 넣습니다. 프로그램 안에 빈 문서양식 여덟 가지가 들어 있고, 그 가운데 하나를 골라 거기에 옮겨 담습니다.
| 서식 | 코드 | 재무제표 자리 | 외부감사실시내용 |
|---|---|---|---|
| 감사보고서 | 00760 | ○ | ○ |
| 연결감사보고서 | 00761 | ○ | ○ |
| 감사전 재무제표 | 00860 | ○ | · |
| 감사전 연결재무제표 | 00861 | ○ | · |
| 반기검토보고서 | 90020 | ○ | · |
| 분기검토보고서 | 90220 | ○ | · |
| 반기연결검토보고서 | 90320 | · | · |
| 분기연결검토보고서 | 90420 | · | · |
· 는 그 서식에 그 절이 아예 없다는 뜻입니다. 그때는 주석으로 갑니다.
만든 파일을 그대로 제출하지 마십시오
빈 문서양식에 옮겨 담은 것이라 회사·감사인·기수·헤더정보 같은 것이 들어 있지
않습니다. 그대로 내면 제출 서류로 성립하지 않습니다.
작성기에서 열어 필요한 부분을 복사한 뒤 실제로 제출할 원본 문서에 붙여넣고,
그 원본을 제출하십시오. 파일 이름이 …_붙여넣기용.dsd 인 까닭입니다.
2. 엑셀을 읽는 규칙
규칙은 하나입니다 — 그 줄에 칸이 몇 개인가.
| 엑셀 줄 | DSD 로는 |
|---|---|
| 칸이 둘 이상 | 표의 한 행 |
| 칸이 하나 | 문단 |
| 줄 번호가 건너뜀 | 빈 줄 |
값이 비어 있어도 칸은 칸입니다. 그래서 비유동항목: 처럼 값이 하나뿐인
표 행도 표 안에 남고, 표와 표 사이의 설명 문단은 저절로 갈립니다.
표가 될 줄이 번호가 끊기지 않고 이어지는 동안이 표 하나입니다.
결합칸
가로·세로 결합을 COLSPAN·ROWSPAN 으로 그대로 옮깁니다.
왼쪽 여백 열
표가 실제로 쓰는 열만 잡습니다. 엑셀에서 A열을 비워 두고 B열부터 쓴 표는 빈 A열 없이 만들어집니다.
문단 이어 붙이기 끌 수 있음
분리기로 뽑은 엑셀은 인쇄된 줄 하나가 엑셀 한 줄입니다. 그대로 두면 작성기에서 문장 한복판이 끊기므로 다시 이어 붙입니다. 앞줄이 문장부호로 끝날 때만 빈칸을 넣습니다 — 실제 문서에서 이 경우가 대부분입니다. 드물게 빈칸 하나가 빠질 수 있으므로, 줄을 그대로 두시려면 화면 아래 스위치를 끄십시오.
원본이 빈칸을 먹은 것인지(고객이+반품) 단어 중간에서 끊은 것인지
(변동대+가의) 구분할 방법이 없어 남는 흠입니다.
번호로 시작하는 짧은 줄
1. 회사의 개요 같은 줄은 제목으로 보아 앞줄과 붙이지 않습니다.
받는 형식
| 넣은 것 | 어떻게 되나 |
|---|---|
.xlsx | 읽습니다. |
.xls (옛 엑셀) | 못 읽습니다. OLE2 이진 형식이라 속이 아예 다릅니다. 엑셀에서 다른 이름으로 저장 → Excel 통합 문서(*.xlsx) 로 한 번 저장하십시오. 그렇게 안내합니다. |
| PDF · HTML · XML | 무엇인지 짚어 주고 멈춥니다. |
3. 어느 자리로 가나
시트 이름을 보고 서식 안에서 자리를 찾습니다.
| 시트 이름 | 가는 곳 |
|---|---|
재무상태표 · 대차대조표 · BS | 작성기가 그 단위서식을 끼우는 자리 바로 뒤 |
손익계산서 · 포괄손익계산서 · IS | 〃 |
자본변동표 · CE | 〃 |
현금흐름표 · CF | 〃 |
외부감사실시내용 · Conduct | 「외부감사실시내용」 절 |
| 그 밖의 모든 시트 | 「주석」 머리표 바로 밑 |
이름 앞뒤에 붙는 말도 같이 봅니다.
- 앞 —
연결재무상태표,반기재무상태표,분기손익계산서 - 뒤 — 재무상태표
(연결), 재무상태표(별도)
연결과 별도가 한 파일에 있을 때
한 자리에 시트가 둘 걸리면 서식에 맞는 쪽을 놓습니다. 서식 제목이
「연 결 재 무 상 태 표」 면 재무상태표 (연결) 을, 「재 무 상 태 표」 면
재무상태표 를. 밀린 쪽은 주석으로 갑니다.
자리를 못 찾으면
무엇이든 「주석」 절에 시트 차례대로 이어 붙입니다. 연결검토보고서처럼 재무제표 자리가 없는 서식이면 재무제표 넷도 주석으로 갑니다. 화면에 「이 서식에 자리가 없는 것: BS, IS, CE, CF — 주석으로 보냅니다」 라고 알립니다.
제목
재무제표에는 서식이 적어 둔 제목(「연 결 재 무 상 태 표」)을 앞에 답니다. 엑셀이 이미 같은 제목으로 시작하면 겹치므로 달지 않습니다. 우리가 제목을 지어내지는 않습니다.
주석은 머리표 바로 밑
서식의 주석 절은 제목 → 머리표(날짜·회사명) → 빈 줄 여섯 → 페이지나눔
모양입니다. 절 맨 끝에 붙이면 주석 1번이 다음 장에서 시작하므로,
꼬리의 빈 문단과 페이지나눔을 건너뛰고 머리표 바로 뒤에 넣습니다.
4. 표를 짓는 법
작성기가 사람 손으로 만든 표와 같게 보도록 짓습니다.
제목행 찾기
첫 줄에 숫자가 있으면 제목행이 아닙니다. 여러 줄인 것은 결합칸으로 압니다.
| 보는 것 | 뜻 |
|---|---|
| 세로로 합쳐진 칸 | 「구 분」 이 두 줄을 걸치면 그 높이만큼 제목행 |
| 가로로 합쳐진 칸 | 「당반기말」 이 두 열을 걸치면 아래 줄(「유동·비유동」)이 그 짝 |
| 칸이 거의 빈 줄 | 「(단위: 천원)」 같은 머리말 — 진짜 제목은 그 아래 |
| 멈추는 곳 | 숫자가 나오거나, 첫 칸만 차 있고 나머지가 빈 줄 |
제목행은 THEAD·TH 로 만듭니다. 그래야 작성기에서 열 복사·삭제가
제대로 걸립니다(ACOPYCOL·ADELETECOL·AMOVECOL).
열 너비
엑셀의 열 너비는 읽지 않습니다. 칸에 적힐 글자로 재어 600~900 폭에 맞춥니다 (한글은 두 칸). 그래서 숫자가 칸 안에서 줄바꿈되지 않습니다.
작성기가 쓰는 값
실제 서식을 재어 그대로 씁니다.
- 칸
WIDTH= 걸친 열 너비 합 − 9 - 칸
HEIGHT= 세로 결합 수 × 30 − 7 TR에ACOPY="Y" ADELETE="Y" HEIGHT="30"TABLE에ACLASS·BORDER·WIDTH
5. 값을 적는 법
| 엑셀에 있는 것 | 적히는 것 | 까닭 |
|---|---|---|
| 1517313 | 1,517,313 | 세 자리 콤마, 오른쪽 맞춤 |
| -9475 | (9,475) | 음수는 괄호 |
| 0 | - | 회계 관행. 글자 '0'·'(0)' 도 같이 봅니다 |
| 날짜 칸 (2026-03-31) | 2026-03-31 | 엑셀 서식을 읽습니다. 안 읽으면 46,112 가 됩니다 |
| 백분율 칸 (15.3%) | 15.3% | 안 읽으면 0.153 — 그럴듯해 보여 놓치기 쉽습니다 |
| 1234.5678901 | 1,234.5678901 | 값을 깎지 않습니다 |
| (단위: 천원) | 오른쪽 맞춤 | (단위: 로 시작할 때만. 제목에 딸린 것은 그대로 둡니다 |
| 칸 안의 줄바꿈 | &cr; | 작성기가 쓰는 표기 |
| 수식 | 계산된 값 | 값이 없으면 파일을 만들지 않습니다 |
XML 이 담지 못하는 제어문자는 버립니다. 하나만 섞여도 작성기가 못 여는 파일이 됩니다.
지수표기(1e+21)는 펼쳐 적습니다.
6. 아홉 가지 증명
하나라도 어긋나면 파일을 만들지 않습니다. 화면에 까닭이 적힙니다.
| # | 이름 | 무엇을 보는가 |
|---|---|---|
| 1 | 바이트 차이 증명 | 붙인 데 밖이 바탕 서식과 한 바이트도 다르지 않은가. 지운 것이 0바이트인가. |
| 2 | 자기검증 왕복 | 만든 것을 다시 읽어 엑셀 값이 하나도 빠짐없이 있는가. |
| 3 | 표 얼개 검사 | 표마다 열 수·너비가 맞는가. 줄마다 칸 수 합이 열 수와 같은가. 세로 결합이 표 밖으로 넘어가지 않는가. 스키마가 못 보는 것입니다. |
| 4 | 표 칸 자리 검사 | 값이 몇째 줄 몇째 칸에 있는가. 당기와 전기가 뒤바뀌어도 잡습니다. 값이 어딘가 있는지만 보면 이것을 못 잡습니다. |
| 5 | 수식 값 검사 | 수식만 있고 계산된 값이 없는 칸이 있는가. 그냥 두면 값이 소리 없이 빠집니다. |
| 6 | 숫자 그대로 검사 | 숫자를 글로 바꿨다 되돌려 값이 같은가. 반올림과 지수표기를 잡습니다. |
| 7 | 그림 보존 | 본문의 <IMG> 수가 그대로인가. 줄면 meta.xml 의 그림 목록과
아귀가 안 맞아 작성기가 문서를 의심합니다. |
| 8 | 다른 엔트리 보존 | meta.xml 과 그림 파일이 바이트까지 같은가. |
| 9 | 압축 왕복 | 만든 .dsd 를 다시 풀었을 때 넣은 내용과 같은가. |
검사가 걸리는지도 확인했습니다
안 잡는 검사는 없는 것만 못합니다 — 오히려 안심시켜서 더 나쁩니다. 그래서 일부러 망가뜨려 봤습니다.
| 망가뜨린 것 | 결과 |
|---|---|
| 표 한 줄에서 두 칸 값 맞바꿈 | ✕ 걸림 |
1.23456789 넣기 | ✕ 걸림 — 1.234568 로 깎임 |
2줄짜리 표에 ROWSPAN="3" | ✕ 걸림 |
멀쩡한 ROWSPAN="2" | ✓ 통과 (헛걸림 없음) |
7. 안 깨지는 까닭
원본 XML 을 다시 만들지 않습니다.
작성기가 저장한 파일은 속성 차례가 파일마다, 칸마다 다릅니다. XML 을 읽어 다시 쓰면 같은 뜻이라도 글자가 달라집니다. 그러면 형식이 틀어질 자리가 수천 군데 생깁니다.
그래서 정해진 자리에 끼워 넣기만 합니다. 태그·속성·구조·인코딩·줄끝을 우리가 만든 자리는 몇 곳뿐이고, 그 밖은 바탕 서식의 바이트가 그대로 남습니다. 지우는 것은 한 글자도 없습니다.
압축 파일 다루기
.dsd 는 ZIP 입니다. 원래 항목의 머리와 압축된 바이트를 그대로 베끼고
contents.xml 하나만 갈아끼웁니다. CP949 로 적힌 그림 파일 이름도 그대로 남습니다.
바깥 잣대
만든 파일을 금융감독원이 배포한 Dart4.xsd 로도 검사했습니다.
산출물 18개 오류 0건입니다. 다만 스키마는 표의 칸 수 셈을 못 보므로,
그것은 3번 증명이 따로 봅니다.
8. 안 하는 것
할 수 있어도 일부러 안 하는 것이 있습니다.
재무제표 단위서식·계정코드
작성기의 재무제표는 그냥 표가 아니라 ACODE 가 붙은 전용 칸(TE)을
가진 단위서식이라야 「재무제표 검사」가 돕니다.
엑셀 계정과목을 DART 계정코드에 자동으로 맞추려면 회사마다 다른 계정과목 이름을
짝지어야 하는데, 잘못 붙은 계정코드는 눈에 안 보이면서 제출 뒤에 문제가 됩니다.
값이 틀린 것보다 나쁩니다 — 틀린 줄도 모릅니다. 그래서 하지 않습니다.
작성기가 이렇게 말해도 정상입니다
- 표의 단위(내용)를 선택(기재)하여야 합니다
- OOO 의 재무제표 검사를 다시 하여야 합니다
재무제표를 옮겨 적고 단위를 고르면 사라집니다. 주석과 외부감사실시내용은 상관없습니다.
글꼴·굵기·음영·셀 색
옮기지 않습니다. 글자와 표 얼개만 옮깁니다.
엑셀 열 너비
읽지 않습니다. 칸에 적힐 글자로 어림합니다.
엑셀이 보여 주는 자릿수
엑셀이 #,##0 으로 1,235 로 보여 주더라도 값이
1234.5678 이면 그대로 적습니다. 깎는 쪽이 더 위험하기 때문입니다.
옛 엑셀(.xls) 읽기
형식이 아예 달라 해독기를 새로 만들어야 합니다. 엑셀에서 한 번 저장하면 끝나는 일에 그만한 코드를 들이면 틀릴 여지만 늘어납니다.
9. 안전과 비밀
- 파일이 밖으로 나가지 않습니다. 인터넷을 쓰지 않고 브라우저 안에서 끝냅니다. 인터넷을 끊어 놓고 써도 똑같이 됩니다.
- 넣으신 파일을 덮어쓰지 않습니다. 어떤 경우에도. 결과는 새 파일로 나옵니다.
- 바탕에서 지우는 것이 없습니다. 붙이기만 합니다.
- 서식은 프로그램 안에 들어 있습니다. 따로 준비할 것이 없습니다.
- 전달할 것은 보고서 조립기.html 한 개뿐입니다.
제출 전 작업본은 미공개 정보입니다
비밀유지 의무와 미공개중요정보에 관한 법령이 그대로 걸립니다. 만든 파일도 마찬가지이니 다루는 곳을 조심하십시오.
10. 자주 묻는 것
엑셀 양식을 맞춰야 하나요?
아닙니다. 시트 하나가 주석 하나라는 것만 지키면 됩니다.
시트 이름을 꼭 정해야 하나요?
아닙니다. 이름을 안 맞추면 모두 주석으로 갑니다. 재무제표·외부감사실시내용을 제자리에 보내고 싶을 때만 이름을 맞추십시오.
표가 문단으로 나왔습니다
엑셀에서 그 줄의 칸이 하나뿐입니다. 값이 비어 있어도 칸이 둘 이상이면 표가 됩니다.
표가 중간에 끊겼습니다
가운데에 칸이 하나뿐인 줄이 끼어 있거나, 줄 번호가 건너뛰었습니다.
검증이 ✕ 가 떠서 파일이 안 나옵니다
그것이 이 프로그램이 하는 일입니다. 확실하지 않으면 내지 않습니다. 화면에 어느 항목이 왜 어긋났는지 적혀 있습니다.
같은 엑셀을 다시 넣으면 같은 파일이 나오나요?
네. 파일 이름의 날짜만 다릅니다.
인터넷이 없어도 되나요?
됩니다. 애초에 인터넷을 쓰지 않습니다.
라이선스 및 고지
배포 파일 보고서 조립기.html 안에 무엇이 들어 있는지, 무엇을 보증하지 않는지.
안에 들어 있는 것
| 무엇 | 크기 | 출처 |
|---|---|---|
| 프로그램 코드 | 약 72KB | 이 프로그램을 위해 새로 쓴 것입니다. 남의 코드 라이브러리를 쓰지 않습니다.
압축·XML 읽기는 브라우저에 원래 있는 기능(DecompressionStream·
DOMParser)만 씁니다. |
| 빈 문서양식 8개 | 약 33KB | DART 공시서류 작성기가 주는 빈 서식입니다.
회사 이름·금액이 하나도 없고 XX 주식회사·XXXX년 XX월 XX일
같은 자리표만 들어 있습니다. |
| 글꼴·그림 | 0 | 없습니다. 화면 아이콘은 글자로 그린 SVG 이고, 글꼴은 쓰는 컴퓨터의 것을 씁니다. |
바깥으로 나가는 것
넣은 파일과 만든 파일은 바깥으로 나가지 않습니다. 전부 브라우저 안에서 끝냅니다.
다만 화면을 열 때 한 번, 새 판이 나왔는지 확인하려고
kongsist.com/version.json 을 읽습니다. 나가는 것은 그 요청뿐이고
파일 이름도 내용도 담기지 않습니다. 4초 안에 답이 없거나 인터넷이 없거나 사내 방화벽이
막으면 아무것도 안 보이고 조용히 넘어갑니다 — 옮기는 기능은 그대로 다 됩니다.
바깥 통신이 일절 없어야 하는 환경이면 인터넷을 끊고 쓰시면 됩니다.
새 판이 있으면 머리줄에 「새 판 있음」 이 뜨고, 누르면 내려받는 곳으로 갑니다.
갈 곳 주소는 받아온 JSON 을 믿지 않고 프로그램 안에 박아 두었습니다 — 도메인이 남의
손에 넘어가도 링크가 엉뚱한 데로 가지 않게 하기 위함입니다.
그 밖에 바깥 주소를 부르는 <script src>·<link href> 는 없습니다.
배포해도 되는가
코드는 문제없습니다. 남의 라이브러리를 쓰지 않으므로 지켜야 할 남의 라이선스가 없습니다. 회사 자료도 들어 있지 않습니다(배포 파일 전체를 훑어 확인).
판단이 필요한 것은 빈 문서양식 하나뿐입니다. 금융감독원이 정해 배포하는 서식을 프로그램 안에 넣어 함께 돌리는 것입니다.
| 어디에 | 어떻게 보는가 |
|---|---|
| 사내 배포 | 문제 삼기 어렵다고 봅니다. 서식은 작성기를 설치한 사람이면 누구나 받을 수 있고, 내용이 없는 빈 양식이며, 쓰는 목적도 그 서식으로 공시서류를 만드는 것 그대로입니다. |
| 외부 공개 배포 | 확인하고 하십시오. 공공기관 저작물의 이용 조건은 자료마다 다릅니다 (공공누리 유형 표시 등). 서식에 이용 조건이 붙어 있지 않으므로, 공개 배포 전에는 금융감독원에 확인하시는 편이 안전합니다. |
서식을 빼고 쓰는 사람이 작성기에서 뽑은 빈 서식을 직접 넣게 만들 수도 있습니다. 그렇게 하면 이 문제가 아예 없어집니다. 지금은 「따로 준비할 것이 없게」 하려고 안에 담아 두었습니다.
저는 변호사가 아니고 위의 것은 법률 자문이 아닙니다. 판단에 쓰실 재료로만 보십시오.
금융감독원과 무관합니다
이 프로그램은 금융감독원·한국거래소가 만들거나 인정한 것이 아닙니다. 「DART」·「공시서류 작성기」 는 그 프로그램과 파일 형식을 가리키기 위해 쓴 이름입니다.
보증하지 않습니다
- 이 프로그램이 만든 파일을 그대로 제출하면 안 됩니다. 원본 문서에 붙여넣고 그 원본을 제출하십시오.
- 제출 서류의 내용과 형식에 대한 최종 책임은 쓰는 사람에게 있습니다.
- 만든 파일은 반드시 작성기에서 열어 눈으로 확인하십시오.
- 이 프로그램을 쓴 결과로 생긴 어떤 손해에 대해서도 만든 이는 책임지지 않습니다.
파일을 다루는 원칙
- 넣으신 파일을 어떤 경우에도 덮어쓰지 않습니다.
- 파일은 브라우저 안에서만 다뤄지고 밖으로 나가지 않습니다. (판 확인 요청만 나갑니다 — 위 「바깥으로 나가는 것」 참고)
- 제출 전 작업본은 미공개 정보입니다. 비밀유지 의무와 관련 법령이 그대로 걸리니 다루는 곳을 조심하십시오.
.dsd 는 초안이며, 작성기에서 열어 원문과 대조해 확인하는 일은 이용자의 몫입니다.
그 결과를 업무에 쓸지, 어떤 자료를 이 도구로 다룰지에 대한 판단과 그에 따른 책임은
이용자에게 있습니다. 무엇을 외부 도구로 다룰 수 있는지는 소속 기관의 규정과 관련 법령에 따릅니다.
도구는 있는 그대로 제공되며, 결과의 정확성이나 특정 목적에의 적합성을 보증하지 않습니다.