T003 table — Document Type Customizing Table
T003 stores the FI document type customizing, one row per document type code such as SA, KR, DR or RE. It holds the number range group that supplies the document number and the authorization group that restricts who may post with that type. It is client-wide, small, and read via the document type maintenance transaction, not via SE16 in production troubleshooting.
T003 is the customizing table behind every FI document type used in BKPF-BLART. This page covers the fields worth checking, how a document type problem is actually diagnosed, and the pitfalls that come from treating a client-wide config table as if it were company-code specific or transactional.
Published 15 Sept 2026· 1,030 words
What it stores
One row in T003 represents a single document type definition, identified by its two-character code, such as SA for GL postings, KR for vendor invoices, DR for customer invoices, RE for invoice verification, or AB for asset postings. The document type is defined once per client and is available to every company code in that client, unlike most FI customizing which is company-code specific. Each row carries the number range group that determines which number series a document of that type receives, and an authorization group that can be used to restrict posting to certain users. The document type also implicitly governs which account types (GL, customer, vendor, asset, material) are permitted for documents posted with it, enforced at posting time rather than stored as a simple flag list on this table.
Key fields
Only the fields that are safe to rely on are listed here; the description text lives in a separate language-dependent text table, not on T003 itself.
- MANDT - client
- BLART - document type code, e.g. SA, KR, DR, RE, AB
- NUMKR - number range group assigned to this document type, used to look up the actual number range object
- BRGRU - authorization group, checked against the posting user's authorization when the document type restricts posting
How it joins the data model
The join that matters in almost every investigation is the one back from the header table to the document type.
- BKPF-BLART = T003-BLART, every posted document header points back to exactly one document type row
- BSEG line items inherit the document type through BKPF-BLART, so the account types actually posted on a document are indirectly constrained by what T003 permits for that type, not by a direct table join
- T003-NUMKR does not join directly to a table in this list; it is resolved against the FI document number range object maintained per company code, which is why the same document type can produce different number ranges in different company codes
- T003-BRGRU is compared against the posting user's authorization object at runtime, not stored as a join anywhere
How to read it safely
T003 is tiny, typically a few dozen rows per client, so there is no performance concern reading it directly. Restrict on MANDT and BLART and the table returns instantly. The description is not on this table, so a lookup that only hits T003 will show the code but not the label; pull the text table alongside it if the description is needed. Do not use this table to answer questions about posting volume, frequency, or which company codes actually use a given type in practice, those questions are answered from BKPF, not from the customizing entry.
How to prove it in the data
Symptom: a user reports they cannot post with document type RE. Select single row from T003 where MANDT equals the working client and BLART equals RE. Check BRGRU; if populated, compare it against the user's authorization for that group, that is the actual block in most cases. Check NUMKR and then look up the corresponding number range object to confirm the range is not exhausted or expired for the current fiscal year, that is the second most common cause of a hard posting failure that looks like a document type problem.
ECC vs S/4HANA
T003 continues to exist as a customizing table in S/4HANA in essentially the same shape; the document type concept, its number range dependency, and the authorization group control were not restructured by the move to the universal journal. There is no compatibility CDS view standing in front of it because it is configuration, not a transactional table absorbed into ACDOCA. Document type maintenance is still done through the standard IMG activity for document types, not through Fiori app configuration.
Common pitfalls
The recurring mistake with T003 is treating a client-wide, structural table as if it behaved like transactional or company-code specific master data.
- Assuming document types are company-code specific: they are not, the same T003 row is visible to every company code in the client, differences in usage come from number range assignment per company code and from process design, not from T003 itself
- Assuming a change to NUMKR retroactively affects documents already posted: it only affects postings made after the change, historical documents keep the number they were given
- Reading account type permission as a stored flag on this table and expecting to find it directly, when the enforcement happens at posting time in combination with the posting key, not as a simple readable indicator here
- Missing description text and concluding the document type is invalid or unconfigured, when the code in BLART is perfectly valid and only the language-dependent text entry is missing
- Treating a BRGRU-driven 'no authorization' error as an account determination or document type configuration bug, when it is purely an authorization assignment issue on the user side
- Assuming a document type can be deleted cleanly once no longer wanted: existing documents in BKPF still reference the old BLART, so removing or repurposing the code breaks historical reporting rather than cleaning it up
Whose problem this is
Document type strategy is an FI functional design decision, owned by the FI lead during blueprint and change control afterward, since adding or repurposing a type touches number ranges, authorization design, and downstream reporting. Basis is only involved for the number range object maintenance itself, not for the document type definition.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/t003ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.