Not every field on a record holds a value that someone entered. Some hold a value that is worked out. Those are computed fields. This piece explains computed fields in Odoo.
Entered fields and computed fields
A field on a record holds a piece of information. For many fields, that information is entered: someone, or some process, puts the value in. But for some fields, the value is not entered; it is worked out, computed, from other information. A computed field is a field whose value is determined by a calculation rather than being entered directly. The value of a computed field is the result of computing it from whatever it is based on.
Why computed fields are useful
Computed fields are useful because a great deal of information a record should show is genuinely derived from other information rather than being a separate thing to enter. Where a value can be worked out from other values, making it a computed field means it does not have to be entered and maintained by hand; it is computed. And, importantly, a computed field stays correct: because its value is computed from what it is based on, when that underlying information changes, the computed field's value is recomputed, so it keeps reflecting the current reality. A computed field is a value that is always genuinely derived from the current state, rather than an entered value that could go stale.
How computed fields work
A computed field, in Odoo, is defined as a field whose value comes from a computation: the developer defines the field as computed and provides the computation, the logic that works out the value. Crucially, the developer also tells Odoo what the computed field depends on, the other information the computation is based on. This dependency is what makes the computed field stay current: Odoo knows that, when the things the computed field depends on change, the computed field's value should be recomputed. So a computed field is the computation, plus the declared dependencies that keep the computed value current.
The importance of getting the dependencies right
An honest, important point for a developer. The correctness of a computed field staying current depends entirely on its declared dependencies being right. If the dependencies correctly cover everything the computation genuinely depends on, then the computed field recomputes whenever it should, and its value is always current. If a dependency is missed, the computed field will not recompute when that missed thing changes, and its value will be stale and wrong. So defining a computed field correctly means getting the dependencies genuinely right, declaring everything the computation truly depends on. This is the part of computed fields a developer must get right.
The takeaway
Computed fields in Odoo are fields whose value is worked out by a computation rather than entered directly. They are useful because much information a record shows is genuinely derived from other information, and a computed field does not have to be entered by hand and stays correct, recomputing when the things it depends on change. A computed field is defined with its computation and, crucially, its declared dependencies, and getting those dependencies genuinely right is what makes the computed field stay current. For how we approach Odoo, see our ERP practice.