본문으로 건너뛰기

코드 감사 회사의 부기: 정적 감사, 시간제 수정 작업, 재판매 SAST 구독 처리 방법

게시됨 마지막 업데이트 약 7분Mike ThriftMike Thrift
코드 감사 회사의 부기: 정적 감사, 시간제 수정 작업, 재판매 SAST 구독 처리 방법

부티크 코드 감사 회사의 창업자에게 수익 모델이 무엇인지 물어보면, 보통 당황하며 멈칫하다가 "음... 둘 다?"라는 대답을 듣게 됩니다. 정적 분석 감사 업체는 한 가지 길을 선택하는 경우가 드뭅니다. 한 고객은 레거시 Rails 앱에 대한 2주간의 정적 검토에 6,500달러를 지불합니다. 다른 고객은 회사가 재판매하고 구성하는 지속적인 SAST 구독에 대해 개발자당 월 40달러를 지불합니다. 세 번째 고객은 정적 분석, 동적 테스트, 시간제로 청구되는 수정 작업을 묶은 "전체 감사 패키지"에 대해 맞춤형 요금을 지불합니다. 세 가지 거래, 세 가지 다른 수익 인식 규칙, 그리고 이를 구분하도록 설계되지 않은 하나의 계정과목표.

이것은 현재 기술 서비스 비즈니스에서 꽤 흔한 형태입니다. 순수 계약 업체로 시작한 보안 및 코드 품질 컨설팅 회사들이 감사 작업과 함께 SAST(Static Application Security Testing) 도구를 점점 더 재판매하거나 자체 브랜드로 제공하고 있습니다. 고객이 일회성 의견 CI에서 지속적인 스캐너를 모두 원하기 때문입니다. 이것이 만들어내는 부기 문제는 대부분의 일반적인 "컨설팅 회사" 조언이 간과할 만큼 구체적입니다.

하나의 비즈니스에 숨겨진 세 가지 수익 흐름

올바르게 전기하려면 먼저 실제로 무엇을 판매하는지 구분해야 합니다. 각각이 장부에서 다르게 작용하기 때문입니다.

1. 정적 감사 (고정 범위, 시점 기반). 소스 코드 검토(표준 준수, 종속성 및 CI/CD 파이프라인 점검, 아키텍처 검토)는 일반적으로 정의된 범위에 대해 5,000~8,000달러 범위로 책정됩니다. 이는 별개의 인도물입니다: 특정 날짜에 인도되고 종료가 정의된 보고서입니다.

2. 동적 감사 및 전체 감사 패키지 (고정 범위 또는 시간제, 종종 마일스톤 기반). 부하 또는 적대적 조건에서 시스템 동작을 테스트하는 것은 8,000~16,000달러이며, 정적+동적+수정 작업을 결합한 "전체 감사 패키지"는 일반적으로 맞춤 견적되어 마일스톤이나 시간에 따라 청구됩니다. 감사자의 숙련도, 코드베이스 크기 및 문서 품질, 규제 범위(의료 및 금융 감사는 더 깊은 데이터 추적 및 권한 확인 필요), 마감 일정 압박 등이 모두 가격에 영향을 미칩니다. 즉, 동일한 이름의 두 감사가 그 아래에 매우 다른 비용 구조를 가질 수 있습니다.

3. SAST 구독 (반복, 재판매 또는 재판매 마진). 이 시장의 도구 측면은 사용자당 SaaS 가격 책정으로 통합되었습니다: SAST, SCA, 시크릿 스캐닝, IaC 점검을 묶은 광범위한 플랫폼은 사용자당 월 1520달러부터 시작하고, 단일 기능을 위한 특정 도구는 사용자당 1015달러 범위에 있으며, 대형 공급업체의 엔터프라이즈 계약은 수백 개의 애플리케이션에 대해 연간 10만 달러를 초과할 수 있습니다. 감사 회사가 이러한 플랫폼 중 하나를 재판매하거나 번들로 제공할 때(구성, 거짓 양성 규칙 조정, 구독에 대한 마진 확보) 그 수익은 반복적이며 프로젝트 기반이 아니며, 계약에서 주체로 행동하는지 대행사로 행동하는지에 따라 귀하의 수익일 수도 있고 아닐 수도 있습니다.

이 세 가지를 모두 "컨설팅 수익"으로 묶는 것은 정확히 손익계산서가 비즈니스에 대해 유용한 정보를 제공하지 못하게 만드는 방법입니다.

수익 인식이 실제로 다른 이유

ASC 606(또는 이에 상응하는 국제 기준)에 따르면, 회계 질문은 약속된 재화나 용역에 대한 통제가 언제 고객에게 이전되는가이며, 위의 각 흐름에 따라 답이 다릅니다.

  • 고정 범위의 정적 또는 동적 감사는 일반적으로 시점 인식되며, 보고서가 인도되고 승인될 때(또는 마일스톤에 따라 청구되는 경우 각 마일스톤이 완료될 때) 인식됩니다. 선급금 50%, 인도 시 50%를 청구하는 경우, 보증금은 보고서가 발송될 때까지 부채(선수 수익)이며, 수표가 현금화된 날의 수익이 아닙니다.
  • 시간제 수정 및 구현 작업시간이 수행됨에 따라 인식되므로, 청구되지 않은 시간에 대한 메커니즘이 필요합니다. 즉, 특정 기간에 수행되었지만 아직 청구되지 않은 작업이 청구일까지 사라지지 않고 자산(미청구 채권 / 진행 중인 작업)으로 표시되어야 합니다. 이는 프로젝트 기반 부기에서 가장 흔한 왜곡입니다: 회사가 청구 월에는 수익성이 없어 보이고 다음 달에는 엄청나게 수익성이 있어 보이는 것은, 기본 작업이 변경되었기 때문이 아니라 순전히 청구 지연 때문입니다.
  • 재판매된 SAST 구독구독 기간에 걸쳐 비례 배분되어 인식됩니다(월별 또는 연간, 고객이 실제로 도구에 액세스할 수 있는 기간과 일치). 재판매자로서 대행사(공급업체가 소프트웨어를 제공하도록 주선)로 행동하고 주체(소프트웨어를 직접 제공하겠다고 약속)가 아닌 경우, 마진만 인식해야 하며, 총 구독 가격은 인식하지 않아야 합니다. 경제적으로 단순한 청구 통로에 불과할 때 전체 통과 금액을 수익으로 전기하면 매출 상단을 과대 계상하고 실제 마진 비율을 잘못 표시하게 됩니다.

주체-대행사 판단을 올바르게 하는 것은 GAAP 정확성 이상으로 중요합니다: 8% 마진으로 180,000달러의 구독 수익을 보여주는 손익계산서와 100% 마진으로 14,400달러의 수수료 수익을 올바르게 보여주는 손익계산서의 차이입니다. 대출 기관, 보험사, 그리고 귀하의 수치에 기반하여 평가 배수를 구축하는 사람은 이 두 손익계산서를 매우 다르게 읽을 것이며, 그중 하나만 실제에 가깝습니다.

실용적인 계정과목표

세 가지 수익 흐름을 모두 운영하는 코드 감사 회사는 사후에 스프레드시트에서 태그를 지정하는 것이 아니라 계정 수준에서 수익(그리고 종종 매출 원가)을 분리하는 것이 좋습니다:

  • Income:Audits:Static
  • Income:Audits:Dynamic
  • Income:Consulting:Remediation (시간제)
  • Income:Subscriptions:SAST-Margin (대행사인 경우 귀하의 수수료/마진만)
  • Income:Subscriptions:SAST-Gross (주체이며 전체 계약을 재판매하는 경우)
  • Liabilities:UnearnedRevenue:Audits
  • Assets:UnbilledReceivables:Consulting

여기서 기술 서비스 회사에게 일반 텍스트, 버전 관리 회계가 그 가치를 발휘합니다. 고객을 위해 SAST 규칙 세트를 구성하는 동일한 엔지니어들이 일반적으로 .beancount 원장 diff를 검토하는 데 익숙하며, 장부에 Git 기록이 있으면 고객에게 판매하는 것과 동일한 감사 가능성을 제공합니다. 코드 감사 업체가 불투명하고 diff가 불가능한 형식으로 자체 재무 기록을 유지하는 것은 약간 아이러니합니다.

회사들이 실제로 잘못 처리하는 부분

이 비즈니스 모델에서 몇 가지 패턴이 반복적으로 나타납니다:

  1. 구독 보증금을 즉시 수익으로 전기. 고객이 재판매하는 연간 SAST 라이선스 비용을 선불로 지불한 경우, 그 현금은 적용 기간이 끝날 때까지 부채입니다. 첫 달에 모두 인식하면 해당 분기의 수익을 과대 계상하고 이후 모든 분기를 과소 계상합니다.
  2. 미청구 시간을 추적하지 않음. 월말에 수행되었지만 다음 달에 청구되는 시간제 수정 작업은 여전히 올바른 기간의 자산으로 표시되어야 합니다. 그렇지 않으면 마진이 운영상 이유 없이 크게 변동하는 것처럼 보일 수 있습니다.
  3. 재판매 통과 금액을 총 수익으로 처리. 위에서 언급한 대로, 이는 인수자의 실사 팀(아이러니하게도 귀사가 판매하는 것과 동일한 종류의 기술 실사를 수행)이 이를 풀어내고 비즈니스를 재평가할 때까지 좋아 보이는 방식으로 매출 상단을 부풀립니다.
  4. 규제 산업 계약에 대한 별도 추적 없음. 의료 및 금융 서비스 감사는 훨씬 더 많은 범위(데이터 추적, 액세스 제어 확인)와 일반적으로 더 많은 책임 노출을 수반합니다. 장부에서 해당 수익과 관련 비용을 분리하지 않으면 규정 준수 위주의 계약이 일반 정적 검토에 비해 실제로 수익성이 있는지 알 수 없습니다.

실제 예시: 하나의 송장, 세 가지 다른 전기

회사가 3월에 고객과 계약을 체결했다고 가정해 보겠습니다: 7,000달러 정적 감사(보증금 50%, 인도 시 50%), 4월에 청구될 시간당 175달러의 20시간 수정 작업, 40명 개발자 팀을 위한 좌석당 월 18달러의 재판매 SAST 구독(회사는 좌석당 4달러 마진을 유지하고 나머지는 공급업체에 전달).

  • 3월 보증금 (3,500달러): 현금 차변, Liabilities:UnearnedRevenue:Audits 대변. 아직 수익 없음 — 보고서를 인도하지 않았습니다.
  • 4월 보고서 인도: Liabilities:UnearnedRevenue:Audits 차변 및 나머지 3,500달러 미수금 차변, Income:Audits:Static 대변(전체 7,000달러). 수익은 작업이 실제로 승인된 월에 인식되며, 수표가 현금화된 월이 아닙니다.
  • 3월 수정 작업 시간 (수행되었지만 아직 청구되지 않음): 20시간 중 8시간이 3월에 수행되었지만 송장이 4월에 발행된 경우, 3월에 Assets:UnbilledReceivables:Consulting 차변 및 Income:Consulting:Remediation 대변(8시간, 1,400달러); 나머지 12시간(2,100달러)은 작업과 송장이 같은 달에 발생하는 4월에 정상적으로 전기됩니다.
  • 월간 SAST 구독: 대행사로 행동하는 경우, 월 160달러 마진(40석 × 4달러)만 Income:Subscriptions:SAST-Margin에 전기됩니다. 720달러 통과 금액(40 × 18달러)은 공급업체에 지불해야 할 금액에 대한 정리 계정을 통해 이동하며, 손익계산서에 절대 닿지 않습니다. 대신 계약이 귀하를 주체로 만드는 경우(공급업체가 내부적으로 제공하더라도 소프트웨어를 고객에게 제공하겠다고 약속하는 당사자), 전체 720달러가 수익으로 인식되고 560달러의 공급업체 비용이 매출 원가로 전기되어, 동일한 최종 결론에 도달하지만 매우 다른(그리고 주체가 아닌 경우 실질적으로 오해의 소지가 있는) 매출 상단 수치를 보여줍니다.

세 가지 거래, 세 가지 다른 시점 규칙, 그리고 결정적으로 두 번째 거래는 많은 소규모 감사 업체가 비즈니스에 실제로 변화가 없었음에도 4월이 어려웠던 것처럼 보이는 이유입니다. 미청구 시간 항목은 3월 수치를 정직하게 유지하는 것입니다.

이것이 예전보다 더 중요한 이유

기본 서비스에 대한 수요가 증가하고 있는 데는 주목할 만한 이유가 있습니다: 기술적 실사를 수행하는 구매자들은 점점 더 코드와 보안 태세를 형식적인 절차가 아닌 거래 조건에 중요한 요소로 간주합니다. 기술적 발견 사항은 일반적으로 가치 평가 논의를 15~30% 움직이며, 예상되는 거래 시너지의 상당 부분은 이제 코드 감사가 종료 전에 실제로 표면화하는 통합 품질에 달려 있습니다. 귀사의 회사가 언젠가 인수, 자본 재조정 또는 더 큰 실사 파이프라인에 포함된다면, 구매자의 재무 팀이 가장 먼저 하는 일은 귀사의 감사 팀이 고객 코드베이스에 대해 하는 것과 정확히 같습니다: 원장을 분해하고 수치가 조사에 견딜 수 있는지 확인하는 것입니다. 이미 고정 수수료, 시간제, 구독 마진 수익을 구분하는 계정과목표를 가진 사업체는 이 질문에 몇 주 대신 몇 분 만에 답할 수 있습니다.

감사하는 코드만큼 자신의 장부도 깨끗하게 유지하세요

하이브리드 감사 및 구독 비즈니스를 운영한다는 것은 수익 인식에 세 가지 다른 규칙이 한 조직 내에 존재한다는 것을 의미하며, 스프레드시트는 시간이 지남에 따라 그 구분을 일관되게 강제하는 경우가 거의 없습니다. Beancount.io는 투명하고 버전 관리되며 diff가 쉬운 일반 텍스트 회계를 제공합니다. 이는 이미 감사 가능한 기록 측면에서 생각하는 기술 팀에 자연스럽게 맞습니다. 지금 무료로 시작하세요 그리고 귀하가 판매하는 감사만큼 엄격하게 자신의 재무 기록을 유지하세요.

이 글 공유하기

약 9분

카오스 엔지니어링 컨설팅 기장: 게임데이 수익과 툴링 재판매 마진 분리하기

카오스 엔지니어링 컨설팅 회사가 복원력 감사, 게임데이 퍼실리테이션, 자동화 구축, 툴링 재판매 수익을 별도의 원장 계정으로 어떻게 나누어야…

bookkeeping
consulting
약 7분

분할 CFO 회계 법인의 장부 정리: 재정적 명확성을 판매하는 기업의 내부 장부 구조화 방법

분할 CFO 회사는 어떻게 자체 장부를 구조화해야 할까요? 리테이너(월 $3,000–$15,000)는 수익이 인식될 때까지 이연 수익…

bookkeeping
consulting
약 9분

패러글라이딩 및 행글라이딩 학교를 위한 부기: 등급, 장비, 날씨로 인한 지연 수익

패러글라이딩 또는 행글라이딩 학교를 위한 부기 설정 방법 — 탠덤 및 단독 수익을 USHPA 등급 수준별로 분리하고, 450만~900만 원…

bookkeeping
small-business
약 9분

반려견 훈련 사업 부기: 개인 레슨, 그룹 클래스, 위탁 훈련 수익 추적

반려견 훈련사가 개인 레슨, 그룹 클래스, 위탁 훈련 패키지를 별도로 기록하는 방법 — 선불 시리즈에 대한 이연 수익, 위탁 비용에 대한…

bookkeeping
small-business
약 9분

의료 청구 서비스를 위한 부기: 청구 거절이 귀하의 현금 흐름에 미치는 영향

2026년 초기 청구 거절률은 11.8%에 도달했으며, 수금액의 4-10%를 수수료로 받는 청구 서비스는 모든 거절을 자체 장부에서…

healthcare
bookkeeping