> Markdown version of [Forms & Data](https://vaadin.com/docs/latest/building-apps/forms-data). Section index: [llms.txt](https://vaadin.com/docs/latest/building-apps/llms.txt)

# Forms & Data

Most business applications revolve around data. Users look it up in grids, edit it in forms, and expect their changes to be saved. These guides show how to do this in a Vaadin application.

For the user interface, start with [Add a Form](https://vaadin.com/docs/latest/building-apps/forms-data/add-form.md) and [Add a Grid](https://vaadin.com/docs/latest/building-apps/forms-data/add-grid.md). To store the data, see [Persistence](https://vaadin.com/docs/latest/building-apps/forms-data/persistence.md), and [Replace H2](https://vaadin.com/docs/latest/building-apps/forms-data/persistence/replace-h2.md) for switching to a production database. The other guides cover custom fields, file uploads and downloads, and PDF reports.

The forms and grids load and save data through [application services](https://vaadin.com/docs/latest/building-apps/business-logic/add-service.md). The [Data Consistency](https://vaadin.com/docs/latest/building-apps/forms-data/consistency.md) deep dive explains the reasoning behind this, and covers transactions, locking, and validation.

## <a id="topics"></a>Topics

- [Add a Form](https://vaadin.com/docs/latest/building-apps/forms-data/add-form.md): Learn how to add a form to a Vaadin application.
- [Add a Custom Field](https://vaadin.com/docs/latest/building-apps/forms-data/create-custom-field.md): Learn how to create a Custom Field in Vaadin.
- [Add a Grid](https://vaadin.com/docs/latest/building-apps/forms-data/add-grid.md): Learn how to add a data grid to a Vaadin view.
- [Persistence](https://vaadin.com/docs/latest/building-apps/forms-data/persistence.md): How to choose and combine persistence strategies in Vaadin applications.
- [Handle File Uploads](https://vaadin.com/docs/latest/building-apps/forms-data/handle-uploads.md): Learn how to receive uploaded files, process them with a service, and handle errors.
- [Handle File Downloads](https://vaadin.com/docs/latest/building-apps/forms-data/handle-downloads.md): Learn how to serve file downloads from a Vaadin application.
- [Generate PDF Reports](https://vaadin.com/docs/latest/building-apps/forms-data/generate-pdf-reports.md): Learn how to generate PDF reports and embed them in a Vaadin view.
- [Consistency](https://vaadin.com/docs/latest/building-apps/forms-data/consistency.md): How to ensure data consistency in your applications.
