Skip to main content

Meal Kit and Perishable Subscription Box Bookkeeping: FEFO Costing, Spoilage, and Deferred Revenue

Published 14 min readMike ThriftMike Thrift
Meal Kit and Perishable Subscription Box Bookkeeping: FEFO Costing, Spoilage, and Deferred Revenue
On this page

Your subscribers paid you on the first of the month. Your chicken expires on the fourth. Somewhere between those two dates, your books have to tell the truth about money you hold but have not earned, food that quietly lost value sitting in a cooler, and whether the box you just shipped actually made money. Most meal-kit and perishable-box founders get at least one of those three wrong, and the business shows it months before the bank account does.

This guide covers the bookkeeping spine of a perishable subscription business: costing inventory by expiry date instead of arrival date, booking spoilage as its own visible line, recognizing prepaid subscription revenue only when boxes ship, tracking the cold chain as a real cost center, and the five numbers that tell you whether a box makes money.

Why a Perishable Box Business Breaks Normal Bookkeeping​

A standard small-business ledger assumes three comfortable things: cash arrives around the time work is done, inventory sits patiently until sold, and fulfillment costs are small and predictable. A meal-kit, meal-prep, farm-box, or seafood-share business violates all three at once. Cash arrives before the work, when subscribers prepay weekly, monthly, or quarterly plans. Inventory rots on a deadline measured in days. And every box carries a stack of cold-chain costs — insulated mailer, gel packs, expedited zone-based freight — that can rival the food itself.

The economics leave no room for sloppy books. Industry data puts meal-kit monthly churn at roughly 8 to 15 percent, meaning a large share of each cohort is gone within a year. Reported gross margins in the category compressed from around 28 percent in 2020 toward 18 to 22 percent by 2025, while customer acquisition costs rose 40 to 60 percent off their 2019 base. The category's cautionary tale is the pioneer that went from about a million subscribers in 2017 to roughly 270,000 by 2022 on its way to a fire-sale acquisition. Even the market leader spent 2025 deliberately shrinking revenue from low-quality, high-churn customers in favor of fewer, longer-tenure subscribers — and was rewarded with a meal-kit margin near 13.5 percent against 9.8 percent previously.

The lesson for your books is blunt. When churn is high and acquisition is expensive, the only profit lever fully inside your control is the per-box margin: food cost, spoilage, packaging, and fulfillment, measured honestly every week. Everything in this guide serves that measurement.

Cost Your Shelves by Expiry Date, Not Arrival Date​

Most small businesses learn FIFO — first in, first out — and stop there. Use the oldest-received stock first, and the cost of goods sold follows the oldest purchase price. FIFO is simple, auditors understand it, and for dry goods and packaging it is exactly right.

For perishables, FIFO answers the wrong question. FIFO asks what arrived first. What matters in a cooler is what expires first. A dairy delivery that arrived Thursday can carry an earlier use-by date than the one that arrived Friday from a different supplier lot. A strict oldest-arrival picking rule ships the Friday lot while the Thursday lot quietly ages past its date in the back of the walk-in. That is how businesses with perfect FIFO discipline still write off thousands of dollars of "mystery" shrink every quarter.

The fix is FEFO — first expired, first out. Pick and cost by the earliest use-by date, regardless of arrival order. FEFO is the standard flow for food, beverage, and pharmaceutical inventory precisely because oldest stock is not always the stock that expires first.

Putting FEFO in the books without an enterprise system​

You do not need warehouse software to run FEFO. You need lot discipline:

  • Log every inbound lot with its use-by date. Supplier, invoice, item, quantity, unit cost, and the earliest expiry in the lot. A spreadsheet lot log is enough at small volumes.
  • Pick from the earliest-expiry lot first. Sort pick sheets and prep lists by use-by date, not by purchase date. Label cooler shelves with the active lot so anyone packing boxes pulls correctly.
  • Cost boxes from the lots actually consumed. When week 12 boxes used chicken from lot C-118 at $3.10 per pound, that is the cost that belongs in week 12 cost of goods sold — not an average, and not the price of the cheaper lot still sitting in the cooler.
  • Reconcile the log to the cooler weekly. Count what is physically there, compare it to the log, and book the difference as shrinkage before it compounds into a quarter-end surprise.

One accounting subtlety: FEFO describes the physical flow of goods, while your financial statements may still use FIFO or average cost as the inventory valuation method. Those two choices can differ. The lot log is what keeps them honest with each other — it proves which costs actually flowed into shipped boxes and which flowed into the spoilage bin.

Book Spoilage as Its Own Line, Not a Mystery Inside Cost of Goods​

Every perishable business has spoilage. The question is whether your chart of accounts admits it. Most founders debit everything edible to one Purchases or Cost of Goods Sold account, so trim waste, expired product, dropped trays, and the cooler failure all dissolve into a single number that drifts upward with no explanation. You cannot fix a cost you cannot see.

Cost accounting draws a line you should steal: normal spoilage versus abnormal spoilage.

  • Normal spoilage is the expected, unavoidable waste of your process — produce trim, a predictable shrink percentage on fresh herbs, the portion cup that fails quality check. It belongs in cost of goods sold because it is part of the cost of producing good boxes. Its per-unit cost is absorbed across the boxes that shipped.
  • Abnormal spoilage is waste beyond what your process should produce — a walk-in compressor failure, a massively over-ordered holiday week, a delivery left on a hot dock. It does not belong in product cost. Book it to a separate loss account, such as Loss from Abnormal Spoilage, so it hits the period as its own visible expense instead of silently inflating every box's cost.

In practice that means at least two accounts where most box businesses have one: Cost of Goods Sold for the food inside shipped boxes plus normal process waste, and a dedicated Spoilage and Shrinkage expense for everything else. Reconcile both weekly by category — produce, protein, dairy, dry goods — and compute a spoilage rate (spoilage dollars divided by purchases) for each. A protein spoilage rate that jumps from 2 percent to 6 percent in a month is a purchasing, storage, or menu-planning problem waving a flag. Inside a blended cost of goods number, it is invisible.

The stakes are not abstract. Global food waste across the supply chain is forecast to cost businesses roughly $540 billion in 2026, with meat alone near $94 billion, and household studies have long pegged spoilage-driven waste at 30 to 40 percent of purchased food. Waste is the industry's gravity. A weekly spoilage review is the cheapest profit lever a box business owns.

Recognize Revenue When the Box Ships, Not When the Card Is Charged​

Here is the single most common bookkeeping error in subscription businesses: a customer prepays $360 for a quarterly plan in January, and January shows $360 of revenue. January then looks heroic, February and March look anemic, and the owner makes decisions — hiring, ordering, discounting — off a profit picture that never existed.

Under ASC 606, the revenue standard for contracts with customers, a prepaid subscription is not revenue when cash arrives. It is a contract liability — deferred revenue — because you owe the customer boxes you have not shipped yet. Revenue is recognized as you satisfy the performance obligation, which for a box business is each shipment. A six-month plan paid upfront is recognized one box at a time, as each box ships. The cash sits in your bank; the earning happens on the packing line.

The entries, in plain-text form​

If you keep your books in plain text, the pattern is three small transactions per subscriber cycle. The Beancount documentation covers the underlying mechanics; the shape for a $59.90-per-week plan looks like this:

2026-10-01 * "October meal plan prepayment, customer 1042"
  Assets:Checking                          239.60 USD
  Liabilities:Deferred-Revenue:Meal-Plans
 
2026-10-04 * "Week 1 box shipped, customer 1042"
  Liabilities:Deferred-Revenue:Meal-Plans   59.90 USD
  Income:Subscription-Boxes
 
2026-10-04 * "Week 1 spoilage, wilted herbs batch H-2201"
  Expenses:Spoilage:Produce                   4.75 USD
  Assets:Inventory:Produce

Cash arrives once and parks in a liability. Each shipment moves one week's share from the liability to income, matched against that week's food cost and spoilage. At any month-end, the deferred-revenue balance tells you exactly how many paid-for boxes you still owe — a number your cash balance will never reveal.

Skips, pauses, and credits stay in the liability​

Subscription realities complicate the pattern, but the principle holds. When a subscriber skips a week, the credit for that box remains deferred revenue — you still owe them a box or a refund. A pause extends the liability forward. Only an actual refund moves money out of the liability back through cash. Gifted boxes and unredeemed gift credits follow the same logic: unredeemed value is a liability until redeemed, refunded, or properly recognized as breakage — revenue from value you can show will never be redeemed — under a documented policy, not a windfall on the day of sale.

One tax footnote: many small box businesses file taxes on the cash basis, where prepaid income can be taxable on receipt regardless of the book treatment. That is a tax-compliance question for your CPA. Keep the management books on the accrual pattern above regardless — cash-basis books cannot compute a truthful per-box margin, and the per-box margin is the business.

Treat the Cold Chain as a Cost Center​

Founders who can quote their chicken cost to the penny routinely have no idea what the box around the chicken costs. That is backwards, because for a shipped perishable box the cold chain is often the second-largest cost after food — and the most underestimated.

Build a per-box cold-chain cost from parts, measured at your actual volumes:

  • Insulated packaging. Mailer or box liner, gel packs or dry ice, filler, tape, and the outer box. At small volumes, retail insulated shippers run several dollars per unit before coolant; at wholesale volumes the packaging itself can fall under a dollar per box, but only with thousand-unit minimum orders and storage space. Price your current reality, not the volume you hope to reach.
  • Pick-and-pack labor. The hands that portion, pack, seal, and label. Time it per box on a normal day, not your best day, and include the rework minutes for damaged or shorted boxes.
  • Outbound freight. Zone-based parcel rates punish distance brutally. A box that is profitable inside a two-zone radius can lose money at five zones. If you ship nationally at one price, you are averaging — know which zones subsidize which.
  • Reshipments and refunds. Late, melted, or missing boxes get replaced or refunded. Book every reship as a fulfillment cost (or spoilage, if the product was the failure), consistently, in the same account every time. Scattered reship costs are how a 3 percent failure rate hides inside a "profitable" product.

Add those four to the food cost and the week's spoilage allocation, and you have the true cost per shipped box. Compare it to the box price net of discounts, and be honest about the answer. National prepared-meal services cluster around roughly $333 to $580 a month at ten meals a week depending on the provider, and that range is the water your local price swims in. If your true cost clears your price, the fix is a price increase, a smaller delivery radius, or a simpler box — not another month of hoping volume fixes unit economics. Volume never fixes negative unit economics.

Five Numbers That Tell You If a Box Makes Money​

Run these five every week, on one page, before you look at anything else:

  1. Theoretical versus actual food cost. Theoretical cost is what the recipes say the week's boxes should have cost at current ingredient prices. Actual cost is what you really spent. The variance is waste, over-portioning, unrecorded comps, and theft, all rolled into one number that demands an explanation. Restaurants live by this variance; box businesses should too.
  2. Spoilage rate by category. Spoilage dollars divided by purchase dollars, tracked separately for produce, protein, dairy, and dry goods. Set a target per category, investigate every breach, and treat a rising trend as an operations emergency, not an accounting curiosity.
  3. Contribution margin per box. Box price net of discounts, minus food, packaging, pick-and-pack labor, outbound freight, and the spoilage allocation. This number must be comfortably positive before marketing spend enters the picture. If it is not, no subscriber count saves you.
  4. Customer acquisition payback in boxes. Acquisition cost per new subscriber divided by contribution margin per box tells you how many boxes a customer must receive before you break even on acquiring them. With category monthly churn running 8 to 15 percent, a payback longer than about three months means most cohorts leave before they pay for themselves.
  5. Skip rate, churn, and reactivation. Skips defer revenue and scramble purchasing forecasts. Churn ends lifetime value. Reactivations are your cheapest acquisition channel. Forecast next month's shipments — and next month's recognized revenue — from these three, not from subscriber count alone.

None of these five appears on a cash-basis profit and loss statement. All five come free once the lot log, the spoilage accounts, and the deferred-revenue pattern above are in place. That is the real payoff of the plumbing: not compliance, but sight.

Common Mistakes That Quietly Kill Box Margins​

Pulling the threads together, these are the errors that show up again and again in perishable-box books:

  1. Booking prepaid plans as revenue on receipt. The quarter looks great in month one and terrible in months two and three. Use deferred revenue and recognize income as boxes ship.
  2. Running FIFO picking on expiring product. Oldest arrival is not earliest expiry. Without FEFO discipline, the cooler fills with technically-old-but-fresh stock in front and expired lots hiding behind it — and the write-off lands as unexplained shrink.
  3. Burying spoilage inside cost of goods sold. One blended food-cost number cannot distinguish a recipe problem from a cooler problem from an ordering problem. Separate normal process waste from abnormal spoilage events, by category, weekly.
  4. Pricing off ingredient cost alone. A box priced at three times food cost can still lose money once packaging, freight, pick-and-pack, reships, and spoilage are allocated. Price off true cost per shipped box, by zone if you ship widely.
  5. Treating skipped weeks as lost revenue. A skip is not a cancellation — the credit is still a liability you owe, and the box will still cost you to fulfill later. Track outstanding skip credits, or deferred revenue quietly overstates what you have earned.

Keep Your Box Business in the Black​

Between lot-tracked inventory, weekly spoilage reviews, deferred-revenue schedules, per-zone fulfillment costs, and cohort churn math, a perishable subscription business asks more of its books than almost any other small business its size. Keeping clean, reviewable records is what turns that complexity into sight — sight into which boxes make money, which ingredients betray you, and which subscribers are worth acquiring. Beancount.io offers plain-text accounting that is transparent, version-controlled, and AI-ready, so your entire box operation lives in a ledger you own and can audit line by line. Get started for free and run your subscription business on books as fresh as your boxes.

Source: https://beancount.io/blog/2026/10/04/meal-kit-perishable-subscription-box-bookkeeping-fefo-spoilage-deferred-revenue-guide

Published: October 4, 2026