ERPClimb logoERPClimb
SAP tableObjectBSAKModuleFI_FICO

BSAK table — Cleared Supplier Items (Compatibility View in S/4HANA)

BSAK is the classic cleared-supplier-item index used in Accounts Payable to retrieve vendor or supplier line items after clearing. In S/4HANA the former physical application index was replaced by an identically named compatibility view over the simplified Finance model. Existing SELECTs remain compatible, but BSAK is not a physical write target for new postings.

BSAK is the classic secondary index table for cleared vendor open items in FI, sitting next to BSIK (open items) and mirroring the customer-side pair BSID/BSAD. This page covers what a row represents, the fields consultants actually query, the joins back to BKPF and BSEG, and the recurring mistakes people make when reading clearing data out of it.

Published 20 Sept 2026· 1,152 words

Esta página aún no está disponible en español.

What it stores

Each row in BSAK is one vendor line item from BSEG that has reached clearing status, duplicated here with the clearing document attached. A single invoice line moves from BSIK into BSAK the moment it is matched against a payment or another offsetting document; the original document number, fiscal year, and line item stay the same, but AUGBL, AUGDT, and AUGGJ get populated with the clearing document, its posting date, and its fiscal year. BSAK is not a separate ledger of facts - it is a filtered, indexed copy of vendor-relevant BSEG rows, kept so that queries like 'what did we pay this vendor and when was it cleared' do not have to filter the entire BSEG table by account type and clearing status on every run.

Key fields

  • MANDT - client
  • BUKRS - company code
  • LIFNR - vendor account number
  • UMSKS / UMSKZ - special G/L transaction type and indicator, if the item is a down payment or similar
  • AUGDT - clearing date
  • AUGBL - clearing document number
  • AUGGJ - fiscal year of the clearing document
  • BELNR - original accounting document number
  • GJAHR - fiscal year of the original document
  • BUZEI - line item number within the document
  • BUDAT - posting date of the original document
  • BLDAT - document date
  • BLART - document type
  • SHKZG - debit/credit indicator
  • DMBTR - amount in local currency
  • WRBTR - amount in document currency
  • WAERS - currency key
  • ZFBDT - baseline date for payment terms
  • ZTERM - payment terms key
  • ZUONR - assignment field, often used for reconciliation matching

How it joins the data model

  • BSAK-BUKRS = BKPF-BUKRS and BSAK-BELNR = BKPF-BELNR and BSAK-GJAHR = BKPF-GJAHR to get header data for the original document
  • BSAK-BUKRS = BSEG-BUKRS and BSAK-BELNR = BSEG-BELNR and BSAK-GJAHR = BSEG-GJAHR and BSAK-BUZEI = BSEG-BUZEI to pull additional line item detail not carried in BSAK
  • BSAK-AUGBL = BKPF-BELNR (same company code and fiscal year) to reach the clearing document's own header, which is a separate document from the invoice
  • BSAK-LIFNR joins to the vendor master line item summary in LFC1 for balance reconciliation
  • For withholding tax on the vendor line, BSAK-BELNR/BUKRS/GJAHR joins to WITH_ITEM

How to read it safely

Always restrict on MANDT implicitly through the system, then on BUKRS first - BSAK is not partitioned by anything more selective, and a company-code-only select on a large vendor ledger can still return millions of rows. Add LIFNR whenever the question is vendor-specific; it is the next most selective field after company code. If the question is about a clearing event rather than an invoice, filter on AUGBL plus BUKRS plus AUGGJ rather than scanning by BELNR, since one clearing document can clear many line items across many vendors. Avoid open-ended date ranges on BUDAT alone - combine with BUKRS and, where possible, BLART, or the read turns into a full table scan on a table that has no small footprint in any live system. Restricting purely on ZUONR or WAERS without BUKRS is a common way to make a five-minute query run for twenty minutes.

How to prove it in the data

Symptom: accounts payable says an invoice was paid but the vendor claims otherwise. Select BSAK with BUKRS = the company code and LIFNR = the vendor and BELNR = the invoice document number. If a row exists, read AUGBL and AUGDT - that clearing document number and date is the payment or offset that closed the invoice. If no row exists in BSAK for that BELNR, the invoice is still open and belongs in BSIK, meaning the vendor's claim of non-payment may be correct and the finance team's belief that it was settled is wrong.

ECC vs S/4HANA

SAP's 2025 S/4HANA simplification list explicitly identifies BSAK as an identically named compatibility view. New development should use released supplier-line-item or Universal Journal interfaces rather than relying on physical secondary-index behavior.

Common pitfalls

  • Assuming a row in BSAK means cash left the company - clearing can happen via credit memo offset, manual reset, or intercompany netting, none of which is a bank payment; check BLART and the clearing document's own header before concluding money moved
  • Forgetting that a document reversed via a later reversal still shows as cleared in BSAK if the reversal itself created a clearing entry - the item looks settled in this table even though the net effect is that both the original and its reversal offset to zero
  • Querying BSAK for an item that is still open - it will not appear here at all, and the natural but wrong conclusion is that the document does not exist; check BSIK before assuming a data loss
  • Treating AUGDT as the payment date - it is the date the clearing was posted, which can differ from the actual value date on the bank statement or the date in REGUH/PAYR for automatic payment runs
  • Summing DMBTR across BSAK to get a vendor balance - cleared items are, by definition, netted out already; a balance calculation belongs on BSIK (open items) or the vendor master line item table, not here
  • Joining on ZUONR expecting it to be unique - it is a free-text or derived assignment field and frequently repeats across unrelated documents, especially after mass clearing runs
  • Not checking UMSKZ when a special G/L item (down payment, bill of exchange) clears - the clearing pattern for these does not match a normal invoice clearing and can mislead reconciliation logic that assumes standard items only

Whose problem this is

Accounts payable and general ledger accounting own the business meaning of what is cleared and why. Basis or the data/reporting team owns why a query against BSAK is slow. If a clearing date or clearing document looks wrong, it is an FI question first - reversed clearings, manual F-44-style resets, and payment program runs all write here differently, and someone who knows the process that cleared the item needs to look at the clearing document itself, not just the BSAK row.

Related SAP objects

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

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