← 콩시스트 도구함 보고서 조립기 (베타)

보고서 조립기 기능설명

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
  • TRACOPY="Y" ADELETE="Y" HEIGHT="30"
  • TABLEACLASS·BORDER·WIDTH

5. 값을 적는 법

엑셀에 있는 것적히는 것까닭
15173131,517,313세 자리 콤마, 오른쪽 맞춤
-9475(9,475)음수는 괄호
0-회계 관행. 글자 '0'·'(0)' 도 같이 봅니다
날짜 칸 (2026-03-31)2026-03-31엑셀 서식을 읽습니다. 안 읽으면 46,112 가 됩니다
백분율 칸 (15.3%)15.3%안 읽으면 0.153 — 그럴듯해 보여 놓치기 쉽습니다
1234.56789011,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 는 초안이며, 작성기에서 열어 원문과 대조해 확인하는 일은 이용자의 몫입니다. 그 결과를 업무에 쓸지, 어떤 자료를 이 도구로 다룰지에 대한 판단과 그에 따른 책임은 이용자에게 있습니다. 무엇을 외부 도구로 다룰 수 있는지는 소속 기관의 규정과 관련 법령에 따릅니다. 도구는 있는 그대로 제공되며, 결과의 정확성이나 특정 목적에의 적합성을 보증하지 않습니다.

다운로드