T001 table — Company Code Master Table
T001 is the SAP company code master table. One row equals one company code, holding its name, country, city, currency, language, chart of accounts, and fiscal year variant. Every FI posting document, G/L account extension, and reporting selection is scoped by the company code defined here, making T001 the anchor lookup for confirming basic legal-entity setup before chasing a posting or configuration error elsewhere.
This page covers T001, the master table that defines each company code and its core control parameters such as currency, chart of accounts, and fiscal year variant. It focuses on how consultants actually use T001 during incident triage and configuration review, including the joins that matter, the pitfalls of trusting it as a complete picture, and the ownership boundary between functional and Basis teams.
Published 15 Sept 2026· 1,086 words
What it stores
Each row in T001 represents one company code, the smallest legally independent unit for which a complete, self-contained set of accounts can be produced in FI. The row carries the identifying attributes needed to post and report: the company code key, its descriptive name, city, country, local currency, language, chart of accounts, and fiscal year variant. It does not carry transactional data and it does not carry every control parameter a company code needs; several of those live in satellite tables keyed by company code but maintained separately (global parameters, tax procedures, document number ranges). T001 is the parent record that those satellite tables and every FI document ultimately point back to.
Key fields
- MANDT - client, always the first filter
- BUKRS - company code, the primary key
- BUTXT - company code name (short descriptive text)
- ORT01 - city of the company code
- LAND1 - country key
- WAERS - local (company code) currency
- SPRAS - language key used for the company code texts
- KTOPL - operative chart of accounts assigned to this company code
- PERIV - fiscal year variant assigned to this company code
- ADRNR - address number pointing to the central address tables
- RCOMP - company ID used for consolidation (trading partner grouping)
How it joins the data model
- T001-BUKRS = BKPF-BUKRS (every posted document belongs to exactly one company code)
- T001-BUKRS = BSEG-BUKRS (every line item inherits the header company code)
- T001-BUKRS = ACDOCA-RBUKRS (universal journal line restricted to a company code)
- T001-BUKRS = SKB1-BUKRS (G/L account company code segment exists only if the account is extended here)
- T001-KTOPL = SKA1-KTOPL (chart of accounts level master must match the company code's assigned chart)
How to read it safely
T001 is small and fully client-dependent; always filter on MANDT and never assume a company code visible in one client exists in another. Selection is almost always by BUKRS, either a single code or a short explicit list; there is no reason to run this table without restricting on company code unless the goal is a full client inventory. The table rarely exceeds a few hundred rows even in a large enterprise, so performance is never the concern here, accuracy of the read is. The real risk is misreading a field's scope: currency, chart of accounts, and fiscal year variant shown here are the company code's own settings, not necessarily what a specific document or account actually used, since those can be overridden or derived elsewhere.
How to prove it in the data
Symptom: a posting fails with a foreign currency or fiscal year period error and the consultant suspects the company code itself is misconfigured. Select T001 for the exact BUKRS in question and check WAERS against the currency used on the document, and PERIV against the fiscal year variant expected by the posting period control. A mismatch here explains a currency translation error or a 'period not open' message that otherwise looks like a document-level problem; agreement here means the fault lies downstream in period control or account assignment, not in the company code definition.
ECC vs S/4HANA
T001 is unchanged in structure and continues to exist as a transparent table on S/4HANA; it was not absorbed into the universal journal and was not replaced by a compatibility view. The universal journal (ACDOCA) carries its own company code field for the journal entry line and still relies on T001 as the master reference for company code attributes such as currency and chart of accounts. Consultants reading company code master data on S/4HANA use T001 exactly as on ECC.
Common pitfalls
- Assuming T001 controls posting periods directly: it does not, the fiscal year variant here only names the variant, the actual open/closed periods live in the posting period variant configuration linked through a separate assignment, not in this table.
- Assuming a G/L account is usable in a company code because T001 shows the right chart of accounts: the chart match is necessary but not sufficient, the account still needs its own company code segment created, which lives in SKB1, not T001.
- Treating WAERS as the currency of every document in that company code: documents can post in foreign currency freely, WAERS is only the local currency used for local valuation and reporting, not a restriction on transaction currency.
- Confusing company code (BUKRS) with company (RCOMP) or with controlling area: multiple company codes can share one controlling area or consolidate under one trading partner company, and T001 alone will not reveal that grouping without checking the assignment tables that link them.
- Reading RCOMP as decisive for intercompany elimination logic without checking that trading partner is actually populated on the relevant master data and documents; an empty or stale RCOMP silently breaks consolidation matching while T001 itself looks perfectly configured.
- Assuming a company code exists and is usable for postings just because a row exists in T001: address data, additional company code global parameters, and number range assignments are maintained separately and a missing one there will block postings despite a clean T001 record.
Whose problem this is
Company code creation and its core attributes (currency, chart of accounts, fiscal year variant) are an FI configuration decision, owned by the FI/CO functional lead and typically locked down after go-live since changing currency or chart of accounts on a live company code is a major project in itself. Basis has no stake in this table beyond client transport; any change request touching T001 belongs with the FI configuration team, not with technical support.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/t001ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.