Skip to content

๐Ÿงฎ Adjustment

Transaction Form โ€” Adjustment

Adjustments are standalone asset-quantity corrections. They are cashless in the shipped transaction schema: quantity changes, cash does not. Unlike paired types (Transfer, Cash Transfer, FX Conversion), each adjustment is a single, independent row.


๐Ÿ”‘ Key Properties

Property Value
Code ADJUSTMENT
Cash effect None โ€” ADJUSTMENT is cashless
Asset effect Required (ยฑ any quantity)
Tax event No

๐Ÿ“Š Use Cases

Adjustments are used when no other transaction type fits:

  • Correcting import errors โ€” e.g., a broker import missed a corporate action
  • Stock splits / reverse splits โ€” adjust quantity without cash movement
  • Gifts โ€” receiving or giving shares
  • Inherited or succession holdings โ€” securities arrive in-kind, with no broker cash movement
  • Initial balance setup โ€” bootstrapping a portfolio from a snapshot
  • Corporate actions not covered by other types (spinoffs, mergers, etc.)

Imported examples: Intesa Sanpaolo patrimonio snapshots use positive ADJUSTMENTs to seed existing holdings with a per-unit cost_basis_override; Crรฉdit Agricole succession rows (GIRO ALTRO DOSSIER, VERS.TITOLI) are also modeled as positive cashless ADJUSTMENTs, not as paired TRANSFERs, because the source dossier is outside LibreFolio.

Promote to Transfer

Two ADJUSTMENT rows with opposite quantities, same asset, and different brokers can be promoted to an Asset Transfer pair. This is useful when you initially recorded separate adjustments and later want to link them as a transfer. Neither row may be linked to an asset event, a split for instance: a transfer cannot carry that link, so LibreFolio neither suggests nor accepts such a promote.


๐Ÿ“ Impact on Cost Basis

Adjustments with positive quantity increase the lot count (FIFO). The cost basis for adjustment-created lots depends on whether a Cost Basis Override is provided:

  • With override: the specified value is used as the per-unit acquisition cost (WAC โ€” Weighted Average Cost); an override of zero records a free acquisition, such as an airdrop
  • Without override: the FIFO lot opens at zero cost, but the average cost (WAC) treats the cost as unknown, not free: the units join the position without a cost, its WAC stays incomplete until the position is closed, the Dashboard shows its average cost and unrealized P&L as unavailable, and a data-quality warning names the asset (see Cost Basis Override)

A positive adjustment cannot be saved without a cost basis: enter one, or choose Auto, which stores the average cost of the position the units join (zero if it holds none yet). Two kinds of rows can still lack one: an adjustment linked to a split, which Auto saves without one because the split keeps the cost already held and spreads it over the new quantity, and rows saved before the cost basis became mandatory.

Per-unit value

The Cost Basis Override is the average cost per single unit of the asset. To get the total cost of the transferred block, multiply by the quantity:

\[\text{Total cost} = \text{WAC} \times \text{quantity}\]

๐Ÿฆ Automatic Cost Basis on Transfers and Seeds

When transferring assets between brokers, LibreFolio automatically computes the Cost Basis Override on the receiving side using the Weighted Average Cost (WAC) of the source broker's position. Broker-import seeds may set it directly from the source report instead. The value is always per unit, not the total position value; for a snapshot with total fiscal value \(C\) and quantity \(q\), plugins store:

\[\text{Cost Basis Override} = \frac{C}{q}\]

This records in-kind capital, not P&L: the adjustment creates/changes lots but does not create a cash contribution or realised gain.

Learn more

For the full formula, examples, and edge cases, see the dedicated page: ๐Ÿ“Š Weighted Average Cost (WAC)

โœ๏ธ When to Override Manually

The automatic formula works for the standard case (same fiscal regime, no tax events at transfer). In the following scenarios the user must set the value manually:

Scenario What to set
Normal transfer Leave empty โ€” auto-calculated
Exit Tax Market value at transfer date (jurisdiction-specific)
Inheritance Fair market value at date of death (or stepped-up basis)
Gift Donor's original cost basis (carryover basis)
Corporate action Adjusted basis per corporate action terms

User Responsibility

When manually overriding the cost basis, the user is responsible for the correctness of the value. LibreFolio does not validate override amounts against tax rules โ€” consult a tax advisor for jurisdiction-specific guidance.


  • ๐Ÿ“Š Weighted Average Cost (WAC) โ€” How automatic cost basis is computed
  • ๐Ÿ”„ Asset Transfer โ€” Two linked adjustments can be promoted to a transfer
  • ๐Ÿ›’ Buy & Sell โ€” Standard asset transactions with cash
  • ๐Ÿ’ฐ Fee & Tax โ€” Cash-only corrections (use Fee/Tax instead of Adjustment)