Essential SAP Transaction Codes Every Consultant Should Know
SAP transaction codes (T-codes) are shortcuts that take you directly to a specific function within the SAP system. Instead of navigating through multiple menu levels, you type a code into the command field and you’re there.
When I worked as an SAP Specialist, transaction codes were part of my daily workflow. Whether I was processing invoices, checking material stocks, or debugging authorization issues — knowing the right T-code saved significant time.
This post is a practical reference organized by functional area.
Key Takeaways
- Use T-codes to bypass menus and stay fast under pressure.
- Learn the document flow (PR → PO → GR → Invoice) and most codes become intuitive.
- For authorization issues, start with
SU53; for runtime errors, start withST22.
Note: Transaction availability and screens can differ between SAP ECC and S/4HANA (and many processes are now Fiori-first). Treat this as a practical starting list and adapt to your system landscape.
What Is a Transaction Code?
A transaction code is a shortcut command in SAP ERP. You enter it in the command field (the input box at the top of the SAP GUI screen) and press Enter. Each T-code maps to a specific program or screen.
For example:
- Typing
VA01takes you directly to the “Create Sales Order” screen - Typing
MM03opens “Display Material” information - Typing
FB03shows a posted accounting document
You can also prefix a T-code with /n to open it in the current session or /o to open it in a new session:
/nVA01— opens Create Sales Order in current window/oVA01— opens it in a new window
Financial Accounting (FI)
Financial Accounting is the backbone of SAP. These T-codes handle general ledger, accounts payable/receivable, and financial reporting.
| T-Code | Description | When to Use |
|---|---|---|
| FB01 | Post Document | Create a general ledger posting manually |
| FB03 | Display Document | View details of a posted accounting document |
| FB08 | Reverse Document | Reverse an incorrectly posted document |
| F-02 | General Posting | Post entries to G/L accounts |
| F-28 | Incoming Payment | Record a customer payment |
| F-53 | Outgoing Payment | Record a vendor payment |
| FBL1N | Vendor Line Items | View all transactions for a specific vendor |
| FBL3N | G/L Line Items | View line items for a G/L account |
| FBL5N | Customer Line Items | View all transactions for a specific customer |
| FS10N | G/L Account Balance | Check the balance of a G/L account |
| FK03 | Display Vendor | View vendor master data |
| FD03 | Display Customer | View customer master data |
| FAGLB03 | G/L Account Balance (New) | Display balances in the new G/L |
| S_ALR_87012993 | Balance Sheet | Generate a balance sheet report |
Practical Tip
When investigating a discrepancy in financial reports, start with FBL3N to see individual line items in the G/L account. Filter by posting date and document type to narrow down the issue. From there, double-click any line item to jump to FB03 for the full document view.
Controlling (CO)
Controlling T-codes deal with internal cost management — cost centers, profit centers, internal orders, and profitability analysis.
| T-Code | Description | When to Use |
|---|---|---|
| KS01 | Create Cost Center | Set up a new cost center |
| KS03 | Display Cost Center | View cost center details |
| KSB1 | Cost Centers: Actual Line Items | View actual postings to cost centers |
| KO01 | Create Internal Order | Create an internal order for cost tracking |
| KO03 | Display Internal Order | View internal order details |
| KE30 | Profitability Analysis | Run CO-PA reports |
| S_ALR_87013611 | Cost Centers: Actual/Plan | Compare actual vs planned costs |
Materials Management (MM)
Materials Management covers procurement, inventory, and invoice verification.
| T-Code | Description | When to Use |
|---|---|---|
| MM01 | Create Material | Create a new material master record |
| MM03 | Display Material | View material master data |
| ME21N | Create Purchase Order | Create a new purchase order |
| ME23N | Display Purchase Order | View an existing purchase order |
| ME51N | Create Purchase Requisition | Request a purchase internally |
| MIGO | Goods Movement | Post goods receipt, goods issue, transfers |
| MIRO | Invoice Verification | Enter and verify vendor invoices |
| MB52 | Warehouse Stocks | View stock quantities by storage location |
| MMBE | Stock Overview | Check stock levels across all plants |
| ME2M | Purchase Orders by Material | List all POs for a specific material |
Practical Tip
The procurement cycle in SAP follows this flow:
ME51N— Purchase Requisition (internal request)ME21N— Purchase Order (sent to vendor)MIGO— Goods Receipt (material arrives)MIRO— Invoice Verification (vendor invoice matched)
Each step references the previous document. If an invoice doesn’t match the PO, MIRO will flag a variance — this is SAP’s three-way matching (PO, GR, Invoice).
Sales & Distribution (SD)
Sales & Distribution handles the order-to-cash process.
| T-Code | Description | When to Use |
|---|---|---|
| VA01 | Create Sales Order | Enter a new customer sales order |
| VA03 | Display Sales Order | View an existing sales order |
| VL01N | Create Delivery | Create an outbound delivery |
| VL03N | Display Delivery | View delivery details |
| VF01 | Create Billing Document | Generate an invoice for the customer |
| VF03 | Display Billing Document | View billing document details |
| VKM1 | Credit Management | Check customer credit status |
Order-to-Cash Flow
VA01— Sales OrderVL01N— DeliveryVF01— BillingF-28— Payment Receipt
Human Capital Management (HCM)
| T-Code | Description | When to Use |
|---|---|---|
| PA20 | Display HR Master Data | View employee personnel records |
| PA30 | Maintain HR Master Data | Edit employee data |
| PT61 | Time Statement | View employee time records |
| PC00_M99_CLSTR | Payroll Cluster | View payroll results |
Basis / System Administration
These T-codes are essential for SAP administrators, developers, and anyone who needs to troubleshoot system-level issues.
| T-Code | Description | When to Use |
|---|---|---|
| SU01 | User Maintenance | Create, change, or lock user accounts |
| SU53 | Authorization Check | See why a user got an authorization error |
| ST22 | ABAP Dump Analysis | Investigate short dumps (runtime errors) |
| SM37 | Job Overview | Monitor background jobs |
| SM21 | System Log | View system log entries |
| SE16 | Data Browser | View contents of any database table |
| SE38 | ABAP Editor | Open the ABAP program editor |
| SE80 | Object Navigator | Main development workbench |
| SM50 | Work Process Overview | Monitor active work processes |
| SM51 | Server List | View all application servers |
| STMS | Transport Management System | Manage transports between systems |
| SE09/SE10 | Transport Organizer | Manage change requests and transports |
Practical Tip
When a user reports “I don’t have authorization,” the first thing to check is SU53. It shows the exact authorization object and field value that failed. From there, you can either adjust the user’s role or request a role change from the security team.
For runtime errors, ST22 gives you the full ABAP dump with the exact line of code that failed, the variable values at the time, and the call stack. This is invaluable for debugging.
Cross-Module Useful T-Codes
| T-Code | Description |
|---|---|
| NACE | Output Control — Configure output types for printing, email, EDI |
| SPRO | IMG (Customizing) — Access all SAP configuration settings |
| SM30 | Table Maintenance — Maintain custom and standard table entries |
| SE11 | ABAP Dictionary — View/create database tables, data elements, domains |
| SOST | SAPconnect Send Requests — Monitor outbound emails and faxes |
Quick Reference: My Most-Used T-Codes
From my daily work as an SAP Specialist, these were the ones I reached for most:
- MIRO — Invoice verification was a core part of our automation work
- FB03 — Checking posted documents during reconciliation
- SE16 — Quick data lookups in any table
- SU53 — Debugging authorization failures for clients
- ST22 — Analyzing ABAP dumps when custom programs failed
- SM37 — Monitoring batch jobs that ran overnight
Final Thoughts
Transaction codes are the language of SAP. The more fluent you become, the faster you can navigate, diagnose, and solve problems. You don’t need to memorize all of them — but knowing the key codes in your functional area and understanding the document flow between modules will make you significantly more effective.
In a future post, I’ll write about SAP invoice processing automation patterns and how containerized APIs can replace manual workflows.
Have a T-code you use daily that I didn’t cover? Connect with me on LinkedIn — I’d love to hear about your SAP workflow.
Trademark Notice: SAP, SAP ECC, SAP S/4HANA, SAP GUI, SAP Fiori, and all SAP product names are registered trademarks or trademarks of SAP SE in Germany and in several other countries. This post is independent and not affiliated with, endorsed by, or sponsored by SAP SE. Transaction code descriptions reflect commonly known practitioner knowledge.