By default, all regular postings are included in each report.  To
limit the report to certain kinds of postings, use one or more of
the following options:

@table @option
@item -C, --cleared
Consider only cleared postings.
@item -U, --uncleared
Consider only uncleared and pending postings.
@item -R, --real
Consider only real (non-virtual) postings.
@item -L, --actual
Consider only actual (non-automated) postings.
@end table

Cleared postings are indicated by an asterix placed just before
the payee name in a posting.  The meaning of this flag is up to
the user, but typically it means that a transaction has been seen on a
financial statement.  Pending postings use an exclamation mark in
the same position, but are mainly used only by reconciling software.
Uncleared postings are for things like uncashed checks, credit
charges that haven't appeared on a statement yet, etc.

Real postings are all non-virtual postings, where the account
name is not surrounded by parentheses or square brackets.  Virtual
postings are useful for showing a transfer of money that never
really happened, like money set aside for savings without actually
transferring it from the parent account.

Actual postings are those not generated, either as part of an
automated transaction, or a budget or forecast report.  A useful of when you
might like to filter out generated postings is with a budget:

@example
ledger --budget --actual reg ^expenses
@end example

This command outputs all postings affecting a budgeted account,
but without subtracting the budget amount (because the generated
postings are suppressed with @option{--actual}).  The report shows
how much you actually spent on budgeted items.