SAP tableObjectKONAModuleSD_O2C

KONA table — KONA Agreement Header Table for Rebates and Deals

KONA is the header table for an agreement in the SD condition technique, most commonly a customer rebate agreement, but also the underlying table for sales deals and promotions. One row holds the agreement number, agreement type, validity period, currency, and the customer treated as rebate recipient. It does not hold the rebate rates themselves, those live in the linked condition records.

This page covers what a KONA row represents, its reliable key fields, and how it links to the customer master and to the condition records created under an agreement. The emphasis is on diagnosing why a rebate agreement is not producing accruals or settlements, and the common wrong conclusions drawn from reading KONA in isolation.

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

What it stores

One row in KONA represents one agreement header, created through the rebate agreement transactions, or through the sales deal and promotion transactions that share the same condition-technique framework. The row carries the agreement type, which controls how the agreement behaves and settles, the validity period, the sales area the agreement is valid for, the currency, and the customer treated as the rebate recipient or the agreement's owning partner. KONA does not store the rebate percentages, scale rates, or accrual amounts. Those are held in ordinary condition records, created and maintained under the agreement, and linked back to it through the agreement number embedded in the condition table used for that agreement type. Reading KONA alone tells whether an agreement exists and is valid, not whether it is producing any financial effect.

Key fields

  • MANDT - client
  • KNUMA - agreement number, the primary key, referenced by the condition records created under the agreement and by settlement processing
  • BOART - agreement type, controls whether the row is a rebate agreement, a sales deal, or a promotion, and which processing logic and settlement rules apply
  • DATAB - validity start date of the agreement
  • DATBI - validity end date of the agreement
  • KUNNR - the rebate recipient, or the partner customer the agreement is built around
  • VKORG - sales organization the agreement is valid for
  • VTWEG - distribution channel
  • SPART - division
  • WAERK - currency the agreement, and its rates, are maintained in

How it joins the data model

  • KONA-KUNNR = KNA1-KUNNR, resolves the rebate recipient to the general customer master
  • KONA-KUNNR = KNVV-KUNNR with KONA-VKORG = KNVV-VKORG, KONA-VTWEG = KNVV-VTWEG, KONA-SPART = KNVV-SPART, confirms the recipient is extended to the exact sales area the agreement is defined for
  • KONA-VKORG = TVKO-VKORG, KONA-VTWEG = TVTW-VTWEG, KONA-SPART = TSPA-SPART, validates the sales area combination against configuration
  • the condition table generated for the agreement's access sequence carries KNUMA as one of its key fields, and from the KNUMH it holds, KONH-KNUMH = KONP-KNUMH gives the header and the rate line of each condition record maintained under the agreement
  • settlement of the agreement produces billing documents that, once created, are read like any other credit memo through the standard VBAK and VBRK chain rather than through a direct field join back to KONA

How to read it safely

MANDT is mandatory on every direct select. KONA is small relative to sales document tables, one row per agreement rather than per line, so it is rarely the volume problem. The selectivity to use is BOART together with VKORG, VTWEG, SPART and KUNNR, then DATAB and DATBI to confirm the agreement is actually valid on the date in question. Never assume an agreement is currently active just because it exists in KONA, an expired DATBI or a not-yet-started DATAB is the single most common reason an expected rebate condition does not appear. The real volume and performance risk sits in the condition record tables generated under the agreement, not in KONA itself.

How to prove it in the data

Symptom: rebate accrual stopped appearing on new sales orders for a customer, even though the business believes the agreement is still running. Select from KONA where KUNNR equals the customer, VKORG/VTWEG/SPART match the order's sales area, and check DATBI against the order date and DATAB against it as well. If DATBI is in the past, the agreement has expired regardless of what the business assumes. If no row is returned at all for that sales area, the agreement was never valid there, or BOART points to a type not relevant for that order's pricing procedure.

ECC vs S/4HANA

KONA is present and populated the same way on S/4HANA as it was on ECC, and classic rebate processing, sales deals, and promotions built on it continue to function. SAP's newer settlement management capability, built on condition contracts, is a separate object model and does not use KONA. Existing implementations that migrated classic rebate agreements from ECC generally keep using this table unchanged, new implementations are steered toward the newer settlement approach, but that is a design decision made at project level, not something forced by the table itself.

Common pitfalls

  • Treating an existing KONA row as proof the rebate is active on orders. An agreement can exist, be within its validity dates, and still not fire, because the condition record under it was never created, was deleted, or does not cover the material or customer combination on the order.
  • Assuming DATBI extension on the agreement automatically extends the condition records maintained under it. The condition records carry their own validity, and extending the header does not retroactively extend an already-expired condition record.
  • Confusing the rebate recipient (KUNNR on KONA) with the payer or sold-to on the sales order. Rebate accrual logic evaluates the recipient defined on the agreement, which can differ from any partner function on the order itself, and a mismatch here silently prevents accrual.
  • Extending BOART's meaning by inference rather than checking configuration. Agreement types are configured per implementation, and what one system calls a particular type may carry different settlement behaviour in another.
  • Reading KONA to explain settlement amounts. The header carries no monetary total, the settlement value is a function of accumulated condition records and billing documents, not anything stored on this table.
  • Assuming a change to VKORG, VTWEG, or SPART on KONA after go-live is safe. Changing the sales area of an agreement that already has condition records and accrued sales history against it breaks the link between what was priced and what the agreement now claims to cover.

Whose problem this is

The SD functional consultant responsible for pricing and rebate configuration owns questions about agreement type behaviour, validity handling, and why a specific agreement is not producing accrual. Master data ownership for the customer's sales area extension sits with the customer master data team, and a mismatch there is frequently the true root cause behind a rebate that looks correctly configured but never fires.

Related SAP objects

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

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