How to Actually Work With SAP FI Transaction Codes Without Losing Your Mind
Most people approaching SAP Finance look for a master list and expect it to work. It does not. Transaction codes vary by company code configuration, industry add-ons, release levels, and authorization roles. The same t-code can behave differently between two systems at the same client. I have spent years building reference sheets that are useless within three months because someone created a custom variant, renamed a field, or changed the posting key rules without telling anyone. The core SAP FI transaction landscape covers roughly eighty commonly used codes before you hit industry-specific or add-on territory. If you are just starting, focus on the ones that touch your daily work. You do not need to memorize all of them. I stopped trying around 2014.
Essential Sap Fi General Tcodes Transaction Codes Financial Reference
GL Account Master: FS00 is the standard transaction for creating and maintaining general ledger accounts. SKA1 pulls up the list view. You will use these constantly for new account setups, field status variants, and posting block configurations. A common mistake is posting to a new GL account without checking the field status variant first. The system will let you enter data that looks valid, then fail during month-end closing when the variant blocks a required field. I once spent four hours troubleshooting why a journal entry would not post. It turned out the field status variant had the "debit/credit indicator" set to display-only for a specific account group. The error message was cryptic enough that I initially suspected a kernel patch issue. Vendors and AP: FB60 handles vendor invoice entry. FBL1N displays vendor line items. MIRO is the standard for invoice verification against purchase orders. F-53 posts outgoing payments. A detail most beginners miss: the payment methods sequence defined in OPMQ controls which payment mediums are offered during F-53 processing. If a vendor has only one payment method configured but the system shows three options, you are looking at an OPMQ sequence issue, not a display bug. Also, the "clearing procedure" assigned to a vendor account in FS00 determines whether automatic clearing happens during payment. Getting this wrong means manual clearing work that piles up fast. Customers and AR: FB70 creates customer invoices. FBL5N is the line item display transaction. F-28 processes incoming payments. The payment proposal run via FBV0 is where things get complicated. It reads clearing criteria from the customer master, open item management settings, and payment terms. If your payment proposal returns nothing, check whether the customer has "open items managed separately" enabled. That setting changes how the proposal engine evaluates which items to include. I found a case where a company code had over two thousand unprocessed customer payments sitting in the system because the payment terms were set to "payment in advance" on a subset of customers, which the FBV0 engine skipped entirely. The fix was updating the payment terms on those specific accounts, not tweaking the program.
General Posting and Period Management: F-02 is the standard manual posting entry. F-15 handles periodic allocation postings. OB52 controls posting periods for each account type. OBBH defines the fiscal year variant. These are administrative transactions you configure, not use daily, but they break everything when misconfigured. A typical failure mode: someone opens a posting period for account type K (vendors) but forgets account type D (customers). Then AP can post but AR cannot, and the error messages do not make it obvious which account type is locked. I learned to check both simultaneously after my first time chasing this down at 6 PM on a Friday. Line Item Reports: FAGLB03 shows GL line items with extensive filtering options. FBL3N does the same for vendors with a different filter structure. S_ALR_87012284 is the standard G/L account line item report with more drill-down capability than FAGLB03. The difference matters when you need to trace a specific posting through multiple document splits or when you are investigating a reconciliation discrepancy that spans several fiscal periods. FAGLB03 limits its default date range in ways that can hide relevant documents. S_ALR_87012284 does not impose the same restriction. Payment Program: FBV0 runs the payment proposal. F110 is the actual payment run. These are separate transactions and confusing them is common. FBV0 generates the proposal. F110 executes it. You can review and modify the proposal in FBV0 before sending it to F110. The payment medium workbench (FIBF) is where you troubleshoot if a generated payment file fails to transmit to the bank. I have seen junior consultants spend an entire afternoon trying to debug F110 output when the actual issue was in the output type determination in NACE, not the payment run itself. The symptom looks identical: no payment file gets created.
Get the Full Details

Where This Approach Falls Apart
Transaction code knowledge does not transfer cleanly between implementations. One company code might use number ranges that auto-increment. Another uses manual numbering. One system has field status variants set to "optional" for certain GL accounts while another has them set to "required." The t-codes are the same. The behavior is different. There is no workaround for this except hands-on time in the target system and checking the configuration paths directly. Authorization roles create another hard boundary. A user without the appropriate auth object will see a blank screen or a short dump when entering certain t-codes. The error message is usually generic. Checking S_ADT shows whether the role includes the transaction with the correct activity level. This is not a configuration issue. It is a role design problem that requires coordination with the security team. Custom transaction codes appear in every implementation. A vendor might create ZFI_CUSTOM for a specific process. These do not appear on any standard reference list. You will encounter them when you start working and need to ask someone in the control room what the Z-code does. The documentation for custom codes is typically sparse or nonexistent.
The practical value of memorizing t-codes diminishes quickly. What actually matters is knowing how to find the right transaction for a task. The command field in SAP accepts wildcards. Typing "*GL*" and pressing enter shows every transaction containing GL in its name. This is faster than any reference list and always up to date with your specific system's configuration. I recommend keeping a personal list of the twenty-five to thirty codes you use regularly rather than trying to maintain a comprehensive catalog that goes stale within weeks.