밀프렙 창업자가 금요일 오후에 은행 잔고를 확인하며 안도한다 — 현금은 늘었고, 구독자들은 이번 달도 갱신했고, 냉동고는 월요일 배송을 기다리는 포장 용기로 가득하다. 그런데 처음으로 제대로 된 손익계산서(P&L)를 뽑아보고 나서 불안한 사실을 발견한다. 식재료, 포장, 배송 비용을 빼고 나면 거의 모든 박스에서 손해를 보고 있었던 것이다. 은행 잔고가 건강해 보였던 이유는 고객들이 아직 조리하지도 않은 4주 치 식사 비용을 선불로 냈기 때문이다. 그 현금은 이익이 아니었다. 달러가 아니라 식사로 갚아야 할, 자신의 구독자들에게서 빌린 돈이었던 셈이다.
이것이 밀프렙 및 구독형 식품 사업에서 가장 흔한 맹점이며, 거의 전적으로 요리나 마케팅이 아니라 부기의 문제다. 회계를 제대로 처리하면, 어떤 메뉴 항목, 번들, 구독 등급이 실제로 수익을 내고 있는지 나쁜 분기가 강제로 알려주기 전에 정확히 파악할 수 있다.
밀프렙 회계가 레스토랑과 다른 이유
레스토랑은 식사를 판매하는 동시에 현금을 받는다 — 매출과 제공이 한 거래 안에서 함께 일어난다. 밀프렙과 밀키트 사업은 그 연결 고리를 끊는다. 고객은 오늘 150달러를 내고 앞으로 2주에 걸쳐 배달될 열 끼 식사를 사거나, 매주 일요일 밤마다 자동으로 갱신되는 정기 구독에 가입한다. "현금이 들어온 시점"과 "식사가 실제로 배달된 시점" 사이의 이 타이밍 불일치가 구독형 식품 부기를 일반적인 외식업보다 근본적으로 어렵게 만드는 이유이며, 레스토랑이나 소매업용으로 만들어진 범용 부기 템플릿이 밀프렙 사업주에게 실제 수익성에 대해 자주 잘못된 인상을 주는 이유이기도 하다.
이 복잡성을 만드는 세 가지 구조적 특징이 있다.
- 선불 정기 매출 — 카드 결제가 이루어지는 순간이 아니라 시간에 걸쳐 인식해야 한다
- 식재료 원가 구조 — 포장, 배송, 폐기 손실이 "식재료"라는 항목에 뭉뚱그려져 별도로 추적되지 않기 때문에 과소평가되기 쉽다
- 주간 메뉴 순환 — 고정된 레스토랑 메뉴처럼 안정적으로 유지되는 것이 아니라, 매출원가가 매주 바뀐다
이 세 가지 각각이 장부에서 별도의 해법을 필요로 한다.
이연수익: 구독의 함정
독학한 밀프렙 운영자들이 가장 흔히 놓치는 핵심 회계 원칙이 있다. 식사가 배달되기 전에 받은 돈은 아직 매출이 아니라 부채다.
고객이 4주 치 식단에 대해 300달러를 선불로 낸다고 하자. 그 결제가 들어온 날, 그 중 어느 것도 아직 실현된 것이 아니다. 이는 재무상태표에 이연수익(때때로 "미실현수익"이라고도 불린다)으로 남아 있다가, 매주 식사가 실제로 배달될 때마다 비로소 실제 매출로 인식된다 — 이 경우라면 4주에 걸쳐 매주 75달러씩이다.
이것이 단순한 부기상의 형식주의를 넘어 왜 중요한가? 두 가지 구체적인 이유가 있다.
- 이익을 과대계상하는 것을 막아준다. 계좌에 들어온 순간 300달러 전액을 매출로 잡으면, 첫째 주 손익계산서는 훌륭해 보이다가 새 현금이 들어오지 않는 둘째~넷째 주에는 정확히 약속한 만큼의 일을 하고 있음에도 매출이 알 수 없게 "사라지는" 것처럼 보인다. 이런 왜곡은 월별 비교나 진짜 매출 둔화를 파악하는 것을 거의 불가능하게 만든다.
- 현금 함정으로부터 보호해준다. 빠르게 성장하는 구독형 사업은 단지 신규 가입이 배달 속도를 앞지르고 있다는 이유만으로도 현금이 넘쳐나는 것처럼 보일 수 있다. 그 현금을 마치 이익인 것처럼 지출하면 — 채용, 장비 구입, 오너 인출 — 이미 판매한 식사를 이행하지 못하는 상황에 처할 수 있다. 재무상태표의 이연수익은 아직 사람들에게 얼마나 많은 식사를 빚지고 있는지를 정직하게 상기시켜주는 항목이다.
실무적인 해법은 계정과목표에 이연수익 부채 계정을 만들고, 구독 결제가 들어오면 먼저 그곳에 기록한 뒤, 매주(또는 배달 주기마다) 실제로 식사가 나갈 때 일괄적으로 매출을 인식하는 것이다. Beancount 방식의 평문 회계를 사용한다면 이는 깔끔한 두 줄짜리 패턴이 된다 — 현금이 들어오면 이연수익을 대변에 기록하고, 매주 배치가 나갈 때마다 이연수익을 차변에, 실현된 매출을 대변에 기록하는 인식 분개를 추가한다. 모든 분개가 diff로 비교하고 감사할 수 있는 평문 한 줄이기 때문에, 인식된 매출이 항상 실제로 배달된 식사와 일치한다는 것을 스스로(혹은 회계사에게) 쉽게 증명할 수 있다.
매출원가(COGS) 문제: "식재료 원가"가 실제 숫자를 과소평가하는 이유
새내기 밀프렙 사업주에게 매출원가가 얼마냐고 물으면, 대부분 식재료 비율을 답한다 — "식재료 원가가 매출의 35%"라는 식인데, 일반적인 레스토랑의 28~35% 기준선과 비교하면 건강해 보인다. 문제는 식재료가 훨씬 긴 원가 구조 중 단 한 줄에 불과하다는 점이며, 식재료 원가만 추적하는 밀프렙 사업은 실제 마진이 얼마나 얇은지 — 혹은 마이너스인지 — 를 뒤늦게 깨닫고 당황하는 일이 흔하다.
방어 가능한 밀프렙 매출원가 계산에는 다음이 포함되어야 한다.
- 원재료 (단백질, 농산물, 건조식품, 소스) — 대개 가장 큰 단일 항목
- 포장 — 용기, 뚜껑, 라벨, 보냉백, 아이스팩
- 배송 — 배달 기사 인건비, 주행거리, 외부 배달 대행 수수료, 연료비
- 생산에 직접 투입되는 주방 인건비 — 관리 인력이 아니라 조리와 포장 담당자
- 폐기 및 손실 — 유통기한이 지나거나 과잉 준비되어 버려지는 식재료
- 분량 편차 — 레시피 카드상의 이론적 산출량과 실제로 용기에 담기는 양 사이의 차이
기간별로 적용하는 표준 매출원가 공식은 다음과 같다. 기초재고 + 매입 − 기말재고 = 매출원가. 이 공식을 식재료에만 적용하면 스스로를 실제보다 좋게 평가하게 된다. 포장과 배송까지 포함해서 계산하면 그림이 빠르게 달라진다 — 일부 초기 단계 밀프렙 운영자들은 전체 매출원가(식재료 + 포장 + 배송을 합친 값)가 55%를 훌쩍 넘고, 가장 심한 경우에는 특정 SKU에서 매출의 100%를 초과하는 것을 발견하는데, 이는 간접비를 고려하기도 전에 판매된 모든 단위가 손해라는 뜻이다.
사업주들이 가장 자주 빠뜨리는 세 가지 비용은 다음과 같다.
- 소스류와 "자잘한 것들" — 레시피 카드에는 결코 오르지 않지만 식재료 인보이스에는 분명히 찍히는 올리브유, 향신료, 소스 팩
- 과잉 분량 — 저울 문화가 없는 주방은 레시피가 지정한 것보다 단백질이나 곡물을 10~20% 더 담는 일이 흔한데, 이는 모든 용기에서 조용히 마진을 갉아먹는다
- 과잉 발주로 인한 폐기 — 공급업체 할인을 받기 위해 대량으로 구매하는 것은 실제로 상하기 전에 그 식재료를 다 쓸 때만 이득이 된다. 버려지는 미사용 재고는 반올림 오차가 아니라 실제 비용이다
매출원가는 월별이 아니라 주별로 추적하라
메뉴가 매주 순환하기 때문에 원가 기준도 매주 바뀐다 — 이번 주 연어 가격은 다음 주 가격과 다르다. 식재료 원가를 월별이 아니라 주별로 검토하는 운영자는 나쁜 공급업체 인보이스, 줄어드는 분량 마진, 상해가는 식재료 카테고리를 월말 마감을 기다리는 운영자보다 대략 세 배 빠르게 포착한다. 월별 손익계산서가 피해를 보여줄 즈음이면, 이미 4주 치 저가 책정된 식사를 출고한 뒤다.
실제로 이익을 내는 번들 가격 책정
번들과 다중 식사 구독 등급은 대다수 밀프렙 사업의 성장 엔진이다 — 평균 주문 금액을 높이고 재구매율을 개선한다. 하지만 규율 없는 가격 책정이 조용히 마진을 파괴하는 지점이 바로 번들 계산이다. "더 많이 사면 할인"이 성립하려면 할인된 가격에서도 원가 기반 산식이 여전히 성립해야 하기 때문이다.
경쟁사가 아니라 원가에서 출발하라. 경쟁사가 매기는 가격을 기준으로 삼는 것은 이 업계에서 가장 흔한 실수 중 하나다. 그것은 당신의 원가 구조가 그 가격을 감당할 수 있는지에 대해 아무것도 말해주지 않기 때문이다. 대신 다음과 같은 단순한 원가 기반 산식을 사용하라.
가격 = 완전원가 ÷ (1 − 목표마진)한 끼의 완전원가(식재료 + 포장 + 배분된 배송비 + 인건비)가 8.25달러이고 목표 매출총이익률이 45%라면, 가격은 대략 15.00달러가 되어야 한다. 이 단계를 건너뛰면, 번들 할인이 아무도 눈치채지 못하는 사이에 이미 마진이 얇은 메뉴를 손익분기점 아래로 떨어뜨릴 수 있고, 그 사실은 분기 실적이 나올 때까지 드러나지 않는다.
원가 기반 가격에서 번들을 구성한 뒤 적당히 할인하라. 흔히 쓰이는 지속 가능한 구조는 다음과 같다.
- 5끼 번들: 1끼당 표준 가격, 할인은 거의 없거나 아예 없음
- 10끼 번들: 1끼당 5~10% 할인
- 주간 구독(자동 갱신): 예측 가능하고 반복적인 매출을 대가로 10~15% 할인
할인은 그 달에 경쟁사가 광고하는 가격에 맞추기 위한 것이 아니라, 당신의 실제 절감분 — 단위당 낮아진 배송비, 재구매 고객을 다시 확보하기 위한 마케팅 비용 절감, 더 예측 가능한 생산 계획 — 을 보상하는 것이어야 한다.
결정하기 전에 테스트하라. 몇 주 동안 모니터링하며 작고 신중하게 가격과 번들 크기를 조정해보면 구독자 기반이 가격에 실제로 얼마나 민감한지 드러난다. 점진적인 조정은 갑작스러운 인상보다 더 많은 구독자를 붙잡아두며, 시장이 감당할 수 있는 수준에 대한 추측이 아니라 실제 데이터를 제공한다.
식재료 원가가 바뀔 때마다 가격을 다시 계산하라. 메뉴 순환에서 더 비싼 단백질로 교체하거나 계절적 인플레이션의 영향을 받은 농산물이 들어가면, 물량이 알아서 커버해줄 것이라는 막연한 기대가 아니라 그 주 번들에 대한 가격 재검토가 촉발되어야 한다.
간단한 주간 부기 루틴
이를 앞서가기 위해 엔터프라이즈급 소프트웨어가 필요한 것은 아니다 — 사업의 주간 리듬에 맞는 루틴이 필요할 뿐이다.
- 매주: 그 주에 실제로 배달된 식사에 대해 이연수익을 인식한다. 그 주 메뉴에 대한 매출원가(식재료 + 포장 + 배송)를 재계산한다. 마진이 얇아지거나 마이너스로 향하는 SKU를 표시한다
- 매주: 실제 사용된 분량을 레시피 카드의 이론적 사용량과 대조해 과잉 분량을 조기에 포착한다
- 매월: 전체 손익계산서와 현금흐름 검토를 실시하며, 이연수익 부채 잔액이 미이행 구독 약정과 비교해 타당한지 확인한다
- 매월: 은행 및 결제 대행사 계좌를 조정하고, 그 달의 실제 식재료 원가를 반영한 뒤에도 모든 구독 등급과 번들이 여전히 목표 마진을 통과하는지 확인한다
밀프렙 사업은 정기 결제와 배치 생산으로 돌아가기 때문에, 그 현실을 반영한 계정과목표 — 식사 매출(일회성 대 구독), 이연수익 부채, 그리고 식재료·포장·배송으로 세분화된 매출원가를 위한 별도 항목 — 을 갖추면 매달 허둥대던 일이 5분짜리 주간 점검으로 바뀐다.
첫날부터 재무를 정리해두자
구독 매출의 타이밍과 매주 바뀌는 매출원가는 스프레드시트나 식품 사업용으로 만들어지지 않은 범용 부기 앱에서 쉽게 놓치는 종류의 움직이는 부품들이다. Beancount.io는 모든 이연수익 분개와 매주의 매출원가를 완전히 투명하게 보여주는 평문 회계를 제공하며, 블랙박스 같은 대시보드를 그냥 믿는 대신 한 줄 한 줄 감사할 수 있는 버전 관리된 장부를 제공한다. 무료로 시작하기와 함께 재무에 밝은 창업자들이 왜 평문 회계로 전환하고 있는지 확인해보라.