본문으로 건너뛰기

SaaS 가동률 SLA는 단순한 법적 약속이 아닙니다: ASC 606에 따라 장애 크레딧이 매출을 줄이는 이유

게시됨 약 8분Mike ThriftMike Thrift
SaaS 가동률 SLA는 단순한 법적 약속이 아닙니다: ASC 606에 따라 장애 크레딧이 매출을 줄이는 이유
이 페이지에서

지난 화요일, 당신의 상태 페이지가 네 시간 동안 빨간색을 띠었습니다. 금요일까지 당신은 영향을 받은 모든 고객에게 서비스 크레딧을 발행했습니다 — 여기서는 한 달 요금의 10퍼센트, 저기서는 25퍼센트 — 그리고 당신의 부기 담당자는 대부분의 소규모 SaaS 회사가 하는 방식으로 이를 기록했습니다: 매출선 아래 어딘가에 지원 비용 또는 마케팅 양보로 말입니다. 이제 이번 달 매출은 과대계상되었고, 순 매출 유지율은 틀렸으며, 대출 기관이나 인수자가 언젠가 당신의 장부를 열어본다면 첫 번째 질문은 당신이 답할 수 없는 질문일 것입니다: 당신이 보고한 매출 중 실제로 보유할 자격이 있었던 것은 얼마입니까?

이것은 예외적인 사례가 아닙니다. 이제 평균 장애 해결 시간은 196분이며, 중소기업은 다운타임 1시간의 비용을 약 8,000달러로 추산합니다 — 크레딧이 하나도 발행되기 전에 말입니다. 장애 후 당신이 부여하는 모든 크레딧은 고객이 지불하기로 동의한 가격의 감소이며, ASC 606에 따르면 이는 변동 대가가 됩니다: 매출 아래에 놓이는 비용이 아니라 매출을 줄이는 금액입니다. 이 글은 당신의 SLA가 재무적으로 당신에게 무엇을 약속하는지, 기준이 이를 어떻게 기록하도록 요구하는지, 그리고 다음 월말 결산에서 무엇을 바로잡아야 하는지 설명합니다.

당신의 SLA가 실제로 약속하는 것 — 나인(nines)이 아닌 달러로​

대부분의 SaaS 계약은 가동률을 "나인"으로 표기합니다: 99.9퍼센트(한 달 약 43분의 다운타임), 99.95퍼센트, 99.99퍼센트(약 4분). 당신의 장부에 중요한 숫자는 나인이 아니라 그에 딸린 크레딧 일정입니다. 전형적인 엔터프라이즈 SLA는 대략 이렇게 읽힙니다: 가동률이 99.9퍼센트 미만이면 고객에게 10퍼센트 서비스 크레딧, 99.0퍼센트 미만이면 25퍼센트, 95.0퍼센트 미만이면 한 달 무료. 일부 계약은 더 나아가 가동률이 여러 달 연속 목표를 놓치면 해지 권리를 제공합니다.

그 일정의 세 가지 특징이 회계 처리를 형성합니다:

크레딧은 선의의 표시가 아니라 계약상 가격 조정입니다. 고객은 정가를 지불한 후 선물을 받는 것이 아닙니다. 계약은 나쁜 달에 대한 가격이 더 낮은 가격이라고 명시합니다. 가격 인하 대 비용이라는 이 구분이 회계 처리의 전부이며, 계약은 당신의 부기 담당자가 장부를 열기 전에 이미 답을 줍니다.

크레딧은 보통 한도가 있고 청구해야 하며, 자동이 아닙니다. 많은 SLA는 고객이 30일 이내에 크레딧을 요청하도록 요구하며, 총 크레딧을 한 달 요금의 30~100퍼센트로 제한합니다. 즉, 특정 장애에 대한 당신의 노출은 한정되고 추정 가능합니다: 일정을 알고, 영향을 받은 고객을 알며, 과거 청구율을 압니다.

현금 시점과 매출 시점이 갈라집니다. 1월 장애에 대해 2월에 발행된 크레딧은 보통 미래 인보이스에 대한 크레딧 메모로 나타납니다. 현금 효과는 인보이스가 지불될 때 발생하지만, 매출 효과는 1월 — 당신이 약속한 것을 이행하지 못한 기간 — 에 속합니다. 크레딧을 발행한 달에 그 달의 매출에 대입해 기록하면 두 기간을 동시에 잘못 표시합니다.

ASC 606이 장애 크레딧을 변동 대가라고 부르는 이유​

ASC 606의 핵심 개념은 간단합니다: 약속한 것을 이행하는 대가로 받을 자격이 있을 것으로 예상되는 대가 금액으로 매출을 인식하십시오. 5단계 모델 중 3단계 — 거래 가격 결정 — 이 당신의 SLA가 등장하는 지점입니다. 거래 가격은 주문서의 정가가 아닙니다. 정가에서 반환될 수 있는 모든 것을 뺀 금액입니다: 환불, 리베이트, 할인, 성과 보너스 — 그리고 가동률 미달에 대한 서비스 크레딧.

PwC의 수익 가이드는 SLA 크레딧을 정확히 이 범주에 둡니다. 변동 대가는 계약 개시 시점에 추정하고 매 보고 기간마다 갱신해야 하며, 두 가지 방법 중 하나를 사용합니다:

  • 기대값 — 가능한 결과에 대한 확률 가중 평균. 이는 고객 포트폴리오에 잘 맞습니다: 과거에 월 청구액의 약 3퍼센트가 통상 SLA 크레딧으로 반환된다면, 월 청구액 100,000달러에 대한 기대 크레딧은 3,000달러입니다.
  • 가장 가능성 높은 금액 — 가장 가능성 높은 단일 결과. 이는 이진 상황에 맞습니다: 이번 달 계약이 20,000달러 크레딧을 발동하거나 아무것도 발동하지 않는 한 대형 고객.

그다음 제약이 옵니다. 창업자들이 가장 자주 건너뛰는 부분입니다. 거래 가격에 변동 대가를 포함할 수 있는 것 — 즉 매출을 인식하는 것 — 은 불확실성이 해소될 때 유의미한 환입이 발생하지 않을 가능성이 높은 범위까지만 가능합니다. 쉽게 말해: 크레딧을 돌려줘야 할 실제 가능성이 있다면, 그 부분을 아직 매출로 계산하지 마십시오. 대신 환불 부채로 기록하고, 그 달의 가동률이 확인되면 조정하십시오.

제약이 의미 있는 장애 이력을 가진 SaaS 사업에 무엇을 의미하는지 주목하십시오. 지난 12개월 중 4개월 동안 서비스가 SLA를 놓쳤다면, "아무것도 지지 않을 것으로 예상합니다"는 방어 가능한 추정이 아닙니다. 당신의 상태 페이지 자체가 감사인의 증거 자료 A입니다.

분개: 장애가 있는 달​

한 고객이 월 10,000달러를 지불하고, 당신의 99.9퍼센트 SLA가 가동률이 목표 미만인 모든 달에 10퍼센트 크레딧을 부여한다고 가정합니다. 1월 가동률이 99.4퍼센트로 나왔습니다. 전체 주기입니다.

인보이스 발행 시, 청구 금액은 평소처럼 이연 매출입니다 — 아직 이행하지 않은 서비스에 대해 수취한 현금(또는 미수금 기록):

2026-01-01 open Assets:Cash:Operating USD
2026-01-01 open Assets:Receivable:Customer USD
2026-01-01 open Income:SaaS:Subscription USD
2026-01-01 open Liabilities:Deferred-Revenue:SaaS USD
2026-01-01 open Liabilities:Refund:SLA-Credits USD
 
2026-01-01 * "Customer" "January invoice — 10,000 monthly subscription"
  Assets:Receivable:Customer  10000.00 USD
  Liabilities:Deferred-Revenue:SaaS  -10000.00 USD
 
2026-01-31 * "Month-end" "Recognize January revenue net of 500 expected SLA credits"
  Liabilities:Deferred-Revenue:SaaS  10000.00 USD
  Liabilities:Refund:SLA-Credits  -500.00 USD
  Income:SaaS:Subscription  -9500.00 USD
 
2026-02-05 * "Customer" "Outage credit issued — January uptime 99.4 percent vs 99.9 SLA"
  Liabilities:Refund:SLA-Credits  500.00 USD
  Assets:Receivable:Customer  -500.00 USD

무슨 일이 있었는지 살펴보십시오. 월말에 당신은 9,500달러의 매출을 인식하고 500달러를 환불 부채에 넣었습니다 — 1월 장애가 발동할 크레딧에 대한 당신의 추정입니다. 실제 크레딧 메모가 2월에 발행될 때, 그것은 부채를 차변에 기록하며, 매출도 비용 계정도 아닙니다. 1월의 매출은 처음부터 정확했고, 2월의 매출은 1월의 장애에 영향받지 않습니다.

추정과 실제가 다르면, 그 차이는 불확실성이 해소되는 기간에 매출을 조정합니다. 500달러를 추정했지만 한 고객이 아닌 두 고객이 청구해서 1,000달러를 발행했습니까? 추가 500달러는 당신이 알게 될 때 매출을 줄입니다. 500달러를 추정했는데 아무도 청구하지 않았습니까? 500달러를 매출로 환입하십시오. 부채 계정은 충격 흡수 장치이며, 일상적인 조정을 위해 매출이 재작성되는 일은 없습니다.

바르게 처리할 가치가 있는 두 가지 세부 사항이 있습니다. 첫째, 환불 부채는 이연 매출과 별개입니다: 이연 매출은 아직 이행하지 않은 서비스에 대한 것이고, 환불 부채는 반환해야 할 수 있는 이행된 서비스에 대한 것입니다. 이 둘을 상계하면 두 이야기 모두 숨겨집니다. 둘째, 크레딧이 미래 기간에 관한 것이라면 — 과거 실패에 대한 계약상 크레딧이 아니라 사과의 의미로 부여된 무료 달 — 그것은 다른 분석이며, 계약 변경 또는 중요한 권리에 가까우며, 과거가 아닌 미래 매출을 조정합니다.

SaaS 창업자들이 SLA 크레딧에서 저지르는 세 가지 실수​

실수 1: 크레딧을 비용으로 기록하는 것. 이것이 가장 흔한 오류이자 가장 해롭습니다. 10,000달러의 장애 크레딧을 "고객 지원 비용" 또는 "마케팅 양보"에 차변으로 기록하면 매출이 10,000달러 과대계상되고 발생하지도 않은 10,000달러의 비용이 만들어집니다. 매출총이익률, 매출 성장률, 그리고 매출을 기반으로 한 모든 비율이 모두 너무 높게 읽힙니다. ASC 606에 따르면, 반대급부로 받은 별개의 재화나 용역에 대한 것이 아닌 고객에게 지급할 금액은 거래 가격을 줄입니다. 당신 자신의 장애에 대한 크레딧은 별개의 것을 사주지 않습니다 — 매출을 줄일 뿐입니다.

실수 2: 지금 전체 매출을 인식하고 나중에 수정하는 것. 일부 회사는 전체 10,000달러를 1월 매출로 기록한 다음, 크레딧 메모가 발행될 때 2월 매출에 대해 1,000달러 크레딧을 기록합니다. 이제 두 달 모두 틀렸습니다: 1월은 너무 높고, 2월은 너무 낮습니다. 더 나쁜 것은, 오류가 지표에서 확대된다는 것입니다 — 1월의 순 매출 유지율은 좋아 보이고, 2월은 부진해 보이며, 둘 다 현실을 반영하지 않습니다. 위의 환불 부채 패턴은 각 기간을 정직하게 유지하기 위해 정확히 존재합니다.

실수 3: 장애가 "다시 일어나지 않을 것"이라며 0을 추정하는 것. 제약은 낙관이 아닌 확률에 따라 작동합니다. 당신의 인프라가 작년에 SLA를 발동시킨 달이 세 번 있었다면, 기대 크레딧 0 추정은 보수적이지도 공격적이지도 않습니다 — 뒷받침되지 않습니다. 감사인은 이 추정을 당신의 사고 이력과 대조해 검증하며, 실사 중 인수자도 같은 일을 할 것입니다. 과거 청구율로 산정하고 매월 조정하는 작은 상시 준비금은 확신에 찬 0보다 더 정확하고 방어하기 훨씬 쉽습니다 — 당신의 상태 페이지가 반박하는 0보다 말입니다.

이것이 구매자와 대출 기관이 읽는 지표에 미치는 영향​

SLA 크레딧을 매출선 위에 두는지 아래에 두는지는 SaaS 회사가 가치 평가받는 모든 숫자를 바꿉니다:

  • MRR과 ARR은 기대 크레딧을 차감한 순액이어야 합니다. 청구액의 2퍼센트가 과거에 SLA 크레딧으로 반환된다면, 100만 달러 ARR 헤드라인은 실제로 기대 매출 98만 달러입니다. 총액을 보고하는 것은 창업자들이 실사에서 "이탈 문제"로 설명하게 되는 원인이며, 실제로는 처음부터 크레딧 문제였습니다.
  • 순 매출 유지율은 크레딧을 축소로 흡수합니다. 작년에 120,000달러를 지불하고 올해 장애 크레딧 후 114,000달러를 지불한 고객은 좌석을 다운그레이드한 적이 없더라도 100퍼센트가 아닌 95퍼센트로 유지되었습니다.
  • 매출총이익률은 오류를 수정하면 역설적으로 상승합니다. 크레딧을 지원 비용에서 차감 매출(contra-revenue)로 옮기면 매출과 매출원가 둘 다 줄어들고, 크레딧이 관련 비용을 초과하므로 매출은 감소하면서 이익률은 개선됩니다. 질문을 예상하고, 재작성된 이력을 준비하십시오.

플레인 텍스트 회계를 사용한다면, 해결책은 절차가 아니라 구조적입니다: 전용 Liabilities:Refund:SLA-Credits 계정, 기대 크레딧을 차감한 구독 매출을 인식하는 월말 분개, 그리고 크레딧 메모가 발행될 때의 조정 분개. 수익 인식 패턴에 관한 beancount 문서는 이것이 기반으로 하는 이연 매출 회계의 일반적인 형태를 다루며, 환불 계정의 대차대조표 이력은 추정에 대한 감사 추적 역할을 겸합니다.

20분이면 되는 월말 체크리스트​

  1. 고객 티어별 가동률을 가져오십시오. 모니터링은 이미 이를 계산합니다; 전체 평균이 아니라 각 SLA 임계값에 대한 월별 숫자를 요청하십시오.
  2. 발동된 크레딧을 나열하십시오. 임계값 미만인 각 고객에 대해, 실제로 누가 청구했는지 확인하기 전에 일정에서 계약상 크레딧을 계산하십시오.
  3. 청구율 이력을 적용하십시오. 발동된 크레딧의 약 60퍼센트가 과거에 청구되었다면, 기대값은 발동 총액의 60퍼센트입니다. 비율을 문서화하고 분기마다 재검토하십시오.
  4. 추정을 차감한 매출을 기록하십시오. 위 예시처럼 기대 크레딧을 환불 부채에 넣고 구독 매출을 인식하십시오.
  5. 지난달 추정을 조정하십시오. 지난달 준비금을 실제 발행된 크레딧 메모와 비교하고; 차액을 당기 매출을 통해 환입하거나 보충하십시오.
  6. 부채 잔액을 조정하십시오. 환불 계정은 미해결 추정만 보유해야 합니다. 청구 기간(보통 30~60일)보다 오래된 것은 이미 환입되었어야 합니다 — 오래된 잔액이 증가하는 것은 조정이 건너뛰어지고 있음을 의미합니다.

다음 분기가 아니라 이번 달에 시작하십시오. 지난달 가동률 보고서를 가져오고, SLA 일정이 당신이 지불해야 한다고 말하는 크레딧을 계산하고, 그 숫자를 장부에 매출 감소로 표시된 것과 비교하십시오. 장부가 0을 보여준다면 — 그리고 대부분의 초기 단계 SaaS 회사에게는 0을 보여줍니다 — 당신은 첫 번째 조정 분개를 발견했으며, 당신의 매출은 그와 같은 매달마다 정확히 그만큼 과대계상되어 왔습니다.

출처: https://beancount.io/ko/blog/2026/11/09/saas-uptime-sla-outage-credits-variable-consideration-asc-606-guide

게시됨: 2026년 11월 9일