SAP transaction codeObjectFB02ModuleFI_FICO

FB02 — Change a Posted FI Document

FB02 lets a user change a small, fixed set of fields on an already-posted FI document - text, assignment, payment terms, dunning and payment blocks, baseline date - without reversing it. Amount, posting date, GL account, cost center and tax code can never be changed here; those require reversal through FB08 and reposting. Every change is logged in the document change history.

This page covers FB02, the transaction for changing fields on a posted financial accounting document. It focuses on why so many fields appear locked, how the changeable-field list interacts with clearing status and field status groups, and how to prove in the data exactly what was changed, by whom, and when.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,075 words

Purpose

FB02 opens a posted FI document for limited editing. The structural fact that explains almost every support ticket against this transaction: SAP hard-codes a small list of fields that remain open after posting - assignment number, text, payment terms, baseline date for payment, dunning block, payment block, house bank and a handful of others. Everything that affects the accounting impact of the document - amount, debit/credit indicator, GL account, cost center, tax code, posting date, document date - is permanently locked once the document is saved. That lock is not configurable per se; it is standard behaviour to protect audit integrity. The changeable list also shrinks further once a line item is cleared, since a cleared item exposes even fewer editable fields than an open one.

When it is used

Reached for after posting when a correction is needed but the correction does not touch the accounting entry itself - fixing a typo in the line item text, adding or correcting an assignment number for reconciliation, changing a payment block or dunning block on a vendor or customer line, or shifting the baseline date for cash discount calculation. Not used when the wrong account, amount, or cost center was posted; that always goes through FB08 reversal followed by a fresh posting. Not used for parked documents either - those are edited through the park/hold change transaction (FBV0), not FB02. On Fiori-enabled systems the equivalent app performs the same restricted edit but the underlying field list is identical.

How to use it in practice

  • Enter the document number, company code and fiscal year on the initial screen, or navigate to the document from a line item display.
  • The document overview appears with the header and line items; fields open for editing are enterable, everything else is display-only.
  • Double-click or select a line item to drill into item detail if the field to change is not on the overview.
  • Change the field value directly; assignment, text and block fields are the most commonly touched.
  • Save. The system writes a change document entry recording old value, new value, user, date and time; no accounting entry is generated.

Key data objects

  • BKPF - document header; only a few header-level fields such as reference and header text are affected by FB02.
  • BSEG - line item table; holds the actual values changed, such as assignment, text, payment block, dunning block, baseline date.
  • CDHDR - change document header; one row per save action, with user, date, time and the change transaction.
  • CDPOS - change document item; one row per field changed, holding table name, field name, old value and new value.

How to prove it in the data

To confirm what changed and who changed it, query CDHDR filtered on object class BELEG with object value built from company code, document number and fiscal year, then join to CDPOS on the same change number to see the field, old value and new value. Cross-check the current state in BSEG for that document and line item to confirm the change actually persisted. If CDHDR shows no entry for the expected timeframe, the change either did not save or was made through a different transaction entirely.

ECC vs S/4HANA

The underlying data model moved to the universal journal on S/4HANA, with BSEG now a compatibility view over ACDOCA, but the changeable-field restriction on FB02 is unchanged from the classic behaviour. FB02 still runs on S/4HANA; a Fiori app for managing and changing journal entries provides the same functional restriction through a browser-based screen. There is no relaxation of the locked-field list on S/4HANA.

Common pitfalls and how to diagnose them

  • Field greyed out: the field is simply not on the changeable list, or the line item is already cleared and clearing removes several editable fields. Confirm clearing status in BSEG before assuming a bug; a cleared item allows far fewer changes than an open one.
  • Change appears lost after save: the user edited the field but did not confirm the entry (tab or enter) before hitting save, or edited the wrong line item in a document with many similar lines. Reopen and verify the current field value directly in BSEG rather than trusting the screen.
  • No change document found: this usually means the change was actually made in a different transaction (park/hold change, or a background program) rather than FB02, or the search on CDHDR used the wrong object value format. Rebuild the object value carefully from company code, document number and fiscal year.
  • Attempting to change amount, account or cost center: not possible in FB02 regardless of authorization; the correct path is FB08 reversal followed by a corrected repost, never a forced table update.
  • Authorization error on save: display authorization without change authorization lets the user open the document and even type into a field, but save fails with an authorization message; check the relevant activity in the user's role rather than assuming a config fault.
  • Cross-company code documents: changing a field in one company code's view does not propagate to the paired company code; each side must be checked and changed independently if relevant.

Whose problem this is

Functional FI territory - the AP, AR or GL clerk performing the correction owns this end to end. ABAP involvement is rare and limited to custom field status configuration or a user exit restricting which fields are open. A clean handover states the document number, company code, fiscal year, the field that needs to change, and the exact reason it is greyed out if the request escalates beyond the clerk's authorization.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tcodes/fb02ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.