search_audit_findings
MyDART MCP의 search_audit_findings 도구는 회사를 지정하지 않고 감사보고서 조건으로 상장사 목록을 찾습니다.
[Purpose]
List/aggregate: "의견거절 회사"·"내부회계 취약점 목록"·"○○회계법인 감사 회사".
Detail: get_audit_profile/get_internal_control; 원문: get_audit_report.
[Usage]
"FY2024 코스피 의견거절 회사" → year=2024, market="kospi", opinion="disclaimer"
목록·집계만 필요 → fields="brief" (산문 제외·행 1/12)
"24~25년 ICFR 취약점" → year=[2024,2025] (다년 — coverage.years[] 로 연도별 적재 확인)
[Response]
Output market Y=코스피/K=코스닥/N=코넥스; fs_div is KOREAN "연결"/"별도".
[Rules]
READ coverage.note FIRST — empty result over a non-ingested scope = "not seen", never "does not exist".
fs_div=both(default) → ≤2 rows/company: row count ≠ company count (dedupe by corp_code).
breakdown = population baseline in scope(year/market/fs_div) — finding filters ignored, scope ones not; ≠ count.
ICFR undetected:
noteONLY on 연결(CFS) — "legitimately absent (<2조)" vs "expected-audit-but-missing"; 별도(OFS) has expected_type (or expected_type_note).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kam | No | Whether 핵심감사사항(KAM) are present | |
| year | Yes | 결산 사업연도 (회계연도, fiscal year) — the number you pass IS the 사업연도=회계연도=결산연도. Do NOT subtract it; pass it as-is. Only tools where year is optional auto-select the latest published year when omitted (if year is required in the tool you are calling, it cannot be omitted — confirm the year actually used via the response `year` field).e.g. 'FY2025'·'2025년 재무제표'·'2025 사업보고서'·'2025 회계연도' → all 2025 (결산일 2025-12-31). Convert ONLY when the user explicitly names the 공시(제출)연도, as in '○○년에 공시된 보고서': a 12월 결산법인 files by the end of March of the following year.(e.g. '2026년에 공시된 사업보고서' → 2025). Otherwise the input is ALWAYS on a 사업연도=회계연도=결산연도 basis. Relative expressions ('최근 N개년'·'작년' and the like) count back from the most recent PUBLISHED 사업연도 as of today: a 사업보고서 is filed within about 90 days after 결산 (12월 결산 법인 → March of the following year), so from April the latest is last year, and in Jan~Mar it is the year before last. e.g. if today is 2026-06 the latest is FY2025 → '최근 5개년'=2021~2025 (NOT 2020~2024). Supported floor is FY2015 (the range OpenDART's structured APIs cover) — 2014 and earlier are rejected. A 비12월 결산 (3·6·9월) 법인 may have its latest 사업연도 equal to the calendar year (e.g. a 3월 결산 company from July onward). Accepts a single year OR an array (e.g. [2024, 2025], max 10) for a multi-year query — rows then carry their own bsns_year and `coverage` returns a per-year breakdown (coverage.years[]). | |
| limit | No | Cap on **rows** returned (SQL LIMIT applies to rows, not companies — with the default fs_div=both a company can occupy 2 rows, so the number of distinct companies shown is smaller than this cap). When the list is cut here, truncated=true while count still reports the full row count. To count companies, dedupe companies[] by corp_code — and if truncated=true that count is a floor, not the answer: narrow the scope (market·fs_div·asset_bucket) until truncated=false. | |
| fields | No | Field width of each company row. full(default)=every field, incl. the 본문 산문 (의견근거·강조·기타·계속기업 text, KAM 제목 배열, ICFR 근거·취약점, applicability) — averages ~3,957 bytes/row. brief=list axis only, the same set as the 뷰어 스크리너 표: corp_name·corp_code·stock_code·bsns_year·market·fs_div·auditor·audit_opinion·going_concern·emphasis·other_matter·icfr{type,opinion}·kam_count·rcept_no (~318 bytes/row, 12x smaller — a whole 목록 fits in one response). Use brief for list/count asks and switch to full (or get_audit_report/get_internal_control) once a company is picked. coverage·breakdown·count·truncated are identical in both. | full |
| fs_div | No | 재무제표 구분. CFS=연결, OFS=별도 (aliases consolidated/separate·연결/별도 also accepted). 별도 and 연결 are SEPARATE rows (의견·강조·KAM·ICFR are all held per 별도/연결). both = both (up to 2 rows per company), so row count ≠ company count — dedupe by corp_code when counting companies. | |
| market | No | 시장구분. Default all = every 상장사 (유가 kospi·코스닥 kosdaq·코넥스 konex are all loaded). Uppercase (KOSDAQ) and 한글 (코스닥/유가증권/코넥스/전체) aliases accepted. | |
| auditor | No | Partial match on 감사인명 (e.g. 삼정/한영/안진/삼일) | |
| opinion | No | 감사의견 filter. unqualified=적정, qualified=한정, adverse=부적정, disclaimer=의견거절, modified=변형의견 (everything other than 적정: 한정/부적정/의견거절). 한글 values (적정·의견거절 etc.) also accepted. | |
| emphasis | No | Presence of 강조사항(EoM) | |
| industry | No | 업종 — financial=금융 (KSIC 64~66: 은행·보험·금융지주 etc.), non_financial=비금융. The 주석 XBRL and ICFR 운영의무 thresholds differ between them. 한글 values (금융·비금융) also accepted. | |
| asset_bucket | No | Size bucket by 전기말 자산총액(별도). gte_2tn=2조이상, gte_500bn=5천억이상, gte_100bn=1천억이상, lt_100bn=1천억미만. 한글 values also accepted. | |
| icfr_opinion | No | 내부회계관리제도 의견. adverse=부적정, disclaimer=의견거절 (covers both 감사 의견거절 and 검토 검토결론 불표명 — use icfr_type to tell 감사 from 검토), modified=변형 (everything other than 적정). 한글 values also accepted. | |
| kam_required | No | Whether KAM disclosure was mandatory by 규모·연도·시장 (적용시기 rules). kam=false & kam_required=true & kam_none_declared=false = suspected omission | |
| other_matter | No | Presence of 기타사항(OM) | |
| going_concern | No | 계속기업 불확실성 mentioned in the 감사보고서 | |
| xbrl_required | No | Whether 재무제표 주석 XBRL was mandatory for that year (적용시기 rules). Populated only after the backfill | |
| include_reference | No | Whether to include the 적용시기 참조표 (full phase-in schedule for KAM·ICFR·XBRL 주석·자금부정통제, about 4.8KB). Each company row already carries its own verdict in the applicability field, so set true ONLY when you need the 법령 근거 text behind that verdict. | |
| kam_none_declared | No | Whether the 감사보고서 explicitly declares '보고할 핵심감사사항 없음'. true=declared (kam_count=0 is then normal), false=undeclared or unknown. Combine with kam_count=0 to separate a genuine suspected omission from a declared absence | |
| icfr_material_weakness | No | A 내부회계관리제도 중요한 취약점 exists |