Industry guide · ERP

Brewery Management Software: Why Your Kegs, Tanks, and TTB Filings Stop Agreeing at Scale

The short answer

If you are brewing under roughly 6,000 barrels a year from one location and selling most of it through your own taproom, stay on Ekos or Beer30 and spend the money on tanks instead. Once you cross about 10,000 barrels, run two or more facilities, or push more than half your volume through distributors and self-distribution routes, the off-the-shelf systems start costing you more in reconciliation labor and lost kegs than a build would. In Digital Heroes delivery terms, a focused first release runs $60k to $130k and ships in 12 to 16 weeks; a full brewery platform with keg tracking, TTB reporting, and distributor EDI lands at $150k to $400k phased across 6 to 12 months. The trigger is not brewhouse size. It is the number of people whose job is retyping numbers between systems.

Why brewery management software makes or breaks a multi-site production brewery

Walk into most 25,000 barrel breweries at 6am and you find the same setup. A production manager with a clipboard. A whiteboard at the tank farm with tank numbers in dry-erase marker. A laptop open to Ekos that nobody has touched since Thursday. The cellar crew works off the whiteboard because it is right there and it is always current. Ekos gets updated later, in a batch, by whoever loses that argument. By the time the numbers land in the system they are a reconstruction rather than a record.

The stack is predictable: Ekos or Beer30 for production and inventory, QuickBooks or Xero for accounting, Arryved or Toast for the taproom, a shared Google Sheet for keg accounts, VIP or Lilypad for distributor depletion data if you are big enough to pay for it, and Fintech for the ACH side. Neither Ekos nor Beer30 publishes a rate card, and the subscription is not what hurts. What hurts is that none of these systems agree with each other. The production manager exports a CSV from Ekos, the controller pastes it into a workbook handed down through three finance hires, and someone spends the last four days of every month making the TTB Brewer's Report of Operations match what the tanks actually did. At the 25,000 barrel breweries we have scoped, that reconciliation burns 25 to 40 hours a month across production, finance, and sales roles. A full week of somebody's salary, spent making numbers agree that should never have disagreed.

Here is the version that costs real money. A 30 barrel batch of your flagship goes into FV4. Somewhere between fermentation and packaging you lose 1.8 barrels to trub and transfer. The cellar log says 30 in. The packaging count says 28.2 out. Ekos wants a yield number, so someone types 28.2 and the variance lands in a field nobody reports on. Do that 200 times a year and 360 barrels of unexplained shrink have left the building with no data trail telling you whether it was a bad hose connection on FV4, one brewer's transfer technique, or a dry-hop recipe that is thirstier than the recipe card claims. Price that against your own wholesale rate. It is a number you would fire someone over if it landed on a single invoice. Spread across 200 batches, nobody sees it at all.

Problem: kegs are your biggest asset and your worst-tracked one

A 20,000 barrel brewery running half-barrel and sixtel fleets owns thousands of kegs. Price the fleet off your last keg purchase order and it is comfortably a seven-figure asset that lives on a spreadsheet. Kegs go out on a delivery manifest, arrive at a distributor DC, get split to accounts, come back eventually, or do not. Deposit reconciliation with a distributor happens quarterly, if that, and it is a negotiation rather than an audit because neither side has clean data. Every brewery we have worked with quotes an annual keg loss percentage from memory and cannot substantiate it, and every one of them treats it as weather.

Ekos and Beer30 both have keg modules. They track counts and scan barcodes. What they cannot do is model your actual keg economics: a keg sitting at a chain account 90 days past freshness, a distributor whose float has quietly grown by 400 kegs over two years, a self-distribution route where your own driver picks up empties that never get scanned back in because the scanner app times out in a walk-in cooler with no signal. The incumbent tools assume connectivity, assume one flow direction, and treat every keg as fungible. Your CFO does not.

A custom build makes the keg an entity with a full event ledger instead of a count. Every keg carries a lifetime record: fill date, batch ID, gyle number, seam date, destination, days on site, cleaning cycles, and a deposit ledger tied to a specific distributor contract with its own float agreement. Scanning runs offline-first on a rugged handheld or a phone, queues locally, and syncs when it hits WiFi at the dock, because the cooler has no bars and pretending otherwise is why the incumbent scanner apps get abandoned in month three. Then you build the report that moves money: aged keg float by distributor, per-account dwell time, and a quarterly deposit reconciliation packet you email to the distributor's AR team as a defensible document rather than a request. Breweries we have built this for typically recover the keg module build cost from float recovery and loss reduction inside 18 months.

Problem: TTB reporting is a manual reconstruction, and it is legally binding

The Brewer's Report of Operations (TTB F 5130.9) is due monthly or quarterly, and the excise tax return (5000.24) goes with it. Most breweries produce it by exporting from Ekos, adjusting in Excel for the things Ekos got wrong, and having the controller or head brewer sign it. Every line has to tie to production records a TTB auditor can walk. In practice the workbook is the real system of record and the ERP (Enterprise Resource Planning) is a data source. That is backwards, and it is a compliance exposure: your signed federal filing is derived from a spreadsheet one person understands.

The incumbent tools do generate a BROP. The problem is what happens to it. Beer removed for consumption or sale, beer removed without tax for export or research, loss in transfer, beer returned to brewery: those categories map to physical events in your cellar that the off-the-shelf schema flattens. Barrel-aged and blended beer breaks it entirely. A blend pulled from three foeders and two stainless tanks, some of it transferred in bond from your second facility, does not survive a system that models a batch as a linear parent-child tree. So it gets handled manually, in Excel, forever.

A custom build models the transfer rather than the batch. Every liquid movement is an immutable event with volume, source vessel, destination vessel, timestamp, operator, and a tax-determination flag. The BROP becomes a query over that ledger instead of a report someone assembles. Blends and foeder programs get a proportional lineage graph, so a single package run attributes back to five source vessels with correct volumes. Transfers in bond between your facilities generate matched paired records on both sides automatically. When an auditor asks where 14.2 barrels went in March, you run a query and hand over a trail. If you run a taproom-plus-distribution model with state excise stacked on federal, you encode each state's rules once and stop maintaining eleven spreadsheets.

AI does one unglamorous job here well: document extraction. Distributor depletion reports arrive as PDFs, as XLS files with merged header cells, and as portal exports that change format when the distributor upgrades their system. Rather than paying a sales ops coordinator to normalize them, an extraction pipeline reads each file, maps columns to your SKU and account model, flags anything ambiguous for a human, and posts the rest. At breweries covering six or seven states, we have seen that alone give back 12 to 20 hours a month.

Problem: your production schedule is a whiteboard and your tank farm is the constraint

Tank turns are the whole game. A 40,000 barrel brewery with 18 fermenters and 4 brites lives or dies on whether FV7 frees up on Tuesday or Thursday. The head brewer holds the schedule in his head and on the whiteboard. Sales sells a limited release for a date that assumes a tank that is not actually free. The packaging line gets a 4am change because a diacetyl rest ran long and nobody upstream knew until the crew showed up.

Ekos has a scheduling calendar. It is a calendar. It does not know your Kolsch needs 21 days and your hazy needs 14 with two dry hop additions, that the CIP crew is two people, that the canning line runs at one rate on 16oz and a different rate on 12oz, or that transferring FV7 to BBT2 blocks BBT2 for 6 days. It cannot tell you the cost of saying yes to the sales team's new SKU, because your vessel graph is unique to your building and no vendor models it.

A custom build encodes a constraint model of your actual plant: vessels with capacities and cleaning states, recipes with time-in-tank profiles and hop addition schedules by day, crew shifts, packaging line rates by format, and a scheduler that tells you what happens to every downstream commitment when you insert a batch. The useful output is not a pretty Gantt chart. It is the answer to "if we brew this collaboration in week 3, what slips." Forecasting is the honest AI use case here: feed it 24 months of depletion data by SKU, account, and season, and it produces a demand forecast per SKU that drives a suggested brew schedule. It will not be right. It will be closer than the head brewer's gut on the eleventh SKU, and it frees him to override it on the three that matter. Pair it with raw material lead times and it flags that you need to lock in Citra 14 weeks before the schedule says you brew.

Problem: two facilities means two truths

The moment you open a second brewery, or a production facility separate from your original taproom, everything doubles and nothing consolidates. Inventory is per-site in the incumbent tools, transfers between sites are manual, and your COGS by SKU becomes a question nobody can answer confidently. Which site brewed the batch sitting in the Denver distributor's warehouse? Ekos will tell you, if the person who did the transfer entered it. Which site's overhead should carry it? Your controller decides, in Excel, once a quarter.

The off-the-shelf tools were built for the single-site brewery, which is most of the market, and that is a reasonable product decision on their part. Multi-site support gets bolted on as separate accounts you switch between. Consolidated reporting means exporting from both and merging. Transfer in bond between your own facilities is a compliance event with paperwork on both ends, and treating it as two independent inventory adjustments is how you end up explaining yourself to the TTB.

A custom build uses one data model with site as a dimension rather than a tenant boundary. A batch carries its origin site, its cost roll includes that site's actual overhead allocation, and a transfer in bond is one atomic event that debits and credits both facilities with matched records. Consolidated production, yield, and COGS reporting works because there was never a merge step. Roles and permissions are per-site so the Denver cellar lead cannot accidentally close a batch in Portland, while the CFO sees one number.

Cost and timeline, from Digital Heroes delivery experience

Across 2,000-plus delivered projects, a focused first release runs $60k to $130k and ships in 12 to 16 weeks. For a brewery that usually means one thing done properly: the keg ledger with offline scanning and distributor deposit reconciliation, or the transfer ledger with a compliant BROP. Pick the one bleeding the most and ship it standalone, reading from Ekos via export or API while the rest of your stack stays put.

A full platform covering production ledger, keg tracking, scheduling, multi-site, TTB and state reporting, distributor integration, and finance sync runs $150k to $400k phased over 6 to 12 months. What pushes a brewery build toward the top of that band: distributor EDI, because every distributor's 852 and 867 implementation is its own dialect and each one is real integration work; barrel-aged and blending programs, because proportional lineage across foeders is hard and the reporting has to survive an audit; multi-state excise, where each state's rules and filing formats are separate work; offline-first mobile, which costs more than a plain web app because sync conflict resolution has to be designed rather than assumed; and QuickBooks or NetSuite integration where COGS has to roll correctly per batch rather than per invoice. Taproom POS (Point of Sale) integration with Arryved or Toast is usually cheaper than people expect, since both have workable APIs.

Build vs buy: take the off-the-shelf tool seriously

If you brew under 6,000 barrels from one site, sell most of it through your own taproom, and have fewer than 20 wholesale accounts, Ekos or Beer30 is the right call and a custom build is a vanity project. Those tools have absorbed a decade of brewery-specific edge cases you would be paying to rediscover. The subscription is not the problem in your P&L. Buy it, use it properly, and put the capital in stainless.

The signals that it is time to build: you have a full-time or half-time person whose actual job is moving data between systems. Your BROP is assembled in Excel and one person understands the workbook. Your keg float with distributors is a number you argue about rather than report. You run two or more production sites. You have a barrel or blending program your ERP cannot represent, so it lives in a parallel spreadsheet. Or you are about to sign a distributor that requires EDI and your current stack has no answer. Any two of those together and the math has usually already turned, you just have not priced the reconciliation labor. At the 25,000 barrel and up breweries we have scoped, the annual carrying cost of the workaround stack, in salary and shrink and float, routinely exceeds the amortized cost of a build inside two years.

How to choose a developer for brewery management software

Ask them to model a blend on a whiteboard. Three foeders, two stainless tanks, one package run, correct volume attribution back to each source, and a BROP line that ties. A developer who has not done this will draw a parent-child tree and be wrong in about ninety seconds. This one question separates people who have built for breweries from people who have built inventory apps.

Ask what happens when the scanner has no signal. If the answer involves the user retrying, they have not built for a cellar or a cooler. Offline-first with a local queue and a defined conflict-resolution rule is the only correct answer, and they should be able to tell you what happens when two people scan the same keg on two devices.

Ask about their TTB and state excise experience directly, and ask who signs off. Compliance reporting is a legally binding output with your name on it. The right partner will insist your controller validates the report logic against real historical filings before go-live, and will build the audit trail in from day one rather than adding it when someone asks.

Ask who owns the code and where it lives. You should get the repository, the infrastructure accounts, and the ability to hire a different firm next year without a negotiation. If ownership is conditional on a retainer, walk. And ask what happens to your Ekos history: any credible partner has a migration plan for your batch records, recipes, and SKU catalog before writing a line of new code, because a brewery platform with no history is a platform your team will not trust.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. In a survey of 579 supply chain professionals (July 31 to October 1, 2024), only 29% had built at least three of the five capabilities Gartner identifies as needed for future competitiveness (agility, resilience, regionalization, integrated ecosystems, and enterprise-wide strategy). Source: Gartner (2025) →
  2. Across more than 5,400 IT projects studied by McKinsey and the University of Oxford BT Centre, large IT projects ran on average 45% over budget and 7% over schedule while delivering 56% less value than predicted. Source: McKinsey & Company / University of Oxford (BT Centre for Major Programme Management) (2012) →
  3. Per Sensor Tower's State of Mobile 2026, worldwide consumers spent about $85 billion on apps in 2025 (up 21% YoY), and for the first time non-game apps surpassed games in consumer spending; generative-AI in-app purchase revenue more than tripled to top $5 billion. Source: Sensor Tower (via TechCrunch) (2026) →
  4. The share of tasks performed mainly by humans is projected to fall from 47% to 33% by 2030 as human-machine collaboration expands, with 170 million jobs created and 92 million displaced (a net gain of 78 million). Source: World Economic Forum (2025) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does custom brewery management software cost for a 25,000 barrel brewery?
A focused first release, typically keg tracking with distributor deposit reconciliation or a compliant production and TTB ledger, runs $60k to $130k and ships in 12 to 16 weeks. A full platform covering production, kegs, scheduling, multi-site, and distributor integration runs $150k to $400k phased over 6 to 12 months. Those are Digital Heroes delivery bands across 2,000-plus projects. At 25,000 barrels, the reconciliation labor and keg float you recover usually covers the first release inside two years.
Should we build custom software or stay on Ekos?
Stay on Ekos if you brew under about 6,000 barrels from one site with most volume going through your taproom. Build once you have someone whose job is moving data between systems, your BROP is assembled in Excel by one person who understands the workbook, you run two or more sites, or you have a barrel and blending program your ERP cannot represent. The trigger is the workaround headcount, not the brewhouse size.
Can custom software actually handle TTB Brewer's Report of Operations reporting?
Yes, and it handles it better than exporting to Excel, because the report becomes a query over an immutable transfer ledger rather than something a person assembles. Every liquid movement is recorded with volume, source and destination vessel, timestamp, operator, and tax-determination flag. Transfers in bond between your own facilities generate matched records on both sides automatically. Your controller should validate the report logic against real historical filings before go-live.
How do we migrate our batch history and recipes off Ekos?
Ekos data comes out via export and API, and a credible partner maps your batch records, recipes, SKU catalog, and vessel list before writing new application code. Historical batches usually import as read-only records so your yield trends survive the move. Plan four to six weeks of the project for migration and reconciliation, and expect to find data quality problems in the old system that you will need to decide how to handle.
Who owns the code if we pay for a custom brewery platform?
You should own the repository, the cloud infrastructure accounts, and the right to hire a different firm next year with no negotiation. Get this in writing before the first invoice. If ownership is conditional on an ongoing retainer, that is a vendor lock arrangement rather than a build, and you should walk.
How long does it take to ship brewery software we can actually use in the cellar?
Twelve to sixteen weeks for a focused first release that solves one real problem end to end, such as offline keg scanning with distributor float reporting. A full platform phases over 6 to 12 months, with each phase shipping something the crew uses rather than waiting for a big-bang launch. The cellar crew has to be in the room during design or they will keep using the whiteboard.
Can software fix our keg loss problem?
It can cut it, if it tracks kegs as entities with a lifetime event ledger rather than as counts. That gives you aged float by distributor, dwell time per account, and a quarterly deposit reconciliation packet you can defend rather than negotiate. Scanning has to work offline because coolers and dock areas have no signal, which is why most off-the-shelf keg scanner apps get abandoned. In our experience, breweries running multi-thousand keg fleets recover the keg module build cost from float recovery and loss reduction within 18 months.
Does distributor EDI integration make a brewery build much more expensive?
Yes, it is one of the biggest cost drivers in this category. Every distributor's 852 and 867 implementation is effectively its own dialect, so each connection is real integration work rather than a config change. If you are integrating with three or more distributors, budget toward the upper half of the $150k to $400k band. Document extraction on PDF and spreadsheet depletion reports is a cheaper interim step that has given our brewery clients back 12 to 20 hours a month.
Where does AI genuinely help a brewery, versus where is it marketing?
Two places it earns its cost: extracting distributor depletion data from PDFs and spreadsheets that change format without warning, and forecasting demand per SKU from 24 months of depletion history to drive the brew schedule and raw material lock-in. The forecast will not be right, but it beats gut instinct on your eleventh SKU and frees the head brewer to override it on the three that matter. AI does not fix your tank scheduling constraints or your keg float, those need a correct data model first.
How much does a custom ERP cost for a small business?
A small-business ERP covering two or three core modules typically runs $40,000 to $120,000, with inventory, ordering, and accounting sync being the usual starting set. Across 2,000+ Digital Heroes projects, integration count and user roles drive cost far more than screen count. A full mid-market ERP with six or more modules usually lands between $150,000 and $400,000.
How many developers does it take to build an ERP?
A typical Digital Heroes ERP pod is five to seven people: two or three backend engineers, one frontend engineer, a QA engineer, a project manager, and a part-time architect and designer. Bigger teams rarely go faster on ERP because the bottleneck is decisions about your business rules, not typing speed. What you need on your side is one empowered internal owner who can answer process questions within a day.
Why do companies replace NetSuite with custom software?
The three reasons we hear most at Digital Heroes are per-user license growth, SuiteScript customizations that became fragile, and workflows the platform cannot model without workarounds. A company adding 50 users to NetSuite takes on roughly $59,000 per year in extra licenses at the commonly quoted $99 per user rate, which is often the moment the custom math starts winning. Replacements usually keep the accounting structure intact and migrate module by module.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
Is a custom ERP cheaper than NetSuite over five years?
Often yes once you pass roughly 20 to 30 users. NetSuite is commonly quoted at $999 per month for the base platform plus about $99 per user per month, so a 30-user company spends over $200,000 on licenses across five years before paying for implementation. A custom build in the $120,000 to $250,000 range is a one-time cost, and in Digital Heroes projects annual upkeep runs 15 to 20 percent of build cost with no per-seat fees as you hire.
Is SAP overkill for a mid-sized company?
For most companies under about 500 employees, yes. SAP S/4HANA is built for multi-entity, multi-country enterprises with implementations measured in years and seven figures, while SAP Business One, the mid-market product, still forces your processes into its mold. If your competitive edge lives in how you operate, a custom ERP scoped to your actual workflows ships faster and costs a fraction of an SAP program.
How do we migrate years of data from our old system without losing anything?
Through a staged migration with a parallel run, never a single cutover weekend. The data gets extracted and cleaned early, loaded into the new ERP while the old system stays live, and both run side by side for two to four weeks so your team can verify counts, balances, and open orders match. In Digital Heroes ERP projects, data cleaning consistently takes longer than the technical transfer, so it starts in week one, not at the end.
How do I vet a software development agency before signing a contract?
Ask to speak with two past clients whose projects resemble yours in size and industry, and ask exactly who will write your code, since some agencies sell senior faces and deliver junior or subcontracted hands. Demand a written specification with acceptance criteria before any fixed price, and check that their portfolio links to products that are actually live. An instant quote given without questions about your workflows is the clearest warning sign there is.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?