josw123 / dart-fss

한국 금융감독원에서 운영하는 다트(Dart) 시스템 크롤링을 위한 라이브러리
https://github.com/josw123/dart-fss
MIT License
319 stars 111 forks source link

기업은행 xbrl 오류가 납니다. #157

Closed littlehongkong closed 4 months ago

littlehongkong commented 5 months ago

key에러가 뜨는데, 금융기업은 안되는건가요?

josw123 commented 5 months ago

안녕하세요.

OS, Python 버전, dart-fss 버전, 오류 발생 코드를 올려주시면 확인해보도록 하겠습니다.

ISeeTheFuture commented 5 months ago

안녕하세요.

2023년 12월 1일자로 검색하여 메리츠캐피탈의 분기보고서로부터(https://opendart.fss.or.kr/xbrl/viewer/main.do?rcpNo=20231201000471) xbrl을 가져온 뒤, get_financial_statement() 함수를 실행시키면 오류가 발생합니다.

OS : 윈도우10 Python 버전 : 3.10 dart-fss 버전 : 0.4.7 오류 코드 : KeyError('D1401')

dart_fss > xbrl > helper.py > consolidated_code_to_role_number() 함수에 consolidated_code dict에다가 다음 key와 value 추가하면 해당 키 오류는 사라집니다. 'D1401': ['DX220000'], 'D2401': ['DX320000'], 'D4401': ['DX520000'], 아무래도 금융기업은 다른 코드번호와 Role 번호를 사용하는듯 보입니다.

감사합니다.

josw123 commented 5 months ago

안녕하세요.

관련 내용은 확인하였으며, 다음 버전에 관련 버그를 수정하도록 하겠습니다. 버그 리포팅 감사합니다.

감사합니다.

ISeeTheFuture commented 5 months ago

안녕하세요!

질문드려도 될까요?ㅠ Role 번호는 텍사노미 표준문서나 각 공시의 xbrl 뷰어에서 찾을 수 있는 것 같습니다.

그런데 키인 코드번호(D1001~D4002 등)은 어디에 정의되어 있어서 가져오셨는지 모르겠습니다. 혹시 어디서 가져오신 것인지 알려주실 수 있으신가요?

감사합니다!

josw123 commented 5 months ago

안녕하세요.

저도 5년전에 작성한 코드의 버그 수정을 위해 자료를 찾아보았지만, 정확한 출처를 확인할 수 없었습니다. 당시 금융감독원 XBRL 자료실이나, XBRL 한국지부 홈페이지의 자료실에 공개된 파일 중 하나를 참고하여 코드를 작성하였었는데, 현재는 해당 파일을 찾을 수 없었습니다.

추가적으로, 메리츠캐피탈과 기업은행에서 사용된 코드 번호가 서로 다르게 기술되어 있음을 확인했습니다. 이로 인해 올려주신 코드번호를 직접사용하기 보다는 다른 방법으로 버그 수정 작업을 진행하였습니다.

관련 업데이트는 추가적인 테스트를 거친 후, 며칠 내로 배포될 예정입니다. 도움을 주신 점 정말 감사합니다.