AUFK table — Order Master Data (AUFK)
AUFK stores one row per internal order or CO order header - the master record identified by order number (AUFNR), carrying order type, company code, controlling area, responsible cost center, status object number, and lifecycle dates. It does not hold order line items, budget, or actual costs; those live in CO and FI tables joined through AUFNR or the order's object number.
AUFK is the header table for internal orders and other CO order categories, the anchor object that FI postings, CO actual line items, and status management all hang off. This page covers the fields worth trusting, the joins consultants actually write against it, and the recurring mistake of reading order status or cost totals directly from AUFK instead of from the objects it points to.
Published 15 Sept 2026· 1,138 words
What it stores
One row in AUFK represents a single internal order (or another CO order type such as a maintenance or investment order) at header level. It captures who created the order and when, which company code and controlling area it belongs to, its order type, its responsible and requesting cost centers, its short text, and the object number (OBJNR) that ties it into the general status management framework shared by orders, WBS elements, and networks. AUFK does not carry planned or actual values, budget figures, or settlement history - those are recorded elsewhere and referenced back to the order through AUFNR or OBJNR. Deleted orders are usually just flagged, not removed, so AUFK also accumulates a long tail of closed and technically completed orders that never get physically purged.
Key fields
- AUFNR - order number, the primary key and the value used everywhere else to reference the order
- AUTYP - order category, distinguishes internal orders from other order types sharing this table
- AUART - order type, controls number ranges, settlement rules, and screen layout
- BUKRS - company code the order is assigned to
- KOKRS - controlling area the order belongs to
- WERKS - plant, populated for orders with a plant reference
- KOSTV - responsible cost center
- KOSTL - requesting cost center
- OBJNR - object number, the link into status management and into CO line item tables
- KTEXT - order short text (description)
- ERNAM, ERDAT - creator and creation date
- AENAM, AEDAT - last changer and change date
- PHAS0 to PHAS4 - phase indicators showing which lifecycle phase (created, released, technically complete, closed) the order has passed through
How it joins the data model
- AUFK-OBJNR = COEP-OBJNR to pull the CO actual and commitment line items posted to the order
- AUFK-AUFNR = BSEG-AUFNR to find FI line items account-assigned to the order
- AUFK-AUFNR = ACDOCA-AUFNR in an S/4HANA universal journal, joined further with the ledger and period fields to isolate a fiscal year
- AUFK-KOSTV = CSKS-KOSTL (with matching KOKRS) to resolve the responsible cost center to its name and hierarchy node
- AUFK-BUKRS = T001-BUKRS to bring in the company code's currency and country for reporting
How to read it safely
AUFK is client-dependent, so always restrict on MANDT implicitly through the client connection, and never select across clients in a cross-client tool without realizing it. AUFNR is the natural key and highly selective; a lookup by order number returns exactly one row. Selecting by BUKRS or KOKRS alone on a mature system can return hundreds of thousands of rows because orders are rarely archived, so add AUART or a creation date range before running an ad hoc query. Avoid selecting on KTEXT with wildcards as a primary filter; it is unindexed free text and will force a full table scan on large installations.
How to prove it in the data
To confirm an order exists and is still open, select AUFK by AUFNR and check PHAS0 through PHAS4 alongside the object number; then use that OBJNR to check the status table for the current user status rather than assuming from AUFK's phase fields alone. To confirm whether an order has been posted to, do not stop at AUFK - join OBJNR into the CO line item table or AUFNR into the FI line item table and check for at least one row; an order with no matching rows there is financially inert regardless of what AUFK's dates suggest.
ECC vs S/4HANA
AUFK still exists as a transparent table in S/4HANA and continues to be the master data source for orders; it has not been replaced by a CDS compatibility view the way many FI totals tables have. What changed underneath it is where the values live: actual and commitment postings against the order now flow into the universal journal and CO line item tables directly, rather than through the older separate CO totals tables, so join targets for cost reporting shift even though AUFK's own structure is largely unchanged.
Common pitfalls
- Treating AUFK's phase fields as the authoritative order status. They show which phase the order has passed through, not the current user or system status, which lives in the status management tables keyed by OBJNR. An order can show PHAS0 as complete and still be locked by a user status set afterward.
- Assuming an order with no postings has been deleted. Deletion in most configurations sets a flag rather than removing the row, so AUFK keeps rows for orders that were created and immediately abandoned years ago; a row count from AUFK is not a count of active orders.
- Reading planned or actual costs out of AUFK. There are no value fields here; every cost figure has to be pulled from the CO line item or totals tables via OBJNR, and mixing this up leads to reports that silently return zero instead of erroring.
- Assuming KOSTV (responsible cost center) is always populated. Depending on order type configuration it can be blank, and reports that join on it without an outer join or a null check will drop those orders entirely.
- Forgetting that AUFK mixes order categories. A selection by KOKRS or BUKRS without filtering AUTYP or AUART can pull in maintenance or production orders alongside internal orders, inflating counts in an FI-focused analysis.
Whose problem this is
Order type configuration, number ranges, and settlement rules belong to the controlling (CO) team. Whether a specific order should exist, who it is assigned to, and whether it should be closed or settled is a decision for the cost center owner or project lead, not something to resolve by editing AUFK data directly. FI involvement is usually limited to confirming which company code and account assignment a posting against the order actually hit.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/aufkERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.