SAP transaction codeObjectFB50ModuleFI_FICO

FB50 — Enter G/L Account Document

FB50 posts a general ledger journal entry as a single multi-line document, entering all debit and credit lines on one screen rather than the header-then-line sequence used by FB01. It is the standard transaction for manual journal entries, accruals, reclassifications and corrections that do not originate from a vendor or customer invoice.

FB50 is the single-screen G/L document entry transaction used for manual journal postings, accruals and reclassifications. This page covers the entry sequence, the tables the posting writes, and the diagnostic categories behind the failures consultants actually see: imbalance, missing account assignment, closed periods, and confusion between parking and posting.

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

Purpose

FB50 creates a financial accounting document directly against general ledger accounts, presenting all line items in one editable grid rather than forcing a separate posting key and account entry per line the way FB01 does. The structural fact that explains most confusion: FB50 is a document-based transaction, meaning the debit and credit lines are entered together and must net to zero before the system allows posting, and every line can carry its own cost object, tax code and currency independent of the others. It internally maps each row to the standard debit (40) and credit (50) posting keys even though the user never sees them, which is why error messages sometimes reference posting keys the user never typed.

When it is used

FB50 is reached for for anything that is not a subledger invoice: month-end accruals, reclassification entries between cost centers or accounts, correction postings, intercompany journal entries booked manually, and adjustments coming out of a reconciliation. Vendor invoices go through FB60, customer invoices through FB70, and payment postings through F-28 or F-53, because those carry subledger reconciliation logic FB50 does not enforce. In S/4HANA, the Fiori app for posting general journal entries covers the same use case with a similar single-screen grid, and many finance teams now reach for that app first and only fall back to FB50 for edge cases the app does not yet support.

How to use it in practice

  • Enter company code, document date, posting date, document type and currency in the header.
  • Add each line: G/L account, debit or credit indicator, amount, and cost center, WBS element or internal order if the account is P&L relevant.
  • Watch the balance field at the top of the entry grid drop to zero as lines are added.
  • Use Simulate to preview the full document including any tax lines or automatic postings before committing.
  • Save. If the document is incomplete, use Park instead and complete it later through the parked document transaction.

Key data objects

  • BKPF - document header: company code, fiscal year, document number, posting date, document type.
  • BSEG - line item detail: G/L account, amount, currency, cost object assignment, tax code.
  • BSIS / BSAS - open and cleared G/L line item indices used for account line item reporting in classic GL tables.
  • FAGLFLEXA / FAGLFLEXT - New GL totals and line item tables in ECC; superseded by ACDOCA as the single source of truth in S/4HANA.
  • COEP / COBK - CO line items and document header, populated when a line carries a cost center, order or WBS assignment.

How to prove it in the data

Pull the header from BKPF filtered on company code, document type and posting date range, then join to BSEG on company code, document number and fiscal year to inspect the individual lines: debit/credit indicator, amount in local currency, G/L account, cost object fields, and tax code. To confirm a document was parked rather than posted, check the document status field on the header. In S/4HANA the same information sits on ACDOCA directly, which avoids the header-to-line join and shows both the entry view and the ledger-specific values in one table.

ECC vs S/4HANA

FB50 still exists and behaves the same way in S/4HANA GUI. What changed underneath is the persistence: postings land in ACDOCA as the single line-item table instead of being split across classic and New GL totals tables, with BKPF and BSEG retained as compatibility views for reports and interfaces that still expect them. The Fiori app for posting general journal entries offers the equivalent function with a comparable grid layout and is the direction SAP is pushing new users toward, but FB50 remains fully functional and is not deprecated.

Common pitfalls and how to diagnose them

  • Document does not balance: the running balance field never reaches zero and the save button stays inactive. Almost always a keying error on one line, a missing tax line, or an exchange rate difference on a foreign currency document that was not accounted for in the amount entered.
  • Missing account assignment: the system rejects a line with a required entry error for cost center, WBS or order. Check the field status group on the G/L account master in FS00 and, if the account should default a cost object automatically, check whether an entry exists in the default account assignment table for that combination of company code and account.
  • Posting period closed: the system rejects the posting date with a period-not-open message. Check the open posting periods configuration for the company code and posting period variant rather than assuming the posting date itself is wrong.
  • Park versus post confusion: a user parks a document intending to complete it later, and it never gets posted, so it is invisible in standard balance and line item reports. Search parked documents separately; do not assume a missing posting means nothing was entered.
  • Tax code errors: a line with a tax-relevant account has no tax code or the wrong jurisdiction code, causing either a hard stop or a silently wrong tax amount that only surfaces during tax reconciliation.
  • Manual reversal instead of proper reversal: someone posts an offsetting document by hand rather than reversing through the dedicated reversal transaction, which breaks the document-to-reversal link and complicates audit trail and clearing later.

Whose problem this is

Functional FI territory for entry errors, account assignment defaults and field status configuration. Basis gets involved only for authorization failures or period-control settings maintained centrally. A clean handover includes the company code, document number and fiscal year if one was created, the exact error message text, and whether the issue reproduces with a different G/L account or cost object.

Related SAP objects

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

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