# Batch reading forms

A **batch reading form** is the form you fill in when recording readings against a batch, whether that's from the batch's **Analysis** tab, from the production dashboard or in the Breww mobile app. Each form decides which readings are shown and which of them have to be filled in, and you can have as many forms as you need, so a quick daily fermentation check and a full lab panel can be separate.

You'll find them at **Settings** -> **Production** -> **Batch reading forms**, and you'll need the **Settings** permission.

![The Batch reading forms settings page, showing the forms table and the Readings card below it](https://storage.googleapis.com/breww-user-uploads/markdown-embedded/f7f80ed5078b8268f50a4043cd8f8c70f2458a17f7952aff7c96f82a673544cc.png)

## Your forms

The **Batch reading forms** card lists every form you have, with each reading on it badged **Required** or **Optional**.

![The batch reading forms table, listing a Daily readings form marked Default and a Lab panel form marked Manual only](https://storage.googleapis.com/breww-user-uploads/markdown-embedded/83516e7f9c1c859a9cd685be825664b2f9150a4806a6a1963f971fbf9dd8ce57.png)

* **Default** - exactly one form is always your default. It's used anywhere Breww doesn't have a more specific answer, including when someone records a reading without picking a form. Use the star button on another form to make that one the default instead.
* **Schedule rules** - how many reading schedule outcomes point at this form. A form that no rule uses shows **Manual only**, which is perfectly fine: it can still be chosen by hand when recording a reading.

Select **New batch reading form** to add one, the pencil button to edit one, or the bin button to delete one.

Your default form can't be deleted, and neither can a form your [batch reading schedule rules](https://breww.com/docs/batch-reading-schedule-rules/) use. Point those rules at another form first.

## Choosing the readings on a form

The form editor lists every reading Breww supports, plus any custom readings you've added. Enable a reading to show it on the form, then enable **Required** beside it if it has to have a value before the reading can be saved.

There's a lot to scroll through, so type into the search box to narrow the list down. Readings you've already selected stay visible while you search, and Breww tells you how many are selected in total.

![The batch reading form editor, filtered to "acid", with the four already-selected readings still shown](https://storage.googleapis.com/breww-user-uploads/markdown-embedded/237dcb5b602929b7364f2c5dade287030e9ea844e97484211208eb7cda19c66d.png)

Out of the box, your **Daily readings** form shows **Gravity**, **Vessel temperature**, **pH** and **Observations**, with only **Gravity** required.

> **Note:**
> A batch reading schedule counts as done once every reading the form marks as **Required** has been recorded, whether in one entry or in separate ones. Marking several readings as required is therefore a decision about your schedules as well as about data quality. If the required readings are taken at different times or by different people, enable **Allow saving without all required readings** so each person can save their own part.

> **Note:**
> Some readings are locked onto your default form. If any of your drink types work out their duty ABV from gravity readings, **Gravity** has to stay on it, and if one uses **Final ABV entered as a batch reading**, so does **ABV**. Change the ABV calculation method in your duty settings first if you need to remove them. See [Final batch ABV](https://breww.com/docs/final-batch-abv/).

## Forms whose readings are taken at different times

A vessel's readings aren't always taken in one go. A CO₂ check in the morning and a dissolved oxygen check in the afternoon may be done by different people, and each of them needs to be able to save their own part.

For a form like this, enable **Allow saving without all required readings** at the bottom of the form editor. The setting is off unless you enable it, and it applies to that form only.

![The batch reading form editor, with CO₂ and Dissolved oxygen marked Required and Allow saving without all required readings enabled](https://storage.googleapis.com/breww-user-uploads/markdown-embedded/a1f8abca997c88b79a10055ac298aca9903ecf2f6068b5c7986a01153d3576fc.png)

When someone records a reading with the form, a **Save without all required readings** checkbox appears below the readings. Selecting it saves whatever has been entered so far, as long as at least one reading has a value. Left unselected, every required reading still has to be filled in, so saving part of a form is always a deliberate choice.

If a batch reading schedule uses the form, the vessel shows as **In progress** until the rest of the required readings are recorded. See [What counts as a completed reading](https://breww.com/docs/batch-reading-schedule-rules/#what-counts-as-a-completed-reading) for how separate entries are counted, and [Recording readings separately](https://breww.com/docs/batch-fermentation-analysis/#recording-readings-separately) for what your team sees when recording.

In the **Batch reading forms** card, a form with the setting enabled is badged **Partial saving allowed** beside its name.

![The batch reading forms table, with the Conditioning checks form badged Partial saving allowed](https://storage.googleapis.com/breww-user-uploads/markdown-embedded/c7287f4e69c59e676f15e72d7ce92cc0a8ce61103641429c57dbb6f192246d1e.png)

## Readings and their units

The **Readings** card below sets the unit each reading is recorded in by default, whichever form it appears on. The unit you pick also decides the sensible range and the number of decimal places Breww will accept.

Breww picks a sensible starting unit for you, and breweries with a US address start with Fahrenheit for temperatures rather than Celsius. Two of the built-in readings, **Observations** and **Diacetyl test**, are free text rather than a measurement, so they have no unit.

Change as many rows as you need and then select **Save units**. The change takes effect immediately, on both the web app and the Breww mobile app.

> **Note:**
> The unit chosen for **Gravity** is used more widely than just your reading forms. It's also the gravity unit used on your recipes and brew sheets, and in exported Breww recipe files.

> **Warning:**
> Changing a reading's unit also converts the target and acceptable range of any approval template and approval instance lines that follow that reading, so your quality checks stay meaningful. Breww tells you how many lines it converted. Lines on approvals that have already been approved keep the value and unit they were approved with.

### Adding your own readings

If Breww doesn't have a reading you need, select **New custom reading** and add your own.

![The New custom reading form, with Name, Measurement, Unit label and Decimal places fields](https://storage.googleapis.com/breww-user-uploads/markdown-embedded/4703e9d3d327ce77002bafa7ed1fa560f489159efd773b2eb5963fe2b328e868.png)

* **Name** - has to be unique, and can't clash with the name of one of Breww's built-in readings.
* **Measurement** - what kind of quantity this is, so Breww knows which units to offer and what range to accept. Choose from **Temperature**, **Pressure**, **Gravity**, **Extract**, **Concentration (g/l, mg/l)**, **Parts per (ppb, ppm, mg/l)**, **Percentage**, **Dissolved gas (g/l, volumes)**, **Colour**, **Haze**, **Bitterness**, **Conductivity**, **Cell count**, **pH**, or **Other**.
* **Unit label** and **Decimal places** - only asked for when the measurement is **Other**. Enter the unit exactly as you want it shown next to values, for example `mg/100g`, and how many decimal places to record.

Custom readings are numeric only. Once created, add the reading to your batch reading forms to start recording it, just like any built-in reading.

A few things can't be changed once readings of that type have been recorded: the **Measurement** is fixed, and **Decimal places** can be increased but not reduced.

### Archiving a custom reading

Custom readings are archived rather than deleted, so the readings already recorded against your batches are never lost. An archived reading can't be added to any more forms, but forms that already include it keep collecting it, and it stays in the **Readings** card marked **Archived** so you can bring it back later.

## The readings Breww supports

Breww lists **Gravity**, **Vessel temperature**, **Vessel temperature 2**, **Vessel set temperature**, **pH** and **ABV** first, then everything else in alphabetical order:

apparent density (steel), apparent extract, bitterness, CO₂, cell count, cell viability, colour, conductivity, diacetyl test, dissolved oxygen, free SO₂, haze, haze percentage, lactic acid, malic acid, N₂, observations, pressure, real extract, residual sugar, sulphur, titratable acidity, total SO₂, total package oxygen, VDK, volatile acidity and YAN.

## Related guides

* [Batch reading schedule rules](https://breww.com/docs/batch-reading-schedule-rules/)
* [Recording batch readings in the Analysis tab](https://breww.com/docs/batch-fermentation-analysis/)
* [Final batch ABV](https://breww.com/docs/final-batch-abv/)
* [General production settings](https://breww.com/docs/production-settings/)
* [Deviation thresholds and targets](https://breww.com/docs/deviation-thresholds-and-targets/)
