S4F13 – Additional Financial Accounting (S/4HANA)

S/4HANA

Unit-by-unit study notes written from the course material. Every lesson of the course is covered in the same order as the original.

Unit 1: Automatic Payments

Unit objectives: Understand the end-to-end automatic payment process in SAP S/4HANA: the bank master data it relies on (banks, house banks, house bank accounts, business partner banks), the master-record and document fields that steer it, SEPA direct debit mandates, the full configuration in FBZP (company codes, payment methods, bank selection), and the run itself (parameters, proposal, payment run, payment media, scheduling), plus an outlook on the SAP digital payments add-on.

Lesson 1: Executing an Automatic Payment Run

Get the big picture of what the automatic payment program does and the five processing steps every payment run goes through.

Why a payment program?

Paying invoices one by one is not feasible for a company with thousands of open items. The payment program is SAP's mass-processing tool for payables (and for collecting receivables). It runs in Financial Accounting at intervals the business decides (daily, weekly, ...) and, from a set of open items, decides what is due, how it is to be paid, posts the payment documents, and hands the data to the print/DME/EDI programs that produce the payment media.

From a business point of view, the life cycle of an invoice in the payment process is: invoice is entered, open invoices are analysed for due date, due invoices are prepared for review, payments are approved or rejected, invoices are paid.

Characteristics

The five processing steps

  1. Maintain the parameters. The parameters answer: which open items are evaluated, which payment method(s), when payment is made (posting date), which company codes, and when the next run is scheduled (so items that would be overdue by then are included now).
  2. Schedule the proposal run. The system builds a list of business partners and open items that are due, grouped into payments.
  3. Revise the proposal. Clerks review it, drill into each proposed payment, change payment terms/discount, set or remove payment blocks.
  4. Schedule the payment run. After the list is verified (and the debit balance check performed), the payment documents are posted and G/L plus subledger accounts are updated.
  5. Schedule printing. A separate print step produces the payment media (forms, DME files, IDocs).
Key takeaways
  • The payment program is a mass-processing tool for AP and AR, outgoing and incoming payments, domestic and foreign.
  • It automatically selects items, posts payment documents and feeds the payment-media programs.
  • Sequence: parameters, proposal run, proposal editing, payment run, print run.
  • Nothing is posted until the payment run; the proposal is only a simulation that can be edited.

Lesson 2: Using Bank Accounts

Learn the bank master data the payment program needs: the bank directory, house banks, house bank accounts and their link to G/L accounts, and bank details of business partners.

Basic Cash Management capability

Customers without a licence for the full SAP Cash Management can still use a "basic cash management" scope (formerly called Bank Account Management light). Anyone running SAP S/4HANA Finance may use it. It lets a cash manager centrally:

The bank relationship management flow uses "direct revision activation": when a bank account is opened at the external bank, its data is created in S/4HANA in one harmonised step; the bank account master is identified as house bank information and tied to a G/L account in FI.

Manage Banks (bank directory)

Every bank that appears anywhere in the system (your own banks, your customers' and suppliers' banks) has one bank master record in the bank directory. The Fiori app Manage Banks is the central place to display/create/change this data. It stores address, risk and general data, lets you link house banks, contact persons and business partners to a bank, and supports bank hierarchies. A bank master record is uniquely identified by bank country + bank key. Report RFBKABL0 lists changes to bank master data.

House banks

A house bank is a bank at which your own company holds accounts. The house bank record carries the bank master data, data for electronic payment transactions, and the EDI partner profile / DME details. The payment program uses the house bank ID to decide from which bank to pay.

House bank accounts (Manage Bank Accounts app)

Each account is identified by house bank ID + account ID. The bank account master record offers: general data (account number, holder, IBAN, control key, customer-defined attributes), bank relationship data (internal and bank contacts, bank statement data), connectivity to house bank accounts in the central or remote systems, overdraft limits, multilingual descriptions and attachments.

To pay from an account, it must be assigned to a G/L account. Two approaches exist, chosen per house bank account through the master data:

ApproachG/L account typeRelationshipCharacteristics
Balance Sheet Account (classic)Balance Sheet Account1 : 1 between house bank account and G/L account; same currency requiredA new set of bank G/L account + bank clearing accounts is created for every new house bank account; house bank ID and account ID are entered in the G/L account master.
Bank Reconciliation Account (as of S/4HANA 2020)Cash Account, subtype B (Bank Reconciliation Account) for the bank account; subtype S (Bank Sub Account) for clearing accountsn : 1 — many house bank accounts share one set of G/L accountsOne reconciliation account plus one sub-account per payment method can be reused for any number of house bank connections; the reconciliation account is assigned in the sub-account master. Less reconciliation work between Cash Management and G/L, fewer G/L accounts over time.

Example from the course: a company paying through several domestic and several foreign banks needs only two sets of accounts — one reconciliation account with one clearing sub-account per payment method for all local house bank accounts, and the same for the foreign ones. No migration is forced: because the approach is set per house bank account, both approaches can run side by side and a company can move gradually.

Business partner bank accounts

When bank details are entered in a BP master record, you only type bank country and bank key; name and address come from the bank directory. If the bank does not exist yet, it can be created on the fly during BP maintenance. Other ways to get bank master data in: import a country's bank directory with program RFBVALL_0, or (lockbox users) a batch-input session that updates customer bank data.

Key takeaways
  • Bank directory entries are client-wide, keyed by bank country + bank key, and are reused in house banks and BP master records.
  • House bank ID + account ID identify a house bank account; the payment program pays from house banks.
  • Classic approach: 1:1 house bank account to balance-sheet G/L account. New approach: n:1 via Cash Account type with subtypes B (reconciliation) and S (sub-account).
  • Basic cash management is available without a Cash Management licence and covers bank/house bank/bank account maintenance plus cash position.

Lesson 3: Modifying Master Records and FI Documents

Identify the fields in vendor/customer master records and in FI documents that steer the payment program, and understand the relationships between accounts (customer/vendor clearing, alternative payer/payee, head office/branch).

Master record fields — client (general data) level

FieldRelevance for payments
Address (street, postal code/city, country)Country key drives checks such as postal code length and IBAN format.
Bank countryRules for validating the partner's bank data (account number format etc.).
LanguagePayment notices/checks can be printed in the partner's language if the form is translated; otherwise company code or form language is used.
Bank key / bank account numberIdentify the partner's bank and account.
IBANISO/ECBS standard account identifier, mandatory within SEPA (SAP Note 2115809 covers IBAN without account number/BIC).
SEPA mandateSigned authorisation needed for the SEPA direct debit method.
Bank details IDDistinguishes several banks of one partner; selected via the partner bank field in the invoice.

Master record fields — company code level

Customer/vendor clearing

If a business partner is both supplier and customer, payment and dunning can net the two accounts. Prerequisites: enter the customer number in the vendor general data and the vendor number in the customer general data, and tick Clearing with vendor / Clearing with customer in the company code data of both — so each company code decides for itself. Partner relationships can be listed with the apps Display Customer List / Display Supplier List or reports RFDKVZ00 / RFKKVZ00 (Account Control and Status selection).

Alternative payer / payee

An alternative payer (customer side) or payee (vendor side) can be maintained at client and at company code level; the company code entry wins. With the Payer/Payee in document indicator, a one-off payer/payee who is not in the system can be typed into the invoice; alternatively, existing accounts can be listed as permitted payers/payees in the master record and picked at document entry. Effect: the open item is cleared on the original account, but the money is collected from / paid to the alternative partner (classic example: payments to an insolvent vendor go to the bankruptcy administrator). Reports: same customer/vendor lists with the Payment Data selection.

Head office / branch

Some customers order locally through branches but pay centrally. Items posted to a branch account are automatically carried to the head office account, which is dunned and paid. If Local processing is set in the head office master, payment and dunning use the branch account instead. The head office of each branch is visible in RFDKVZ00 / RFKKVZ00.

FI document fields that influence payment

FieldBehaviour
Payment methodUsually blank (master data applies); if filled, it has priority.
Payment termsDefaulted from master record; can be overwritten at entry or later.
Payment blockDocument-level block affects only that item; master-level block affects all items.
Partner bankChooses which of several bank details of the partner to use.
House bankIf filled, the item is paid from this house bank.
Key takeaways
  • Payment-relevant master data lives at two levels: general (address, bank data, IBAN, mandate) and company code (terms, methods, block).
  • Document entries override master data for payment method, terms, block, partner bank and house bank.
  • Customer/vendor clearing requires cross-references in both general data and the clearing flags in both company code segments.
  • Alternative payer/payee: company code entry beats client entry; head office/branch: items flow to the head office unless local processing is set.

Lesson 4: SEPA Direct Debit

Understand what a SEPA direct debit is, the role of the mandate, and how SAP mandate management supports it.

SEPA Direct Debit (SDD)

SDD is the instrument for collecting euro amounts throughout the SEPA area from accounts that accept collections. Both debtor and creditor need an account at a bank located within SEPA. The creditor initiates the collection via its own bank, based on an agreement with the debtor; the debtor's authorisation for the creditor and the debtor bank is the mandate.

SEPA mandates

The mandate form contains field identifiers followed by space for the data. Identifiers must be in at least one language of the debtor's country of residence; if the creditor cannot determine the language in advance, English identifiers are added. The creditor can personalise the layout. In SAP, mandate management derives most fields from the customer and company code master data, assigns the mandate reference from a mandate-specific number range, and records in the Type of payment field whether the mandate covers a one-off or recurring collection.

Key takeaways
  • SDD collects euro only, within SEPA, and requires a mandate from the debtor.
  • Pre-notification 14 days ahead (one notification suffices for recurring equal amounts).
  • SAP mandate management fills most mandate data automatically and numbers mandates from a dedicated number range.

Lesson 5: Configuring the Payment Program

Learn the structure of payment program configuration (FBZP) and the settings for all company codes, paying company codes, and payment methods per country and per company code.

Configuration entry points

Transaction FBZP (Maintain Payment Program Configuration) presents one button per configuration area; working through the buttons top to bottom guarantees completeness. The same activities are in the IMG under Financial Accounting → Accounts Receivable and Accounts Payable → Business Transactions → Outgoing Payments → Automatic Outgoing Payments → Payment Method/Bank Selection for Payment Program. The first areas (company codes, paying company codes, payment methods per country) normally need little change because SAP delivers many country payment methods with forms.

All company codes

SettingMeaning
Sending company codeThe company code on whose behalf payment is made; if empty, the paying company code is also the sender.
Paying company codeThe company code that actually processes the payment transactions.
Cash discount: minimumDiscounts below this percentage are ignored; the item waits until net due date.
Cash discount: maximumAlways take the highest discount, even if its period has passed.
Tolerance days for payablesNumber of days by which discount and net periods may be exceeded (grace days); items can slip to the next run while keeping the discount.
Special G/L transactions to be paidWhich vendor/customer special G/L indicators (e.g. down payments) the payment program may process.
Payment method supplementOptional 2-character code assigned in master records and copied to line items, used to sort and print payments separately.

Paying company codes

Payment methods — country level

For each country you define the valid methods (check, bank transfer, direct debit, ...). Each method specifies: payment type (outgoing/incoming), classification characteristics, master record requirements that must be met (e.g. bank details present), document types for payment and clearing documents, payment medium format for the Payment Medium Workbench, and permitted currencies (empty list = all currencies allowed).

Payment methods — company code level

SettingEffect
Minimum / maximum amountPayments outside the range are excluded from the run for this method.
Foreign business partner allowedPartners with a foreign address may use the method.
Partner bank abroad allowedPartner bank in another country may be used.
Foreign currency allowedPayments in foreign currency permitted.
Single payment for marked itemsItems carrying this method explicitly are paid one by one; items without method can still be grouped.
Payment per due dayOnly items due on the same day are combined into one payment.
Bank group optimisationPrefer a house bank in the same clearing system (ACH) as the partner bank.
Postal code optimisationChoose the house bank by the partner's postal area (banks assigned to postal code ranges).
Forms for payment mediaSAPscript/PDF form name for the medium.

These company-code-specific settings may differ from one company code to another for the same method.

Key takeaways
  • FBZP bundles all payment program customizing; work through it top to bottom.
  • Company code settings: sender/payer relationship, discount limits, tolerance days, special G/L indicators, supplements.
  • Paying company code: minimum amounts, forms, bill of exchange control.
  • Payment methods are defined per country (type, requirements, document types, PMW format, currencies) and refined per company code (amount limits, foreign payments, grouping, optimisation, forms).

Lesson 6: Configuring the Bank Selection

Configure how the payment program chooses the paying house bank and account: ranking order, available amounts, accounts, value dates and charges, including the differences under the bank reconciliation account approach.

Bank selection folders

The Bank Selection (bank determination) screen of FBZP is organised in folders per paying company code: ranking order, amounts, accounts, charges and value date. The configuration is complete when all are maintained.

FolderMaintained perContent
Ranking orderPayment method (+ optional currency)Sequence in which house banks are tried; currency (blank = all); house bank ID; bill of exchange bank account.
AmountsHouse bank + payment methodAvailable funds at each bank (Available Amounts screen) — the program does not pay more than this.
AccountsHouse bank + payment methodBank sub-account (offsetting account for the subledger posting under the balance sheet approach) and bill of exchange clearing accounts.
Value dateHouse bank + payment methodDays until value date, used for cash management/forecast: value date = payment posting date + days. Example: transfers debited the next day get 1.
Expenses/chargesHouse bank + payment methodBank charges for incoming/outgoing payments (mainly bills of exchange); charges are deducted from incoming and added to outgoing clearing amounts and posted to an expense account via a predefined posting key/account assignment; the account must be flagged relevant to cash flow.

Account determination with the Bank Reconciliation Account approach (self-initiated payments)

When the bank account uses the Cash Account approach, the bank sub-account is no longer taken from the ranking order/accounts folders (IMG: ... Payment Method/Bank Selection for Payment Program → Set Up Bank Determination for Payment Transactions). Instead:

  1. Define account symbols for self-initiated payments in Financial Accounting → Bank Accounting → Business Transactions → Payment Transactions → Electronic Bank Statement → Make Global Settings for Electronic Bank Statement.
  2. Assign an account symbol to country + payment method under ... Automatic Outgoing Payments → Payment Method/Bank Selection for Payment Program → Assign Account Symbol to Payment Methods.
  3. In the EBS global settings, assign G/L accounts to the symbols using masked entries. The clearing account is derived from the G/L account in the house bank account data combined with the mask — e.g. bank account 11000000 and mask +++++++020 give clearing account 11000020.
Key takeaways
  • Bank determination = ranking order, available amounts, accounts, value date, charges per paying company code.
  • Available Amounts (not Ranking Order) holds the funds per bank.
  • Value date = posting date + days until value date; it drives cash management.
  • Under the reconciliation account approach the clearing account comes from account symbols and masked G/L accounts, as in electronic bank statement customizing.

Lesson 7: Running the Payment Program

Maintain payment run parameters, run and read the payment proposal and exception list, understand payment blocks and edit the proposal.

Payment run parameters

A run is identified by run date + identification (several runs per day are possible). The parameters needed before anything can start:

Proposal run

  1. Open items are selected according to the parameters.
  2. Items are grouped into payments; payment method and bank details are assigned.
  3. Items for which no valid method or bank data can be found go to the exception list.
  4. Proposal and exception lists are generated for online review or export.

A vendor item is proposed if, by the next run date (including tolerance days), its discount period will have expired, it would only receive a lower discount, or its net due date will have passed.

The proposal list shows partners and amounts (document numbers and discounts depending on line layout) and allows drill-down to change items. The exception list contains items that matched the parameters but cannot be paid; the additional log explains why.

Payment blocks

Where setEffect / control
Invoice verification (MM)Block can be configured so it can only be lifted within invoice verification.
Master recordBlocks all invoices of the partner; may be configured to require manual removal in the master record.
Document entry (AP invoice)Block reason decides whether it may be removed while editing the proposal.

Additional block reasons can be defined, each with a flag whether it can be changed during payment proposal processing. The debit balance check after the proposal automatically blocks accounts with a debit balance.

Editing the proposal

From the list of proposed payments a clerk can: display the open items in a payment, change payment block and cash discount per item, reassign an item to another existing payment, or create a new payment with a different method/house bank. The saved proposal is then the basis for the actual payment run, in which documents are posted, items cleared and G/L/subledgers updated.

Key takeaways
  • Run date + identification identify a run; posting date and entry-until date default to the run date.
  • Only company codes of one country per run; payment method order = priority.
  • The next run date decides whether an item is paid now to avoid losing discount or becoming overdue.
  • Exception list + additional log explain unpayable items; blocks can originate from MM, master data, documents or the proposal.

Lesson 8: Executing a Payment Run

Understand what the payment run posts, how bank sub-accounts and payment documents work, how the Payment Medium Workbench creates payment media, and how to schedule runs automatically.

The payment run

Until the payment run nothing has been posted; the items in the proposal are locked so they cannot be paid manually or in another run. The payment run then: posts payment documents and clears the open items, posts related items (taxes, discounts, exchange rate differences), identifies payments for EDI, and hands the data to the media creation/print programs.

Country note: where payment documents may only be posted once the bank has settled, the payment method flag Generate payment order only produces a payment order instead; the payment document is created when the order appears on the bank statement, and the items stay blocked for other clearing in the meantime.

Bank sub-accounts

Separate sub-accounts per flow (outgoing checks, outgoing transfers, incoming checks, incoming transfers) hold the payments until the bank actually debits/credits the account (value date); the bank statement (manual or electronic) then moves them to the main bank account. Benefit: the bank G/L account can be reconciled with the bank at any time.

The payment document

Payment media and the Payment Medium Workbench

The print run transfers forms, advices and payment summary to print administration, DME data to DME administration and creates IDocs for EDI payments. The PMW is the uniform, generic payment medium program: variants per format are set in Customizing, formats can be changed or created (with the DME Engine, without ABAP), all advices come out in one print file with better sorting, the note to payee is freely defined and assigned per origin and method, and mass performance is improved.

PMW process: SAPFPAYM_SCHEDULE performs the pre-service (sorts payments by format, builds payment groups according to granularity, generates notes to payee), then SAPFPAYM creates the media, accompanying sheets, error log and payment summary, and RFFOAVIS_FPAYM creates advice notes and zero-balance notices. Mapping of system data into the format is done by function modules or by the DME Engine, which lets you build bank-specific file formats where no standard exists.

Granularity: the format defines which fields split the output into payment groups (one file per group) — e.g. company code + house bank gives one file per combination. At least one SAPFPAYM variant per payment group is required. Delivered formats' granularity can be refined but not coarsened.

Note to payee: every PMW format has three reference text types — invoice information (classic note), internal reference (for returned media), external reference (for the partner). Contents come from a format-independent, language-specific content template defined in Customizing or via function module.

Automation

The Fiori app Schedule Accounts Payable Jobs with template "Automatic Scheduling of the Payment Program" lets you define scheduling options (recurrence) and the payment run parameters, so runs happen without manual triggering.

Key takeaways
  • The payment run posts, clears and feeds the media programs; items are locked from proposal until posting.
  • Bank sub-accounts bridge the gap between payment posting and bank statement.
  • PMW: SAPFPAYM_SCHEDULE → SAPFPAYM + RFFOAVIS_FPAYM; formats via DME Engine; granularity defines payment groups/files.
  • Payment runs can be scheduled recurrently through Schedule Accounts Payable Jobs.

Lesson 9: Explaining Digital Payments

Describe the SAP digital payments add-on: its purpose as a payment hub to payment service providers, its architecture, and the end-to-end credit card payment scenario.

Purpose

The add-on connects SAP (and non-SAP) consumer applications with external payment service providers (PSPs) for secure end-to-end processing of digital payments, mainly incoming credit card payments. It allows credit card payment methods in S/4HANA for incoming payments, covering tokenised settlement, PSP advice and bank statement automatically. A contract with the chosen PSP is required.

It also handles external payments (online/mobile payment systems rather than cards), either as one-step "direct capture" (charge without prior authorisation) or two-step "charge with authorisation".

Architecture

End-to-end example (S/4HANA Cloud for Customer Payments)

  1. Card registration: the customer logs on and stores a card; later pays open items by card.
  2. Payment run: the AR accountant clears the invoice via automatic or manual credit card payment.
  3. Settlement: settled card payments get status In Transfer; the message goes to the PSP and on to the clearing house, whose reply updates the settlement status automatically.
  4. Advice: the credit card advice records taxes/charges in the cash position as a memo item.
  5. Bank statement: standard FI-AR processing; because statements are highly aggregated, the advice is what gives Finance the detail.
Key takeaways
  • The add-on is a cloud payment hub between S/4HANA consumer apps and PSPs, integrated in SAP's roadmaps (not loosely coupled).
  • Supports card payments and external payments (direct capture or charge with authorisation).
  • Flow: registration → payment → settlement → advice → bank statement.
Practice This unit has no hands-on exercises in the course text; it closes with a learning assessment. Points tested: the payment program posts payment documents automatically; bank master records are client-level; customer/vendor clearing is possible; company code level alternative payer/payee beats client level; SDD is euro-only; payment program configuration covers paying company codes, payment methods per company code and house banks; Available Amounts (not Ranking Order) lists funds per bank; value date = posting date + days; one country per run; reasons for non-payment include debit balance, invalid house bank and amounts below the minimum; the exception list is reviewable before the payment run; the run posts to G/L and subledgers, clears items and feeds print programs; the run ID is in the document header text.

Unit 2: Dunning Program

Unit objectives: Understand how SAP S/4HANA reminds customers (and debit-balance vendors) of overdue items automatically: the four-step dunning process, the master-record and document fields that steer it, the complete configuration of a dunning procedure (levels, charges, minimum amounts, texts, special G/L, environment), and the detailed logic of a dunning run from account selection through proposal editing to printing.

Lesson 1: Executing the Dunning Program

Get an overview of what dunning is for and the four steps of the automatic dunning process.

Why dunning?

When a customer does not pay by the net due date, the company sends reminders: a first, friendly one, followed by increasingly firm notices. S/4HANA automates this. The dunning program looks at customer and vendor accounts whose overdue items produce a debit balance, selects the overdue open items, determines the dunning level of the account and produces a dunning notice. Vendors can be dunned too, typically when a credit memo leaves them with a debit balance. If a partner is both customer and vendor, the two balances can be offset against each other before dunning.

The four steps

  1. Maintain parameters — define how the run behaves; parameters can be copied from an earlier run and only the dates adjusted.
  2. Schedule the dunning run — the program determines accounts and items to dun, dunning levels and all other data, and decides whether a payment reminder or a dunning notice is needed. Everything is stored in one dunning proposal.
  3. Change the dunning proposal — the proposal can be edited, deleted and regenerated as often as necessary.
  4. Start the printout — notices are printed (or e-mailed) and, in the same step, the dunning data in master records and documents is updated.

It is also possible to print directly after the run without touching the proposal.

Key takeaways
  • Dunning = automatic reminders for overdue items on accounts with a debit balance; customers and vendors alike.
  • Parameters → dunning run (proposal) → edit proposal → print and update data.
  • The proposal is editable and repeatable; master data is updated only at printing.

Lesson 2: Updating Master Records and FI Documents

Know the fields in the business partner master and in FI documents that control whether and how an account is dunned.

Master record fields (general and company code level, Correspondence tab)

FieldRole in dunning
Address (street, postal code/city, country)Needed for the notice; the country key controls format checks.
LanguageNotice can be produced in the partner's language if the form is translated.
Payment termsDetermine due dates and therefore days in arrears.
Payment methods (incoming)If an incoming payment method is set, the item is normally not dunned — the payment program collects it.
Dunning procedurePredefined procedure that says how the partner is dunned; without one, the account is never dunned (there is no default procedure).
Dunning blockBlocks the whole account.
Last dunnedDate of the last run including the account; compared against the dunning interval during account selection.
Dunning levelHighest level of all dunned items; set automatically when a notice is produced.
Dunning clerkResponsible person; name printed on the notice.
Dunning areaOptional sub-structure of the company code with its own responsibility/procedure; notices are created separately per area.

FI document fields

At line-item level you can maintain the dunning area, dunning key (restricts the maximum level or forces separate display), dunning block (blocks only this item) and payment terms (drive the item's due date).

Key takeaways
  • No dunning procedure in the master record means no dunning at all.
  • Last-dunned date and dunning level are updated by the print step and read by the next run.
  • An incoming payment method on an item/account suppresses dunning unless a payment block exists.
  • Document-level: dunning area, dunning key, dunning block, payment terms.

Lesson 3: Configuring the Dunning Program

Walk through every part of a dunning procedure — general settings, levels, charges, minimum amounts, texts and special G/L transactions — and the surrounding environment settings.

Configuration structure

The dunning configuration menu shows one icon per area: dunning procedures, dunning levels, expenses/charges, minimum amounts, dunning texts, special G/L indicator. Work left to right. SAP delivers common procedures with forms; copying one and adjusting the company-code-specific parts is usually enough.

Dunning procedure — general settings

SettingMeaning
Dunning procedure key / nameIdentifier (e.g. 1001) and description.
Dunning interval in daysMinimum days between two dunning runs for an account. Last-dunned date + interval must be reached, otherwise the account is skipped even with overdue items.
Number of dunning levelsHighest level of the procedure (maximum 9).
Total due items from dunning levelFrom this level on, all items are totalled (e.g. German court orders require receivables dunned at least three times).
Minimum days in arrears (account)At least one item must be this many days overdue for the account to be dunned at all.
Line item grace periodDays added to the due date before an item counts as dunnable.
Interest indicator / Ignore interest indicator in masterWhich interest calculation applies; the flag forces the procedure's indicator over the master-record one (no indicator + flag = no interest).
Public holiday calendarKeeps computed dates off weekends/holidays.
Standard transaction dunning / Dun special G/L transactionsWhether normal items and/or special G/L items (down payments etc.) are dunned; standard transactions is the default.
Dunning even if account balance is positiveProduce notices for credit-balance accounts too; default is debit balances only.
Reference dunning procedure for textsTake form names from another procedure (normally one with the same number of levels); blank = own procedure.

Dunning levels (up to nine)

SettingMeaning
Days in arrearsProposed automatically: level 1 = grace period, each further level = previous level + dunning interval. Can be overwritten (not recommended).
Calculate interestInterest computed for items at this level.
Print all itemsAlso list items not (yet) dunned so the partner sees the whole balance; ineffective if separate notices per level are used, because not-yet-due items could not be assigned.
Always dunSend a notice even if the proposal has not changed since the last run; typical for the highest level and for payment reminders. "Changed" means an item moved to another level, a new item joined, or the account level changed.
Payment deadlineDays added to the issue date to print a pay-by date.
Always dun in legal dunning procedureFor accounts in legal dunning, produce a notice even without new account movements.

Expenses / charges

Per procedure and currency, charges are defined by dunning level: fixed amount or percentage of the dunned amount, optionally with a minimum charge; the charges can be printed on the form via text variables.

Minimum amounts

To stop trivial amounts from escalating to high levels, each level has a minimum amount and/or minimum percentage of the overdue items, plus a minimum amount before interest is calculated. If a level does not reach its minimum, its items drop to the next lower level and the check repeats there.

Dunning texts

Per procedure and level you name the form; the program can produce dunning notices, payment advices and payment forms using SAPscript, Smart Forms or Adobe PDF forms.

Special G/L transactions

Special G/L transactions (down payments, bills of exchange, guarantees...) are shown separately in the balance sheet or for internal reasons. The procedure offers a list of special G/L indicators; tick those that should be dunned.

Environment settings

SettingContent
Company code dataDun by dunning area instead of by account (master data then updated per area); option for a separate notice per dunning level with its own texts instead of one notice for all levels.
Sort fieldsSort variants for notices and for the items inside them.
Sender detailsCompany data for the footer (logo, bank details), as standard texts assigned per company code (and optionally per dunning area).
Dunning areasOrganisational sub-units of a company code responsible for dunning.
Dunning keysRestrict an item's maximum level or print it separately.
Dunning block reasonsReasons used to block accounts/items.
InterestInterest rates on debit balances, currency- and time-dependent.
Dunning groupingGrouping key combining items with identical content in selected document fields (e.g. items of one rental agreement).
Key takeaways
  • Six configuration areas: procedure, levels, charges, minimum amounts, texts, special G/L.
  • Dunning interval, grace period and minimum days in arrears together decide when an account/item is dunnable.
  • A procedure has at most nine levels; days in arrears per level are derived from grace period + interval.
  • Minimum amounts push small overdue totals down a level; charges and interest can depend on the level.
  • Environment: dunning areas, keys, block reasons, interest, grouping, sort fields, sender texts.

Lesson 4: Running the Dunning Program

Follow a dunning run in detail: parameters, the three internal steps (account selection, line-item dunning, account dunning), due-date and clearing rules, proposal editing, and printing with grouping options.

Parameters

A run is identified by run date (recommended but not required to be the execution date) and identification. The open item selection parameters say which company codes, documents and accounts are scanned. An additional log can be switched on to trace the run, but only for test/training because it is resource-hungry. Parameters can be copied from earlier runs.

The dunning run

The run produces a proposal that can be edited, deleted and recreated. Printing can be triggered immediately after the run, at the cost of not being able to edit. Internally there are three steps:

  1. Account selection. An account qualifies if it has a dunning procedure and its last-dunned date plus the dunning interval has been reached.
  2. Dun line items. For each selected account, overdue items are identified and given a dunning level.
  3. Dun account. The program decides whether the account must be dunned at all and at which level.

Due dates

ItemDue date for dunning
ReceivableNet due date.
Invoice-related credit memoSame as the invoice; its own payment terms are ignored unless V is entered in the invoice reference field.
Other credit memoBaseline date.

Clearing with credit memos and vendor items

Due credit items are netted against due debit items, starting with the debit items of the highest dunning level. If customer/vendor clearing is active (same dunning procedure on both), due vendor credits are netted as well. After netting, the account must still have a debit balance to be dunned — unless the procedure flag "dun even if balance positive" is set. Each notice must have a debit balance; cleared items are listed on the notice.

Dunning date, grace period, blocks and payment methods

Determining dunning levels

Is a notice necessary?

An account is dunned only if the dunning data changed since the last run or the level has the Always dun flag (normal for the last level and for payment reminders). Accounts with a legal dunning procedure start date in the master record follow a different rule: they are dunned if postings occurred since the last run or Always dun in legal dunning procedure is set; the output is an internal note on a special form for the legal department rather than a letter to the customer, and the flag makes sure items posted before the legal procedure started are not overlooked.

Editing the proposal

Supporting lists: dunning statistics, dunning list, blocked accounts, blocked line items, dunning history; a sample printout can be previewed. The clerk can block/unblock accounts and items in the proposal and lower an item's level. Changes to master data or documents do not affect the current run — the proposal must be deleted and recreated. A proposal that will not be printed must be deleted, otherwise its items stay locked for other dunning runs.

Printing

The print program groups items into notices, generates one notice per group, and writes dunning date and level into items and accounts, printing in the order given by sort criteria. For one-time customers only the item data is updated. SAP Note 6591 describes how to undo dunning data changes.

Grouping rules: items go on the same notice when company code, dunning area and account match (one-time accounts: same address). Special groupings:

Payment forms and advices: a bank transfer form (Germany) or ESR form (Switzerland) can be attached or printed on a separate page (requires a form window or separate form); the notice may contain only company code currency items. The payment program can create a payment advice (type 08, 10-digit number starting with 08, type must be configured) listing the dunned items so the incoming payment can be assigned; its number can be printed on notice and form.

Key takeaways
  • Three run steps: account selection (procedure + interval), line-item dunning (level by arrears), account dunning (debit balance, minimum days, changed data or Always dun).
  • Reasons for not dunning overdue items: not in parameters, within grace period, dunning block, incoming payment method without block, below minimum amount, netted by credit items, account minimum days not reached.
  • Credit memos: invoice-related = invoice due date (unless V), others = baseline date.
  • Only changes made inside the proposal count for the current run; printing updates master records and documents.
  • Grouping: company code + dunning area + account, with options per level, grouping key, local processing and cross-company-code dunning.
Practice No hands-on exercises are included for this unit; the learning assessment checks: notices can be printed right after the run; step order parameters → run → edit → print; no default dunning procedure; vendors can be dunned; incoming payment methods suppress dunning; configuration objects are levels, charges, minimum amounts (not bank selection); charges per currency and level; run date need not be the execution date; maximum nine levels; dunning keys cap levels; credit memo due-date rules; only one item needs to exceed the account minimum days; the dunning run (printing) updates dunning data; proposal edits can be repeated; master data changes after proposal creation are ignored in the current run.

Unit 3: Correspondence

Unit objectives: Understand how SAP S/4HANA produces formal written communication with customers and vendors (account statements, payment notices, letters, document extracts): the master-record fields involved, periodic versus online versus posting-triggered correspondence, and how correspondence types, print programs, transactions and reason codes are configured.

Lesson 1: Explaining Correspondence

Define correspondence and explain why a company automates it.

What correspondence is

Correspondence is any formal communication between the company and a customer or vendor that relates to the financial transactions recorded in the system. The correspondence function can automate most periodic mailings, run on demand, or be triggered automatically after specific transactions (for example a payment with a difference). Typical outputs: account statements, open item lists, individual letters, standard letters, balance confirmations and document extracts. Output can be printed or sent electronically (e-mail).

Why it matters

Correspondence formally performs and documents communication with third parties. By sending a partner your view of the account, you verify that both sides have a consistent picture of all transactions, so errors and misunderstandings surface early and can be corrected proactively.

Key takeaways
  • Correspondence = formal, documented communication about FI transactions with business partners.
  • It can be periodic, on demand, or event-driven; printed or e-mailed.
  • Purpose: reconcile the company's view of the account with the partner's and catch discrepancies early.

Lesson 2: Modifying Master Records

Identify the fields in the customer/vendor master record that correspondence uses.

Structure of the account segments

The master record is split into general data (address, control data, payment transactions) and company code data (account management, payment transactions, correspondence, insurance, withholding tax). Correspondence draws on both.

FieldUse
Address details (street, postal code/city, country)Destination of the letter; the country key drives checks on postal code and bank account formats.
Communication – languageLetters (and dunning notices) are produced in the partner's language if the form has been translated.
Account statement indicator (company code data)How often a periodic account statement is produced; groups of customers can get weekly or monthly statements.
Accounting clerkName printed on correspondence such as open item lists.
Account number at customer/vendorThe number under which the partner records your company, printed for the partner's reference.
Key takeaways
  • Address and language come from general data; statement frequency, clerk and "your account number with us" from the company code segment (Correspondence tab).
  • The account statement indicator is what makes periodic statements possible at different intervals per customer group.

Lesson 3: Configuring Options for Correspondence Types

Distinguish the ways correspondence can be triggered and the two-step request/print process.

Ad-hoc versus automatic

Ad-hoc (user-triggered)Automatically generated
During document creation, line item display/change, balance display, line item processing, paymentPeriodic account statements, balance confirmations

Three kinds of correspondence

The creation process

  1. Request. The system records which correspondence types are to be produced (a correspondence request).
  2. Print. Periodic correspondence (dunning letters, account statements) is printed at a fixed rhythm (daily, weekly); individual requests can be printed on demand. The print request goes to the spool and then to the chosen printer, or is transmitted electronically (e-mail).
Key takeaways
  • Correspondence is periodic (master record interval), online (manual payment / line item display) or posting-driven (Customizing, e.g. payment differences).
  • Creation always has two steps: request, then print/send.

Lesson 4: Creating a Correspondence

Configure correspondence types, their print programs and variants, and link them to online transactions and to payment-difference reason codes.

Correspondence types

A correspondence type represents one kind of letter; every letter you need requires its own type. Users can choose a type manually during a transaction, or rules can pick it automatically. SAP delivers standard types; to adapt one, copy it first, because standard types are overwritten by upgrades.

Standard typeLetterRequired dataPrint program
SAP01Payment noticeDocument numberRFKORD00 / RFKORD00_PDF
SAP06Account statementAccount number and dateRFKORD10 / RFKORD10_PDF
—Bill of exchange charges statementDocument numberRFKORD20
—Internal documentDocument numberRFKORD30 / RFKORD30_PDF
SAP10Individual letterAccount numberRFKORD40 / RFKORD40_PDF
—Document extractDocument numberRFKORD50 / RFKORD50_PDF
—Customer statementAccount number and dateRFKORD11 / RFKORD11_PDF
SAP14Open items list——

Properties of a correspondence type: which data is required (account number, document number), whether additional free text may be added to the form, whether the type may be used cross-company-code (requires assigning company codes to a correspondence company code in Customizing), and how many date fields are needed. Required data is either typed by the user or derived automatically once the type is chosen. Payment notices, account statements, bill of exchange charges statements, internal documents, individual letters and document extracts can be used in all company codes.

Print program and variant

Each correspondence type gets a print program and a selection variant (per company code if desired); the variant also selects the printer. A type can have several form letters distinguished by form ID; the form ID is placed in the variant so the correct form is printed. Forms can be adapted with logo, address and additional text.

Linking to transactions

You define which correspondence types are offered in which online functions (e.g. payment notices in payment transactions; account statements in document entry, payment processing, document display/change and account editing). This assignment also makes new types visible in the Fiori app Create Correspondence. Assignments can be company-code-specific; if none exists for a company code, the company-code-independent entries apply.

Linking to reason codes (payment differences)

For each tolerance group you can set a default correspondence type for payment differences:

Decision logic: the reason-code type is used only if all reason codes in the document point to the same type. If line items carry reason codes with different types, or reason codes without a type, the system falls back to the type of the tolerance group.

Example from the course: tolerance group type SAP01; a customer pays part of an invoice two months late. During manual processing you create a residual item with a reason code and request SAP01, post the document, then process the correspondence request — the system prints the payment notice from master data and line item information.

Key takeaways
  • One correspondence type per letter type; copy standard types (SAP01 payment notice, SAP06 account statement, SAP10 individual letter, SAP14 open items list) before changing them.
  • Print programs RFKORD00…RFKORD50 (plus _PDF variants) are assigned with a selection variant that carries the form ID and printer.
  • Types must be linked to transactions to appear online and in the Create Correspondence app.
  • Payment-difference notices: reason-code type wins when unambiguous, otherwise the tolerance-group type.
Practice No exercises are included for this unit; the learning assessment confirms that correspondence formally documents communication with third parties, that payment notices are customer correspondence, that correspondence can be created online during manual payment processing or from the line item display, that mixed reason-code types in one document fall back to the tolerance group type, and that a single reason code with an assigned type (e.g. DDG damaged goods) uses the reason-code type.

Unit 4: Special General Ledger Transactions

Unit objectives: Understand why certain AR/AP transactions (down payments, bills of exchange, guarantees, value adjustments) are posted to alternative reconciliation accounts, distinguish the three special G/L classes and the three special G/L types, follow the down payment and individual value adjustment procedures, configure special G/L indicators and account determination, and see how down payments integrate with purchasing (MM) and sales (SD).

Lesson 1: Managing the Application View for Special G/L Transactions

Explain the concept of special G/L transactions, their classes and types, and work through the business processes for down payments, individual value adjustments and guarantees of payment.

Reconciliation accounts

Every customer or vendor master record holds a reconciliation account in its company code segment. Each subledger posting (invoice, credit memo, payment) is simultaneously posted to this G/L account, so totals for receivables and payables are available in the general ledger at any time and financial statements can be produced without reading the subledger. The reconciliation account number appears in the FI document, and its transaction figures are updated with each posting.

Alternative reconciliation accounts

Some AR/AP transactions must be shown separately in the G/L and subledger — for internal reasons or for reporting rules; for instance, down payments may not be shown in the balance sheet together with trade receivables/payables. When a line item is posted with a special G/L indicator, the system does not use the reconciliation account from the master record but an alternative reconciliation account (special G/L account) assigned in Customizing. These postings are called special G/L transactions.

Special G/L classes (business purpose)

ClassContent
Down paymentsPreconfigured programs and screens for requested, received and applied down payments; integrated with dunning and payment programs.
Bills of exchangeCountry-specific handling with preconfigured programs and screens in the AR/AP menus.
Other transactionsAny other business transaction handled through Document Entry → Other; the indicator controls the processing.

Special G/L types (technical posting behaviour)

TypeBehaviourExample
Automatic offsetting entry (statistical)Offsetting entry always goes to a fixed clearing account defined in Customizing; items are cleared automatically when the partner item is cleared; shown only in the notes to the financial statements (or not at all).Guarantee of payment made
Noted itemOne-sided line item, no offsetting entry, no zero-balance check, no transaction figures updated; a reminder for the department; processed by payment and dunning programs; managed as open items on AR/AP and special G/L accounts (the special G/L account balance stays zero).Down payment request, bill of exchange payment request
Free offsetting entryReal posting that is part of the financial statements; the alternative reconciliation account is debited/credited automatically, and the user enters the offsetting G/L account.Bank posting of a received down payment

Example of a statistical posting: you guarantee EUR 10,000 for a customer. The liability appears on the customer account and on the special G/L account "guarantees of payment made", with the automatic offsetting entry on the clearing account for guarantees made. When the liability ends, the guarantee is cancelled (reversed). Guarantees made are reported in the notes; guarantees received are not displayed.

Example of a free offsetting entry: the customer answers a down payment request by paying EUR 11,000. The payment is recorded on the customer account and on the alternative reconciliation account "down payments received"; the bank account to be debited is chosen during entry. Because the customer paid before the service was delivered, the amount is a payable, so it must not touch the receivables reconciliation account; the special G/L account is reported under payables. After invoicing, the down payment is transferred/cleared.

Down payment procedures

Customer side:

  1. Down payment request (noted item; no balance change; can be dunned and collected automatically — collection authorisation needed).
  2. Down payment received (shown as a payable on the "down payments received" alternative reconciliation account).
  3. Customer invoice for the goods/services.
  4. Down payment cleared against the invoice — it ceases to be a down payment and becomes a payment on the normal reconciliation account.
  5. Remaining balance is paid and cleared.

Vendor side: post the down payment request, enter the down payment made, receive the vendor invoice, clear the down payment, clear the final payment. Vendor down payment requests exist so that the payment program can execute down payments.

Individual value adjustment

At year-end, disputed or doubtful receivables are recorded as individual value adjustments. Because the entry hits both the customer account and the special G/L account "individual value adjustments for receivables", the special G/L procedure applies:

  1. The receivable exists on the customer account.
  2. The adjustment (without tax) is posted; the expense lands on "expense for individual value adjustment" for the income statement.
  3. After the balance sheet key date the adjustment is cleared (reversed).
  4. If the receivable turns out to be uncollectable, the final write-off is posted to "expenses for uncollectable receivables" — on the regular reconciliation account, not the special G/L account.

Guarantees of payment

Customer: a guarantee made (EUR 10,000) is posted on the customer and automatically on the special G/L account, offset against the clearing account "guarantee made"; posting (1) creates, posting (2) cancels. Vendor: a guarantee received from a vendor is shown on the vendor account and a special G/L account in the same way. Both are stored as transactions with automatic offsetting entries.

Key takeaways
  • Special G/L indicator → alternative reconciliation account → separate display in G/L and subledger.
  • Classes = business purpose (down payments, bills of exchange, other); types = posting technique (statistical automatic offsetting, noted item, free offsetting).
  • Noted items update no transaction figures and have no offsetting entry; they drive payment and dunning.
  • Customer down payments received are payables and must not touch the receivables reconciliation account until cleared with the invoice.
  • Doubtful receivables are individual (not flat-rate) value adjustments; final write-offs use the normal reconciliation account.

Lesson 2: Maintaining Special G/L Transactions

Configure special G/L transactions: posting keys, special G/L accounts, indicator properties and account determination for the three types.

Posting keys

Special G/L transactions are entered with dedicated posting keys that carry the "special G/L" flag, always together with a special G/L indicator:

Posting keyUse
09Customer debit, special G/L
19Customer credit, special G/L
29Vendor debit, special G/L
39Vendor credit, special G/L

Special G/L accounts

The alternative accounts are created as G/L accounts in FI and defined as reconciliation accounts for account type D (customers) or K (vendors). Their field status group controls the entry screen layout. Special G/L transactions are never posted to the reconciliation account from the master record.

Properties of a special G/L indicator

The indicator is defined per account type (customer and vendor down payments are configured separately). Standard content is delivered; adjustments can be: different reconciliation/special G/L account numbers, other posting keys or indicators, and other automatic-posting settings (accounts, posting keys, account assignment rules).

PropertyMeaning
Noted itemTransaction updates no balances.
Relevant for credit limitIncluded in the customer credit check (not possible for noted items).
Commitments warningUsers posting to the account get a warning that such a transaction exists (e.g. a down payment when entering a vendor invoice).
Target special G/L indicatorNoted items only: which indicators may be used when the request is paid (standard: down payment request → down payment).
Special G/L transaction classDown payment, bill of exchange or other.
Posting keysOnly 09/19/29/39 are allowed.

Account determination

Per chart of accounts, the special G/L account is stored against the combination of reconciliation account (from the master record) and special G/L indicator; at posting time the system reads the master record's reconciliation account and substitutes the special G/L account. For statistical postings, the automatic offsetting account is defined per account type + indicator in the table of accounts for automatic postings.

Setting up your own indicators

Key takeaways
  • Posting keys 09/19/29/39 + special G/L indicator post to the alternative reconciliation account.
  • Special G/L accounts are reconciliation accounts of type D or K, assigned per chart of accounts to reconciliation account + indicator.
  • Indicator properties: noted item, credit-limit relevance, commitment warning, target indicator, class, allowed posting keys.
  • Statistical transactions additionally need a clearing account in the automatic postings table.

Lesson 3: Understanding Purchasing (MM Integration)

Understand the three-way match in procurement and how down payments linked to purchase orders are posted and cleared in Logistics Invoice Verification.

Three-step reconciliation (three-way match)

  1. Purchase order — created only in MM; no FI posting.
  2. Goods receipt — material document in MM updates stock; an FI document debits the stock account (or consumption account for consumables) and credits the GR/IR clearing account.
  3. Invoice receipt — the vendor invoice posted in MM creates an FI document: debit GR/IR, credit vendor.

Goods receipt and invoice receipt may arrive in either order. The GR/IR account is managed on an open item basis so that every invoice can be matched to a receipt and vice versa. FI document types for these postings are set in configuration.

Down payments with purchase orders

Business function LOG_MMFI_P2P must be active. Since EhP4 down payments/requests can be controlled from the purchase order and cleared in the vendor invoice; since EhP5 this also works with active document splitting. Process:

  1. Create the purchase order and enter the down payment information (the vendor wants a down payment).
  2. Post the down payment via the Down Payment Monitor (ME2DP).
  3. Post the goods receipt with reference to the PO as usual.
  4. Post the invoice in Logistics Invoice Verification with PO reference; the system warns that a down payment exists for this order and allows clearing the down payment inside the invoice transaction.
Key takeaways
  • PO: MM only. GR: stock/consumption vs GR/IR. IR: GR/IR vs vendor.
  • GR/IR is an open-item-managed clearing account that ties receipts to invoices.
  • With LOG_MMFI_P2P, down payments are planned in the PO, posted with ME2DP and cleared during invoice verification.

Lesson 4: Understanding Sales and Distribution Integration

Follow the sales process from order to billing and see how down payment requests and down payments agreed in a sales order flow into FI as special G/L transactions.

Phases of a sales transaction

  1. Sale — the sales order is created; it is an SD document with no FI posting.
  2. Shipping — a delivery document is created; picking via a transfer order in warehouse management; the goods issue creates an MM material document and an FI document (debit cost of goods sold, credit stock). Billing is possible only after the goods issue.
  3. Billing — the billing document is created in SD, the customer gets the invoice, and an FI document posts debit customer / credit revenue.

The document flow shows all documents belonging to one transaction.

Down payments in SD

Key takeaways
  • Sales order: no FI posting; goods issue: COGS vs stock; billing: customer vs revenue.
  • Down payment request = SD billing type FAZ = FI noted item with indicator F.
  • Received down payment carries indicator A; on invoicing it is transferred to the normal reconciliation account and cleared.
Practice No exercises are included for this unit; the learning assessment covers: special G/L transactions are displayed separately; subledger postings go to reconciliation accounts; the three special G/L types (noted items, statistical automatic offsetting, free offsetting) versus classes; noted items have no offsetting posting and no zero-balance check; down payment requests are noted items processed by payment and dunning programs; guarantees are automatic offsetting entries; no transaction figures for down payment requests; the first customer down payment step is the request; doubtful receivables are individual value adjustments; special posting keys plus indicators; customer and vendor down payment indicators configured separately; PO creation is MM-only; invoice receipt creates an FI document; the billing document is created in SD; the sales order posts nothing in FI.

Unit 5: Parking Documents

Unit objectives: Understand the two ways of saving an incomplete FI document (hold versus park), how parked documents are edited, posted, deleted and reported on, and how document parking is combined with SAP Business Workflow release procedures and with the Flexible Workflow for general journal entry verification in SAP S/4HANA.

Lesson 1: Managing Document Parking Basics and Document Holding

Distinguish holding a document from parking a document and know when each is appropriate.

The problem

An accountant is keying a ten-line document and cannot determine the cost centre for line nine. The document is incomplete, so it cannot be posted; if entry is abandoned, everything typed so far is lost. The department needs a way to save the data entered so far and resume later. SAP offers two mechanisms: Hold Document and Park Document.

Holding documents

Parking documents

AspectHoldPark
IdentificationUser-defined nameDocument number by document type
Completeness requiredNoNo (but needed to post)
Transaction figuresNot updatedNot updated
Available for reportingNoYes
Typical usePersonal scratchpadDual control, approval, worklists
Key takeaways
  • Hold = private temporary save without number or reporting; Park = numbered, reportable, incomplete document.
  • Neither updates transaction figures.
  • Parking supports dual control and workflow; substitutions do not act on parked documents.

Lesson 2: Processing Parked Documents

Create, change, post and delete parked documents, and understand what changes when a parked document becomes a posted one.

Creating parked documents

Uses: temporary storage of input, multi-level models (dual control, approval procedures), and work distribution through worklists to speed up processing. The usual path is edit → post; deletion is the exception.

Editing

Header and line item fields and amounts can be changed as often as needed — dates, amounts, accounts, account assignment objects. The document change rules that restrict posted documents do not apply. Fields that cannot be changed: currency, document type, document number, company code.

Posting

Parked documents are posted individually or via a selection list; after a mass post the system lists which ones succeeded, and those that failed (e.g. missing cost assignment) can be post-processed from the list. A batch input session can also be generated. On conversion to a regular document:

  1. All normal posting checks run.
  2. A complete FI document is written to the document database.
  3. The change history of the parked document is kept.
  4. The document number is retained — the parked number becomes the posted number (a deleted parked document's number cannot be reused).
  5. Transaction figures are updated and the parked document is deleted.
  6. The original entering user is recorded in the document header.

Reporting

Parked documents are integrated into account display and FI reporting: many reports can include them, they can be shown in the document journal and in the line item display.

CharacteristicPosted documentParked document
Transaction figures updatedYesNo
Deletion possibleNo (reverse instead)Yes
Changes possibleYes, with limitationsYes
Amounts, accounts, assignments, dates changeableNoYes
Document change rules (GAAP)ApplyNot relevant
Key takeaways
  • Parking works for customer, vendor and G/L postings, with templates but not reference documents.
  • Almost everything can be changed except currency, document type/number and company code.
  • Posting keeps the number, writes history, updates figures and removes the parked version.
  • Parked documents are visible in journals, line item display and many reports.

Lesson 3: Managing Document Parking and Workflow

Understand SAP Business Workflow basics, the release procedure for parked documents (workflow variants, release groups, approval paths, subworkflows) and the Flexible Workflow for general journal entry verification with its Fiori apps.

SAP Business Workflow

Workflow automates the hand-over between people in a business process, even across systems, and delivers to each participant the information needed for the next step. SAP ships workflow templates that can be adapted or replaced by custom ones. Designing a step means answering three questions: what has to be done (object type and method), who does it for dialog steps (possible processors), and what text the recipient sees in the inbox (the task text). Typical workflow uses: posting invoices, releasing purchase requisitions, changing material masters, approving leave, creating customer accounts, deleting purchase orders, Internet requirement requests.

Work items appear in the Fiori app My Inbox, where they can be released, rejected, suspended or forwarded, and the workflow log can be inspected.

Release procedure for parked documents (classic workflow)

  1. Define workflow variants in FI Customizing, stating whether document release is active and the minimum amount from which release is required.
  2. Assign company codes to workflow variants — one variant may serve several company codes; a company code without a variant has no release.
  3. Use the release group field in customer/vendor master records to apply different procedures to different partners (blank = initial release group).
  4. The release approval path is derived from workflow variant + document type + release group.
  5. Approval path + amount determine the subworkflow and the responsible releasers.
Subworkflow templateRelease levelsPrinciple
WS10000052One levelSingle release
WS10000053Two levelsDual control
WS10000054Three levelsTriple control

The subworkflow is triggered when the parked document is first entered. Tasks can normally have several possible processors.

General journal entry verification (Flexible Workflow)

S/4HANA supports both the classic SAP Business Workflow and the Flexible Workflow, which lets key users define approval processes without development. Status flow of a journal entry:

StatusWhen
InitialRequester creates the entry.
SubmittedRequester sends it for approval (also after a suspension ends).
RejectedProcessor rejects; requester must edit and resubmit.
WaitingProcessor suspends until a scheduled time, then back to Submitted.
PostedProcessor approves and the posting succeeds.
FailedPosting after approval runs into errors; requester edits and resubmits.

The requester creates/edits entries and tracks their status in a worklist (can copy, edit and resubmit). The processor — a member of the groups defined in Customizing — approves, rejects or suspends from the inbox. The four-eyes principle is enforced by excluding the requester from verifying their own entry even if they belong to the approver pool. Past approvals are visible in the processor's outbox.

Fiori appPurpose
F2547 Verify General Journal Entries – For RequesterCreate/submit/track/resubmit entries.
F2728 Verify Journal Entries in General Ledger – For Processor (Inbox)Approve, reject, suspend.
F2729 Verify Journal Entries in General Ledger – For Processor (Outbox)Review own past decisions.
F3932 Manage Teams and Responsibilities for Journal Entry VerificationDefine approver teams and their functions.
F2720 Manage Workflows for Journal Entry VerificationDefine the flexible workflow.

Minimal configuration

  1. In Manage Workflows, add a new workflow; give it a name, optional description and validity period.
  2. Define start conditions — combinations of account group, threshold amount, cost centre, company code, journal entry type.
  3. Define the step sequence (e.g. verify, post), step conditions and exception handling.
  4. In Manage Teams and Responsibilities, create teams; members are assigned functions that decide which step they may approve. Recipients of a step can be a role or a team.
Key takeaways
  • Workflow variant (active? minimum amount) → company codes; approval path = variant + document type + release group; path + amount → subworkflow (1/2/3 levels).
  • Release groups in master records allow different procedures for different partners.
  • Flexible Workflow for journal entry verification: statuses Initial, Submitted, Rejected, Waiting, Posted, Failed; requester excluded from approving own entries.
  • Apps F2547/F2728/F2729 operate, F2720/F3932 configure the verification workflow.
Practice No exercises are included for this unit; the learning assessment checks: park and hold both save entered data temporarily; held documents need not be complete; parked documents can be supplemented and posted later; parking supports dual control; account assignment templates (not reference documents) can be used for parking; parking works for customer and G/L accounts; parked documents can be posted singly or via selection list; currency, document type/number and company code cannot be changed; document change rules do not apply to parked documents; a deleted parked document's number is not reused; hold assigns a name, park assigns a number; a workflow variant can serve several company codes, tasks may have several processors, multilevel sequences are possible; release procedures can differ per account.

Unit 6: Validations and Substitutions

Unit objectives: Learn how SAP S/4HANA checks (validation) and automatically changes (substitution) field values at the moment an FI document is entered: application areas, callup points, boolean logic in the formula editor, assignment and activation per company code, the step structure of validations and substitutions, substitution methods, and reusable rules and sets for complex logic.

Lesson 1: Understanding the Basics of Validation and Substitution

Understand what validations and substitutions do, where they can be applied (application areas and callup points), how rules are entered in the formula editor, and how they are assigned and activated.

Validation versus substitution

ValidationSubstitution
PurposeCheck entered values or value ranges before posting; only validated data is accepted.Replace entered values with other values when a user-defined prerequisite is met.
LogicBoolean rules; syntax checked on definition; the Rule Manager evaluates them at runtime.Same boolean prerequisite syntax; replacement value(s) defined per field.
OutcomeConfigurable: message only (continue) or forced correction.Value overwritten silently.

Five steps to implement

  1. Decide the application area.
  2. Choose the callup point.
  3. Define the validation/substitution.
  4. Assign it to an organisational unit (company code for FI; company code or company for FI-SL; controlling area for CO). One object may be valid for several company codes.
  5. Activate it for the callup point.

Application areas

KeyAreaRemark
FIFinancial Accounting
COCost Accounting
AMAsset Accounting
GLSpecial Purpose Ledger
CSConsolidationValidations only
PSProject System
REReal Estate
PCProfit Center AccountingSubstitutions only
GAAllocations (FI-SL)Substitutions only

Each application decides which structures and fields it releases for validation/substitution; the area plus callup point define the pool of fields you may use in prerequisites and checks.

Callup points in FI

Callup pointScopeExample
0001 Document headerHeader fields (BKPF)Check document date against posting date.
0002 Line itemItem fields (BSEG) plus all header fields for cross-checksOnly certain G/L accounts allowed with certain document types; account/cost centre combinations.
0003 Complete documentWhole document (matrix validation)Checks across several items.

Application area + callup point determine the boolean class, which fixes the available fields (dimensions) and the message classes usable for validation messages. Data already known from earlier callup points (user name, header data) can be reused at later points.

Formula editor

Statements are built with buttons for operands (table fields, sets, exits), logical operators (AND, OR, NOT) and comparison operators; each entry is checked step by step, including parentheses, so only syntactically correct statements can be saved. Display settings: Short descriptions (default), Technical names (table-field names), and Expert mode, which shows technical names and lets you type the statement directly.

Assignment and activation

For each combination of organisational unit and callup point only one validation and one substitution can be active. Activation levels:

LevelMeaning
0Inactive
1Active for dialog and batch input
2Active except for batch input
Key takeaways
  • Validation checks and reports; substitution replaces — both at entry time, before posting.
  • Procedure: application area → callup point → definition → assignment to company code → activation.
  • FI callup points: header, line item, complete document; area + callup point = boolean class.
  • One active validation and one active substitution per company code and callup point; activation level 0/1/2.

Lesson 2: Maintaining and Executing Validations

Build validations from steps (prerequisite, check, message) and master the boolean statement syntax, including partial-field checks and pattern matching.

Why custom validations

Most input is already checked by programs, tables and master data, but company-specific rules (only certain accounts for closing entries, only certain cost centres for certain expenses) cannot be standardised. Validations give G/L, AR and AP owners extra control over data consistency.

Step structure

A validation holds up to 999 steps. Each step has:

  1. Prerequisite — if true, the check is executed; if false, the step is skipped.
  2. Check — a boolean statement; if it evaluates to false, the message is issued.
  3. Message — predefined or new; up to four variables filled with field values using & placeholders.
Message typeEffect
IInformation — processing continues.
WWarning — user may continue.
EError — entry must be corrected.
ACancel — transaction terminated.

Course example (callup point 2): if account 61003000 is entered, check that the cost centre is not an administration cost centre; otherwise an error message forces a correction. Another example: compare document date and posting date and warn if they differ.

Statement syntax

TaskExampleMeaning
Compare two fieldsBKPF-BUDAT <> BKPF-BLDATTrue when posting date differs from document date.
Check a valueBKPF-BLART = 'SA'Document type must be SA.
Partial field, one positionBSEG-HKONT :3:Only the third character of the account is tested (positions count from 1).
Partial field, rangeBSEG-HKONT :1-3:First three characters.
Partial field, to endBSEG-HKONT :3-:From position 3 to the end.
PatternBSEG-KOSTL LIKE '*3*3'* = any character string, + = exactly one character; matches 363, 323, 2303.

Simple statements can be combined with AND/OR/NOT into complex ones.

Key takeaways
  • Step = prerequisite + check + message; a message appears only when prerequisite is true and check is false.
  • Up to 999 steps; messages carry up to four variables; types I/W/E/A.
  • Syntax supports field comparison, constants, partial fields with :n:, :n-m:, :n-:, and LIKE patterns with * and +.

Lesson 3: Maintaining and Executing Substitutions

Define substitutions with prerequisite and replacement, and choose between the constant, exit and field-to-field substitution methods.

Purpose

The system already derives some values automatically (business area or profit centre from a cost centre or internal order). Substitutions add customer-specific derivations — filling the Assignment field or segment text by your own rules, or deriving a profit centre from combinations of expense account, material number and region. FI staff must check case by case whether substitution is appropriate for the field.

Step structure

Up to 999 steps; each has a prerequisite and a replacement. If the prerequisite is true, the replacement is performed and the transaction continues with the substituted value(s); if false, nothing changes. Example: functional area is filled depending on the cost centre type. One step may replace several fields. The prerequisite uses the same syntax as validations and may include rules and sets.

Substitution methods

The target field must be released for substitution. For each chosen field a dialog asks for the method:

MethodDescriptionCourse example
Constant valueField receives a fixed value.Profit centre set to 060 when the account is 41000000 or 41001000 and the material number lies between T-R100 and T-R1402.
ExitA user exit (ABAP) computes the value.Complex derivations.
Field–field assignmentTarget field takes the content of another (source) field.Assignment field (normally clearing information) filled with the profit centre.
Key takeaways
  • Substitution step = prerequisite + replacement; replacement happens only when the prerequisite is true.
  • Methods: constant, exit, field-to-field; several fields may be substituted in one step.
  • Only fields released by the application can be substituted; substitutions do not act on parked documents.

Lesson 4: Using Additional Techniques for Substitutions and Validations

Use rules to encapsulate reusable logic and sets (including multisets) to replace long boolean lists and perform cross-validations.

Transport recommendation

Validations, substitutions and rules should be created only in the development or test system and transported to production.

Rules

A rule is a named boolean statement (name up to 11 characters) that can be used inside a prerequisite, a check or another rule. Technically it is nothing more than a stored prerequisite/check, but it lets you summarise complex logic and reuse it — e.g. a long prerequisite needed both in a validation and in a substitution. Example: RULE1 AND BKPF-BLART <> 'SB' — the system evaluates RULE1 first, then the document type condition. Rules may also appear in statements with arithmetic processing and in matrix validations at callup point 3.

Sets

A set is a flexible, centrally maintained data structure holding ordered values or hierarchies; it is used throughout FI-SL — in validation formulas, substitutions and ledger selection, allocations (assessment/distribution), planning, roll-ups and currency conversion. For performance, prefer basic or single-dimension sets over long boolean lists or user exits. Syntax: table-field IN setname.

Key takeaways
  • Rules = reusable named boolean statements (11 characters), evaluated before the rest of the expression.
  • Sets replace long value lists; syntax field IN set; basic/single-dimension sets perform best.
  • Multisets allow cross-validation of combinations such as account × cost centre.
  • Develop and test in DEV/QA, transport to production.
Practice No hands-on exercises are included for this unit; the learning assessment tests that validation checks values and intervals; callup points define where checks run; an application area is mandatory; one validation/substitution can cover several company codes; FI callup points are header, line and complete document; messages hold up to four variables; LIKE compares patterns; 999 steps maximum; a check runs only when the prerequisite is true; substitutions replace field contents when the prerequisite holds and can replace several values; rules summarise reusable logic; sets outperform long boolean lists; cross-validation needs multisets, not single sets.

Unit 7: Data Archiving in FI

Unit objectives: Understand why and how application data is archived in SAP S/4HANA: the three-step archiving process, the archiving object concept and the three levels of archiving Customizing, and the FI-specific sequence of archiving documents (FI_DOCUMNT), transaction figures (FI_TF_*), running the compression run on the universal journal, and finally archiving master data.

Lesson 1: Outlining the Basics and Classifications of Data Archiving

Define data archiving, explain the reasons and legal constraints behind it, the roles involved, and the generic three-step process.

Why archive?

Large database volumes slow down queries for users and increase administration effort. Data that is no longer needed in daily operations should therefore leave the database — but it cannot simply be deleted, because read access must remain possible (auditors, tax authorities, complaints). Archiving moves the data to external storage in a hardware- and software-independent format so it stays readable even after upgrades.

Roles

The system administrator executes archiving. The FI application manager does not run it but coordinates with the FI department, ensures compliance with regulations, performs the FI-specific Customizing, works closely with Basis and monitors the procedure as the department's representative. Long-term goals: keep database volume roughly constant and archive proactively, not reactively.

The archiving process

  1. Write — the write program reads the data to be archived from the database and creates one or more archive files.
  2. Store — the archive files are placed in an external document storage system and administered so they can be accessed later.
  3. Delete — the deletion program reads the archive file and only then deletes the corresponding records from the database.

Writing and deleting alone is not enough; the files must be stored and managed so they remain accessible.

Key takeaways
  • Archiving removes inactive data from the database without losing read access.
  • Drivers: performance, administration effort, downtime, plus legal retention and data protection.
  • Three steps: write archive files, store them externally, delete from the database (reading the archive first).
  • Basis executes; the FI application manager coordinates, customizes and monitors.

Lesson 2: Maintaining Data Archiving

Understand the archiving object and the three Customizing levels (Basis, cross-object, object-specific) reached from SARA.

Archiving objects

Data archiving is the consistent transfer of complete data objects from SAP database tables to a storage system outside the database. Because a business object's data is spread over many tables, the archiving object bundles all logically related tables so that everything belonging to the object is removed together. It is the smallest unit that can be archived and deleted in its entirety. Components:

ComponentContent
Data declaration partAll database objects that make up the application object.
Customizing settingsObject-specific parameters for the archiving procedure.
ProgramsWrite program (writes data objects sequentially to archive files), deletion program (deletes what has been read from the archive file), display program (reads archived objects).

Archiving Customizing

Opened via the Customizing button on the initial screen of SARA (SAP Easy Access → Tools → Administration → Administration → Data Archiving). Usually performed by Basis/system administration.

StepScopeSettings
1. Basis CustomizingSystem-wideTransaction FILE: define a logical file path (global path for archiving) and assign the physical path; the logical name is a placeholder resolved at runtime.
2. Cross-archiving-object CustomizingAll archiving objectsServer group for background processing; show/hide the data archiving monitor (SAR_SHOW_MONITOR) so write/delete programs update monitoring data and raise alerts. The Fiori app Monitor Archiving Jobs also tracks and administers archiving jobs.
3. Archiving-object-specific CustomizingOne archiving objectLogical file name for the object; maximum archive file size; deletion program settings, including whether deletion starts automatically after an archive file is written; one variant each for test run and production run of the deletion program.
Key takeaways
  • Archiving object = data declaration + Customizing + write/delete/display programs; it guarantees business consistency.
  • Customizing levels: FILE paths (Basis), server group and monitor (cross-object), file size and deletion behaviour (object-specific).
  • Everything is reached from SARA; monitoring via SAR_SHOW_MONITOR or the Monitor Archiving Jobs app.

Lesson 3: Executing Data Archiving for Specific FI Objects

Follow the FI archiving sequence — documents, transaction figures, compression run, master data — including the checks, archiving objects, programs, the special behaviour of ACDOCA in S/4HANA, and how archived data is accessed.

Process flow and dependencies

Because the universal journal (ACDOCA) is the single line item table for all of accounting, archiving objects depend on one another: an object may be archived only after its predecessors. Example: archiving ACDOCA entries without archiving Asset Accounting would leave statistical asset line items with the asset master data and break asset reporting. The course concentrates on FI-GL: FI documents → FI transaction figures → compression run → master data. Normally documents go first; transaction figures and master data follow once the document-based checks no longer block them, although a company may choose to archive only documents long-term. SAP Note 2659820 removes Material Ledger as a prerequisite in the sequence.

Running an archiving procedure (SARA → Write)

Archiving runs as a background job: it selects data objects, checks each one's archivability and writes qualifying objects to the archive file; if configured, deletion starts automatically when a file is closed, otherwise the deletion job is scheduled manually by selecting the archive files to process.

  1. Archiving variant — defines the data selection and whether it is a test or production run; variants can usually be reused only after the related jobs are deleted.
  2. Execution user — needs authorisation object S_ARCHIVE (restrictable per archiving object), authorisations for the underlying transactions, and background authorisation S_BTCH_JOB.
  3. Start time — as for standard background jobs.
  4. Spool parameters — logs can be long, so avoid immediate output to a device.

Monitoring: job logs and spool lists, CCMS monitor sets, the Fiori app Monitor Archiving Jobs, SM37 (reachable via Job Overview in SARA) and the short log under Administration in SARA. The default log records archived object count, affected tables, processed entries and file sizes; application-specific logs can go down to document level. Because spool clean-up deletes logs, decide where to keep them (e.g. external storage).

Archiving FI documents (FI_DOCUMNT)

Document type and account type runtimes are set per company code in Customizing. The program checks header and items; if any condition fails, the entire document stays.

LevelCondition
HeaderDocument type runtime exceeded; minimum duration in system exceeded; documents with withholding tax stay at least 455 days; recurring, parked and sample documents are excluded.
Line itemNo open items (only cleared items or items without open item management); account type runtime exceeded.

Runtimes are measured against a key date given per run (default: execution date). Object FI_DOCUMNT covers FI-GL, FI-AP and FI-AR documents plus their change documents, SAPscript texts and ArchiveLink entries.

ProgramPurpose
FI_DOCUMNT_WRIWrites archive files for all document tables (BKPF, BSEG, ACDOCA, ...).
FI_DOCUMNT_DELDeletes BKPF/BSEG etc. entries, but not ACDOCA; instead sets ACDOCA-BSTAT = C.
FI_DOCUMNT_PSTPost-processing.

S/4HANA specifics:

Accessing archived documents

Archived data must remain readable for complaints, analyses and audits. Transactions with archive access include FB03 / FB03L, FBL1N, FBL3N, FBL5N and FAGLL03. The line item browsers FBL1H / FBL3H / FBL5H have no standard archive access but can be enabled via a BAdI (SAP Notes 2180685, 2316951). Newer OData/INA-based programs offer no archive access.

Archiving transaction figures

Transaction figures are the debit and credit totals per account. AP/AR figures are derived from unarchived BKPF/BSEG plus the totals in LFCX_DIF/KNCX_DIF; G/L figures come from ACDOCA items including those with BSTAT = C. They must remain for at least two years and can be archived only when all posting periods in the range are closed. Archiving them is not a prerequisite for the compression run; it serves data privacy and protection.

Archiving objectContentPrograms
FI_TF_CREVendor transaction figuresFI_TF_CRE_WRI / FI_TF_CRE_DEL
FI_TF_DEBCustomer transaction figuresFI_TF_DEB_WRI / FI_TF_DEB_DEL
FI_TF_GLFG/L transaction figures (new)FI_TF_GLF_WRI / FI_TF_GLF_DEL

AP/AR: the delete step adjusts the x_DIF totals so that they plus the unarchived ACDOCA documents net to zero; once all underlying documents are gone, the x_DIF entry is removed. G/L: the write job copies ACDOCA records to the archive; the delete job adds an offsetting record with inverted sign, so both BSTAT = C records sum to zero and nothing is displayed — no physical reduction yet.

Compression run

Document archiving only flags ACDOCA rows, and transaction-figure archiving even adds rows. The compression run (FINS_ARC, monitor FINS_ARC_MONITOR) is the first step that actually shrinks ACDOCA, without changing the end-user business view. Qualifying entries (e.g. documents already archived, see SAP Note 2346296) are replaced by an aggregate whose granularity follows the balance carryforward settings (Financial Accounting → General Ledger Accounting → Periodic Processing → Carry Forward → Enter Detail Specifications for Balance Sheet Accounts / for P&L Accounts) combined with the posting period. With SAP Note 2518769 the run writes its identification into ACDOCA-SGTXT. If the aggregate nets to zero (documents and transaction figures both archived), the old entries are deleted and no aggregate is created. After document archiving the effect is memory reduction; after transaction-figure archiving it also fulfils data-protection deletion requirements. The SAP Universal Journal Detailed Analysis Service and DVM Cloud Solutions help analyse ACDOCA content and plan the steps.

Archiving FI master data

G/L accounts, customers, vendors and bank data can be archived once the business agrees and legal requirements are met. Typical path: set a posting block when the record is no longer needed, then manually set the deletion flag; the flag is one of the conditions the archiving program checks (so only responsible staff should be authorised to set it). Other checks for G/L accounts include whether documents and transaction figures still exist. There is no default minimum runtime of 999 days, and master data runs can be restricted to subsets. In S/4HANA customer/vendor data lives in the business partner, so customer/vendor master data must be archived before the business partner object CA_BUPA.

Key takeaways
  • FI-GL sequence: documents → transaction figures → compression run → master data; ACDOCA dependencies enforce order.
  • FI_DOCUMNT checks runtimes, minimum duration, 455 days for withholding tax, no open items; excludes recurring, parked, sample documents.
  • Deleting documents leaves ACDOCA rows with BSTAT = C and writes KNCX_DIF/LFCX_DIF totals; only the compression run (FINS_ARC) physically reduces ACDOCA.
  • Transaction figures: FI_TF_CRE / FI_TF_DEB / FI_TF_GLF, at least two years, closed periods, for data protection.
  • Master data needs a deletion flag; customer/vendor before CA_BUPA.
Practice No hands-on exercises are included for this unit; the learning assessment confirms that growing databases raise query load; reasons for archiving are response time, administration effort and downtime (not backup); an archiving object consists of data declaration, Customizing and programs; archiving Customizing controls how data is archived; G/L master data checks include deletion indicator, remaining documents and transaction figures; there is no 999-day default runtime; master data runs can be restricted; the deletion flag is a prerequisite for master data archiving.