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"
"24~25년 ICFR 취약점" → year=[2024,2025] (다년 — coverage.years[])
"비상장 의견거절" → market="unlisted"
[Response]
Output market Y=코스피/K=코스닥/N=코넥스/E=비상장; fs_div 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; dedupe corp_code to count companies.
breakdown = baseline over year/market/fs_div only (other filters ignored); ≠ count.
KAM omission suspect: kam=false+kam_required=true+kam_none_declared=false (의견거절 excluded).
ICFR undetected:
noteONLY on 연결(CFS) ("legitimately absent (<2조)" vs "expected-audit-but-missing"); 별도(OFS) has 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=별도. 별도 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. Aliases consolidated/separate·연결/별도 also accepted (case·spaces ignored). | |
| market | No | 시장구분. Default all = 상장사 (유가 kospi·코스닥 kosdaq·코넥스 konex — by FY말 market). unlisted = 비상장(사업보고서): rows whose FY말 market is E — 사업보고서를 내는 비상장사 plus 상장사의 상장 전·폐지 후 연도. all never includes unlisted, so for 비상장 (or 상장+비상장) query market=unlisted separately. unlisted is answered only where the server has the 비상장 dataset public (otherwise a validation:market error; on such a server all may still carry 상장 전·폐지 후 연도 rows as E). 감사보고서만 내는 외감 비상장사 (no 사업보고서) are in neither — use get_audit_profile per company. 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 THIS report had to carry a KAM section: 적용시기 rules (규모·연도·시장) AND opinion ≠ 의견거절 (감사기준서 705 문단 29 — a 의견거절 report carries no KAM section; 한정·부적정 still must). false = outside the phase-in OR 의견거절 (those rows carry kam_exempt_reason) | |
| 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 |