Reference

What each part holds

And, under most sections, what the app refuses to do there. The refusals are deliberate and they are where the questions come from, so they are written down beside the feature rather than buried in a support thread.

Dashboard

Open it →

What the cellar owes you today, and nothing that is not backed by a record.

Every alert traces to a row somebody wrote. There is no invented nudge here — an alert that is not backed by data makes the whole list unworthy of acting on, so the app would rather show you a short list than a plausible one.

The fourteen-day strip scales against a floor rather than against its own maximum, so a quiet fortnight looks quiet instead of looking like a crisis.

Why does it not remind me about something I know is due?

Because no record says so yet. Reminders are derived from readings, plans and movements — if the app cannot point at the row, it says nothing.

Wine Programs

Open it →

What a wine is meant to be: its fruit, its ferment, its finishing and its packaging.

A plan is a record of intent, and the lots are threads through it. One plan can hold several ferments — a free run and a press fraction are two ferments of one wine, not two wines.

The target profile is scored on eight sensory axes, and a blend is judged on its WORST axis rather than an average. Four good numbers hiding one disqualifying miss is the failure that scoring exists to prevent.

Nothing written in a note schedules anything. If a step should be acted on, it needs to be a step — prose produces no task.

Why will it not predict what my blend will taste like?

Blending is not additive — that is why bench trials exist. The app shows the components' own scores and the range between them, deliberately with no mean.

Every lot, where it is, what is in it, and everything done to it.

A lot's volume is a maintained projection of the ledger: every writer that posts a movement adjusts the lot in the same transaction. It is deliberately not recalculated on read — see the reconciliation note under Reports for why.

A move goes from one vessel to one vessel and repeats. A lot in four barrels is racked a barrel at a time, and each step is its own entry with its own loss.

Loss is computed on what was DRAWN, never on the whole lot. Racking 200 gallons of 320 at three per cent is six gallons of loss, not a hundred and twenty-six.

On a commercial account each lot also carries what it COST, and the cost follows the wine: a blend takes its share in proportion, and a racking loss leaves its cost behind with the wine that made it through, so cost per gallon rises. The figure says how complete it is — a lot with no fruit cost recorded reads as uncosted rather than as cheap.

Why can I not edit or delete a movement?

The ledger is append-only, enforced by the database rather than by the screen. That is how paper cellar books work and why they survive audits. Correct it with a reversing entry, which leaves both the mistake and the correction on the record.

Why did it refuse to remove more wine than the lot holds?

Because a negative volume is not a fact about any cellar. The app refuses rather than storing a number that would quietly poison every later total.

The bench: sulfur, acid, alcohol, and the blend arithmetic. It stores nothing of its own.

Free SO₂ is judged as MOLECULAR SO₂, at the wine's own pH, never against a flat target. A flat line under-protects exactly the high-pH reds that need it most.

The blend bench grades what it tells you: alcohol and TA are computed, pH is ESTIMATED. A volume-weighted pH is wrong by more than the margin that decides an SO₂ addition, which is the one decision pH is used for.

"The latest reading" is not "the latest pH". Gravity, pH and TA are each measured separately, so the bench takes the freshest value per measure rather than reading them all off the newest row.

Why will it not give me an ABV for this lot?

Because the gravity went UP at some point — a tirage, a chaptalisation, a wine sweetened and re-fermented. Start-to-finish arithmetic would under-report the alcohol by the whole secondary ferment, and there is no way to recover the real figure from what is recorded. "We don't know" is the only honest answer.

Vineyard

Open it →

Blocks, plantings, ripeness samples, sprays and their intervals.

Ripeness is judged against a variety's own target window. There is no global idea of ripe — a Traminette at 20 °Bx is ready and a Syrah is not — and a block farmed for two wines is two picks, each with its own window and its own verdict.

Fruit can be PAST a window, not only short of it. Sugar climbs, pH drifts up and acid falls, so the app checks direction before it counts down to anything.

Sprays are append-only for the same reason movements are: an application starts a pre-harvest interval, and an interval that can be edited afterwards is not an interval. A tank mix takes the LONGEST interval in it, never an average.

Why is my block not clear to pick when the interval has passed?

Because the interval is measured to the FIRST fruit off the block, which may be earlier than the vines' own date if a wine program picks sooner. A margin counted to one date under a label showing another is worse than either alone.

The cellar book: what happened, in whose words, on which day.

Append-only in the database, not merely in the screen — there is no edit and no delete. A correction is a new entry, the way a paper cellar book works.

When the app records work elsewhere — a reading, a sample, a spray — it writes an entry too, marked with where it came from, so the journal is a complete account of the vintage rather than a diary of the bits somebody remembered to write down.

The schedule

Open it →

What the cellar owes, derived from records rather than from a list somebody keeps.

Nothing here is a stored reminder. Every item is two records disagreeing — a racking interval against the last move, a free SO₂ reading against the wine's own pH — so recording the work settles it on every screen at once. There is no tick box, because a list you can tick without doing anything is a list that stops describing the cellar.

Every task names the record that answers it and links to where that record is made. A task with only a "mark done" button is a nag; a task that takes you to the form is the work.

Work with a CADENCE rather than a date — punching down twice a day for three weeks — sits in its own section above the dated items and says it has no date. Forty stored rows for one regime is a list nobody would read.

THE FERMENT ITSELF is watched the same way, off the gravity readings. Two different things can be wrong and they are never reported as one: a ferment nobody has read for days is a gap in the record, answered by a hydrometer, and a ferment whose last two readings agree while sugar remains has stopped moving, answered by a feed and a few degrees. The app says what it sees — which readings, on which days — and does not call a wine stuck. A tank can sit for two days in a cold cellar and finish perfectly well, and that call belongs to whoever is standing in front of it.

The field view

Open it →

The same cellar, built for a phone, one cold hand and one thumb.

Entry over review. It asks for the number somebody is holding — a gravity walking past an open-top, a Brix off the rows — rather than laying out everything the desk version shows. Steppers instead of keyboards, and nothing smaller than a 44-pixel target.

It is not the desktop app reflowed. Sampling happens standing in the rows, so the sample form is here and it asks which pick the reading is for — a phone that could not tag the pick would overwrite the morning's first reading on a block farmed for two wines.

Two or more arms off one juice, with one variable changed and written down.

The whole value is that everything except the variable was the same, so a trial records the shared starting material and names the one thing that differed. Without both, next year's version of you cannot tell what the result meant.

Arms are scored on the same eight axes a wine program targets, and compared PER AXIS. There is no overall score and there will not be one — four good numbers hiding one disqualifying miss is exactly what an average is for hiding.

The ferment curves come from the arms' own lot readings rather than a copy, so a trial cannot quietly disagree with the cellar it came from.

What was bottled: the lots behind each wine, competitions entered, tasting-room pours.

A wine is the finished thing and names the lots that went into it, which is what lets you walk back from a bottle to the fruit. A vintage is optional — a house blend that spans several reads as NV rather than as a missing year.

Remaining stock is DERIVED from the cased ledger, never stored. A stored figure would be a second source of truth for the same fact, free to disagree with the book that backs your return.

A wine bottled before the ledger existed uses its line count as a carry-in and says so, rather than deriving zero and reporting itself sold out.

The ledger, the reconciliation, and — on a commercial account — TTB F 5120.17.

The reconciliation subtracts what the lots add up to from the ledger's closing balance. It can only say something because lot volumes are maintained rather than derived: a derived volume would be comparing the ledger to itself, always agree, and never be able to tell you anything.

So a gap is expected and is information. Wine evaporates, gets spilled and gets mis-measured; the number is there to be explained, not to be zero.

A filed return is frozen. Closed periods render from the snapshot, never from a recompute, and an amendment supersedes rather than overwriting.

Bottles can go back into a tank — a cork batch that failed, or a wine you would rather re-blend than sell. That is “Dumped to bulk”, and like bottling it is two entries on one day: the wine leaves cased goods and arrives in tank, and the return counts it in both places. It is not “Destroyed”, which is the opposite — one recovers the wine, the other ends it.

Wine that was removed taxpaid can come back — a wholesaler returns a pallet, or you buy back your own wine. That is “Taxpaid wine returned to bond”, and it lands on the cased goods book, because wine becomes taxpaid when it leaves and it leaves in bottles. You are asked whose tax was paid: your own wine coming back is the case where a credit may be available, and wine bought taxpaid from somebody else never carried your tax at all. Both go on the same line of the return. This app records which it was and works out no credit from it — what you can reclaim depends on rules it does not model, and a figure guessed here is one you would file.

Cost of goods reconciles here too, and it shows three figures rather than two: what the lots carry, the entries that are ON a lot, and separately what has been spent on no wine yet. That third one is not a discrepancy — dry goods bought ahead of a bottling are real money on no lot — and folding it into the comparison would report a gap for ever on a cellar where nothing is wrong.

Why does last year's return show different numbers from the ledger now?

Because it is the return you filed, kept exactly as filed. If the underlying records have changed since, that is what an amendment is for.

AI credits

Open it →

What is left to ask a model with, and where to buy more.

Everything the app works out for itself is included. Three buttons put a question to an AI model on your behalf — yeast suggestions, a plan assessment, and the reasoning beside a ferment protocol — and those cost a credit each, because each one is a real request to somebody else's service.

Credits come from two places and behave differently. What the tier includes refreshes at the start of the month and does not roll over; what you buy never expires, and survives a change of tier in either direction. The included ones are always spent first, so you can never burn a credit you paid for while a free one sits unused.

Nothing is charged for an answer the app could not keep. Every claim in a reply is checked against the catalog and the records, and where that leaves nothing usable you got no answer, so no credit is taken.

Why will it not just buy more when I run out?

Because a service that tops itself up is how somebody finds a number on a card they never agreed to. A pack is bought on purpose, once, and the size of the bill is fixed in advance — which is the whole reason it is a pack rather than usage billing.

Why does it refuse instead of giving me a shorter answer?

Because you cannot tell degraded advice from advice. A cheaper model or a cached reply would look like the software quietly getting worse, and a winemaker acting on it would have no way to know. It says it cannot ask, and says when your included asks return.

Settings and your data

Open it →

The winery's details, your team, display units, privacy, and the export.

Display units are display only. Volume is stored in gallons, temperature in Fahrenheit, sugar as specific gravity and weight in US tons, whatever a screen shows — so two people can read the same cellar in different units without either of them changing a record.

Export is never gated on what you pay. Everything you log belongs to you, and "Everything, in one file" gives you the whole account as plain CSV in an uncompressed zip that opens with nothing of ours installed.

Why can I not set an account-wide volume unit?

Because a unit is a property of a vessel or a view, not of a winery. A barrel is read in gallons and a lab measure in liters by the same person on the same afternoon.

Who can do what

Read off the app's own permission list, so it cannot describe a rule the app does not enforce. Anyone can record what they did; changing the numbers a record is judged against, and signing a return, are narrower.

CanOwnerWinemakerCellar handAccountant
Log lot readingsGravity, temp, pH, TA on a ferment or an aging lot.YesYesYes
Log vineyard samplesBrix, pH, TA off a block before harvest.YesYesYes
Log spray applicationsStarts a PHI clock. Cannot be edited once saved.YesYesYes
Write journal entriesNotes against a lot or a block, append-only.YesYesYes
Write fermentation plansTarget profiles, yeast blends, and what the winery stocks.YesYes
Create and move lotsNew lots, racking, pressing, transfers, blending.YesYes
Add and edit vesselsCapacity, cleaning state, removing a vessel.YesYes
Edit blocks and plantingsAcreage, varieties, vine counts, ripeness windows.YesYes
Edit chemical intervalsPHI, REI, and resistance groups the app holds you to.Yes
Bottle and remove wineBottling, taxpaid removals, destroying wine.YesYes
File the operations reportGenerate and sign the TTB 5120.17.Yes
View reports and ledgerRead the reconciliation without filing it.YesYesYes
Manage team and billingInvite people, change roles, change the plan.Yes
Change winery settingsPremises, units, racking intervals, privacy, add-ons.Yes
Export the recordsEvery table as CSV. Records outlive software.YesYesYesYes

The tiers

One difference decides the shape of the app, and it is the TTB dimension. The ledger is not the paid part: a hobbyist records movements, losses and bottlings exactly as a bonded winery does — what a bonded account adds is the return built from them and the fields that exist only to fill it in. The free tier is the same software with a cap on how many lots are open at once.

Free

Enough to see whether this is for you.

  • Up to 2 lots at a time
  • Every calculator and conversion
  • Your records, exportable in full, at any time
  • 3 AI asks once

Hobbyist

For wine made to drink rather than to sell.

  • Unlimited lots, vessels and vintages
  • Unlimited team members, across all four roles
  • Lab bench, blend bench and the journal
  • Vineyard blocks, ripeness and spray records
  • 3 AI asks a month

Bonded

For a bonded winery that files.

  • Everything in Hobbyist
  • TTB F 5120.17 built from your movements, and the filed archive
  • Cost of goods, carried through every blend and racking
  • Taxpaid removals, the cased-goods book and tax class
  • Priced on cases made a year — the software is the same at every size
  • 25 AI asks a month

Bonded is priced on cases made a year: Cellar to 1,000 cases at $129 a month, Winery to 5,000 cases at $299 a month, Estate to 20,000 cases at $649 a month. Every band sees the same software and gets the same number of AI asks — the band sets the price and nothing else. Above the largest one there is no published figure, because at that size it is a conversation.

Ledger entries only a filing account records: Received in bond, Taxpaid wine returned to bond, Transferred in bond, Reclassified, Removed taxpaid, Removed for distilling material, Removed to vinegar plant, Family use. Moving down a tier hides them; it never deletes them, and a filed return stays readable either way.

What costs a credit

Everything the app works out itself is included — the protocol, the schedule, the lab arithmetic, every conversion and every check. Asking an AI model is what costs, because each question is a real request to somebody else's service. There are three of them and they are all buttons.

A credit is one ask — not a word count and not a token. All three questions cost the same single credit, even though the protocol one is the largest, because you should not have to guess a price before pressing a button.

AskWhereCosts
Yeast suggestionsThe planner, Choose it.1 credit
Plan assessmentThe planner, under the chosen strains.1 credit
Protocol reasoningThe program page, beside the protocol.1 credit

Each is a button pressed on purpose. Nothing runs on page load, nothing runs in the background, and no other part of the app spends a credit — the protocol itself, the schedule, the lab arithmetic, ripeness, the return and every reconciliation are the app's own work and are never metered.

Two purses, and one order

Included asks arrive with the tier, refresh at the start of the month and do not roll over. Bought credits never expire — a pack survives the month turning, a change of tier in either direction, and a suspended account. Included is always spent first, so you can never burn a credit you paid for while a free one sits unused, which would mean paying twice for one answer with nothing on screen to tell you.

PackPricePer ask
10 credits$19.00$1.90
50 credits$79.00$1.58
200 credits$279.00$1.40

A pack is a one-time payment rather than a subscription — there is no standing authority to charge again.

You are not charged for an answer that came back empty.

Fermata checks every claim in a reply against its own catalog and records and throws out what it cannot back up. Where that leaves nothing usable you got no answer — and a refusal, a cut-off reply and a discarded one are the same thing from where you are standing. That request still cost us, which is the right way round: it puts the price of the checking being wrong on the party who can fix it.

Running out is a plain refusal, never a worse answer.

No cheaper AI model, no shortened reply, no cached one from last week. You cannot tell degraded advice from advice, so the app says it cannot ask right now, says when your included asks come back, and stops there.

You see what is left before you press, not after.

The count sits beside the button. Finding out you are out by pressing the thing and watching it refuse is the surprise this exists to avoid, and it is the moment somebody decides the software is unreliable rather than simply empty.

Nothing tops itself up.

There is no refill-when-empty setting and there will not be one. Selling a pack rather than metering usage is precisely so the size of the bill is something you fix in advance instead of reading about afterwards.

The ledger's vocabulary

Every kind of entry, which book it touches, and whether it puts wine on the premises or takes it off. A blend and a reclassification are net — they change which lot holds the wine, or what class it is, without changing how much there is.

EntryDirectionBookTier
Produced by fermentationOnBulkBoth
Received in bondOnBulkCommercial
Taxpaid wine returned to bondOnCasedCommercial
Transferred in bondOffBulkCommercial
Blended on premisesNetBulkBoth
ReclassifiedNetBulkCommercial
BottledOffBulk and casedBoth
Dumped to bulkOnBulk and casedBoth
Removed taxpaidOffCasedCommercial
Removed for distilling materialOffBulkCommercial
Removed to vinegar plantOffBulkCommercial
Used for testingOffBulk and casedBoth
SamplesOffBulk and casedBoth
Family useOffCasedCommercial
Processing lossOffBulkBoth
Casualty lossOffBulk and casedBoth
DestroyedOffBulk and casedBoth