| Status | |
|---|---|
| Owner | Alexander Bechter |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | S/4 HANA (all systems) |
| Business Process Reference | 09.05.04.01. Process General Journal Entries |
As part of the SyWay program, it was decided to implement a system-controlled review and approval workflow for high-value G/L journals for
General Ledger journals are not expenditure-related and do not lead to any cash impact for the organization, as such integration into the overall DoA is not required. A simplified, single-tier approval workflow is requested.
Specific exemptions will also be granted from the mandatory journal review mandate to avoid bottlenecks with reviewers especially during peak periods for manual journals at period-end.
The approval workflow is required for all high-value journals submitted for review via the below three Fiori applications as sending applications:
The main objective is to achieve an increased degree of SOX compliance and increase the degree of upfront visibility and transparency of high-value journals to the ledger owners through enhanced posting control for manual journals.
Assumptions
Approvers/Reviewers shall not be given editing rights to the documents under reivew. Any changes to the document must be performed by the journal processor to achieve clear segregation of duties.
Process controls for the respective L4 the custom development is designed for ('09.05.04.01. Process General Journal Entries').
Work item messages as well as custom error messages generated by the workflow need to be translated into the four core logon languages (English, French, Italian, Mandarin) defined for the SyWay program as endorsed in 'KDD055 - Multi-Language Support'.
The following enhancements/customizations will be required to cover all business requirements for the workflow development:
Processing manual journals are the responsibility of the shared service centres. Journal entry requests are therefore predominantly processed by the responsible teams within the shared service centres. In standard SAP, only the user ID of the journal processor is captured in the document header. To be able to differentiate between journal requestor and journal processor a new field needs to be created at document header level (table VBKPF) where the invoice processors are required to specify the user ID of the journal requestor. This must be a mandatory input field in the respective Fiori app used for manual journals (F2547A, F4670A and F1598) and must be available as mandatory input field in the Excel upload templates used for Fiori app F2547A . The inputs in this field shall be validated against table USR01. A match-code search function shall be made available to search for the respective user IDs based on user’s first and last name. This requirement will be covered and implemented via development request 'ERP-1749 Custom Field for AR and G/L Journal Workflow'.
The workflow logic needs to check whether the user ID of the requestor and the user ID of the approver are matching. In case there is a match, the document should be automatically released/approved and subsequently posted.
This field shall be used by the processing logic of the workflow to enable workflow exemptions.
Once a document has been submitted for approval it shall no longer be editable until it gets approved or rejected by the reviewers/approvers. In case there are any changes required to the document, the document needs to be rejected by the approver to flow back to the processor to make the necessary changes.
Some variables need to be added to the workflow container and eventually included in the subject line/work item body texts. The required variables are:
If multiple profit centers are used in one journal, the profit center from the line item with the highest LC2 (VBSEGS-DMBE2) value shall be selected.
All manual G/L journals recorded in the system shall be subjected to the below approval levels and agent determination logic:
| Level | Key/Non-Key Legal Entity | Region | Country | Company Code | Amount (Group Currency) | HR Position | Band |
|---|---|---|---|---|---|---|---|
| 1 | KEY | * | * | * | >750,000 | Country Accounting Manager or job equivalent | C |
| 1 | NON-KEY | * | * | * | >250,000 | Country Accounting Manager or job equivalent | C |
Note:
Example:
| Level | Key/Non-Key | Region | Country | Company Code | Amount (EUR) | HR Position | Band |
|---|---|---|---|---|---|---|---|
| 1 | KEY | * | * | * | >=500,000 | S01 | - |
| 1 | KEY | * | * | 1000 | >=500,000 | S02 | - |
An additional custom check needs to be implemented to ensure that journals requested by an authorized approver shall be auto-approved and posted immediately.
Journals requested by superiors of the nominated approvers (based on the organizational structure) shall be auto-approved and posted immediately.
Journals requested by Controllers (look-up job/position of journal requestor) shall be auto-approved and posted immediately.
Journals raised for the non-leading ledgers only (BKPF-LDGRP <> 'blank' or '0L') shall be auto-approved and posted immediately.
Notifications shall be sent out to the journal requestor and journal processor once requested journal have been approved and posted in the system.
Subject Line: 'G/L Journal <BELNR>/<BUKRS> requested by you was posted successfully'.
Body Text:
‘G/L journal <BELNR>/<BUKRS> requested by you was posted successfully. Journal entry details are as follows:
The work item shall be routed back to the journal processor in case errors are encountered during background processing of the journal after initial approval of the document by the journal approver. The following message shall be output:
Subject line: 'G/L Journal <BELNR><BUKRS> contains errors – action required.'
Body Text:
'G/L Journal <BELNR><BUKRS> raised by you contains errors. The following errors were encountered:
<Error Message 1>
<Error Message 2>
Perform the necessary corrections and re-submit the G/L journal for approval.'
SAP standard Fiori application ‘My Inbox’ shall be the user interface used for approving/rejecting parked documents.
The user ID of the journal approver shall be substituted into the document header (BKPF-USNAM) once the document has been approved and posted successfully. This is needed to enable easy identification of the approvers for follow-ups if audit queries arise.
The following Fiori push notifications shall be sent to by the workflow templates:
SAP Standard Workflow
Two workflow framework options in S/4 HANA were assessed to realise this requirement, with Flexible Business Workflow identified as the recommended technology choice.
a) Classic Workflow Framework (via SWDD):
In the classic workflow administration framework in S/4 HANA, the following SAP standard workflow templates could be leveraged to meet the business and process requirements:
WS10000051 - Main workflow template to release parked documents.
WS10000052 - Sub-workflow template for single-tier approval of parked documents.
Functionally, these standard workflow templates activate a workflow messaging to the approvers once a document has been parked in the system. The standard workflow template does not lock the document once it has been submitted for approval. It can be re-submitted multiple times which leads to data inconsistencies in the approver’s inbox.
Furthermore, the standard workflow template triggers the workflow notification upon initial parking of a document in the system. At parking stage, the system doesn’t perform thorough data integrity checks hence technically incomplete documents can be routed for approval potentially leading to a high number of rejections and documents in error.
Standard workflow templates also do not notify the requestor once a document has been approved and posted. A notification shall be sent to the requestor of the journal entry once the requested documents have been successfully posted in the system.
As SAP standard workflow templates do not issue error notifications to either the requestor nor the approver, further enhancements are required to enable such (push) notifications.
SAP standard also doesn’t support agent determination based on LC2 amounts (group currency) which is required to simplify the global threshold definitions across all Syensqo entities. It also doesn't support routing of invoices based on the new organizational chart designs introduced as part of the SyWay program.
Subject line and work item text also require additions (e.g. include Profit Center in subject line) which is not foreseen nor supported by SAP standard workflow templates in the classic workflow framework.
b) Flexible business workflows in S/4 HANA (To Be Implemented)
In S/4 HANA a new generation of workflows was introduced under the umbrella term flexible business workflows. Among the available workflow applications provided by SAP in standard is Fiori application 'F2720 - Manage Workflows for Journal Entry Verification - In General Ledger' for defining triggers, start conditions and approval routing paths. Along with this new workflow definition application, a separate Fiori application is provided by SAP to maintain review and approval responsibilities under 'F3932 - Manage Teams and Responsibilities For Journal Entry Verification - In General Ledger'. Individuals or teams can be assigned as responsible reviewers/approvers for the journal entry workflows defined in the system.
While the standard workflow definition application support certain start and trigger conditions that are required for the G/L journal review and approval workflow at Syensqo, not all of the requirements can be covered by standard configurations and enhancements to the standard options are required (e.g. distinction between key and non-key legal entity, exclusion of non-leading ledger journals, etc.).
Team and responsibility structures used by the standard workflow need to be tied to employee business partners. This may not be flexible enough to cater to Syensqo-specific routing requirements based on HR positions, bands and responsibilities within the regional shared service centres. As such, enhancements may also be required to tailor responsibilities and agent assignments for G/L journal reviews to the business needs of Syensqo.
Triggers and Start Conditions
a) Triggers:
The workflow shall be triggered upon clicking the 'Submit' button by the journal processor in Fiori apps F2547A and F4670A and upon clicking button 'Post' in Fiori app F1598.
b) Start Conditions
Below a list of business objects that can be used for this workflow process:
| Fiori Application | Trigger Event | Condition |
F2547A and F4670A | 'Submit' |
AND
|
F1598 | 'Post' |
AND
|
The simple process flow diagram below illustrates the standard process flow for a single-tier approval workflow implemented via the flexible business workflow framework in S/4 HANA for both journal entry scenarios applicable for this custom development:
1.) Business Scenario for regular G/L journals submitted for approval:

2.) Business Scenario for regular recurring entry journals submitted for approval:

The below step represents a decision-making step that needs to be actioned on:
Step Description | Verify Journal Entry |
Step Type | Decision Step |
Approve / Reject texts and actions (for user decision steps) | Two buttons are required for this decision step: 1. Approve: o Parked document should be posted automatically in the background (same behavior as if it was released via SBWP). o Notify requester that document has been approved and posted. 2. Reject: o Document should be routed back to the invoice processor. o Rejection reason must be entered and visible to processor in work item. o Work item needs to be visible in processor's Fiori inbox. Rejection reason/comments must be available under ‘Comments’ or ‘Attachments’ section in the work item message |
Subject Text | Release Journal Entry <BELNR> submitted for company code <BUKRS> |
Body Text | ‘Journal Entry Document <document number> raised in company code <company code> requires your action. Please validate the journal entry, tax details and supporting documents to take the necessary actions.’
|
Possible Approvers (Possible Agents) | The agent determination should follow the logic as outlined in section 'Functional Requirements' of this functional specification document. |
Approver Selection (Selected Agents) | The selection of the right approving agent out of the pool of possible approving agents shall be facilitated by checking the regional responsibility of the designated reviewers/approvers. In case no approver can be found at the corresponding level for a given position or band in the approval matrix, the approvers shall be determined from the next level upwards based on the entry level position following the reporting lines defined in organizational chart structures. |
Escalation | Not applicable. |
Email Notification | No email notification required. Only internal SAP message to approver’s inbox is required. |
Attachments | The list of attachments shall include the supporting documents attached by the user to the journal entry subject to approval. A link to the parked document shall also be provided to allow the user to review the document in S/4 HANA. |
The below step represents a review step that need not be actioned on, it serves a plain alert function for ledger owners to be aware of high-value journals posted into their books. This notification shall be sent out in parallel to the notification generated for the above decision step. The SAP standard functionality of 'Review Steps' available in the business workflow definitions for General Journal Entries in S/4 HANA shall be leveraged on to fulfill this requirement.
Step Description | Send Journal Alert |
Step Type | Review Step |
Decision Steps | N/A |
Start Condition | Only required for approved journal entries. Result of decision step 'Verify Journal Entry' must be 'Approved'. |
Subject Text | Release Journal Entry <BELNR> submitted for company code <BUKRS> |
Body Text | ‘Journal Entry Document <document number> raised in company code <company code>. Please take note and reach out to journal approver in case of doubts otherwise no action required.’
|
Possible Reviewers (Possible Agents) | The agent determination should use the identified reviewers/approvers for decision step 'Verify Journal Entry' as starting point to determine the recipients of this notification, From this base position, the logic should then climb up the HR organizational structure to the direct superiors of the identified reviewers/approvers. The alert notification should be sent to the line manager of the reviewers/approvers. |
| Reviewers Selection (Selected Agents) | Same as specified under 'Possible Approvers (Possible Agents)' |
Escalation | Not applicable. |
Email Notification | No email notification required. Only internal SAP message to approver’s inbox is required. |
Attachments | The list of attachments shall include the supporting documents attached by the user to the journal entry subject to approval. A link to the parked document shall also be provided to allow the user to review the document in S/4 HANA. |
Should there be any errors returned by the workflow processing logics at agent determination stage, a notification should be sent to the workflow administrator to perform follow-up actions.
The work item shall be routed back to the journal processor in case errors are encountered during background processing of the journal entry after initial approval of the document. At the same the journal should be unlocked to be able to perform the necessary corrections before re-submission.
All error messages generated by or encountered by the workflow during background processing must be easily understandable to facilitate effective trouble-shooting and must be accessible via the workflow logs.
Deadline monitoring is not active for this workflow development. Backlogs of parked documents in the system which are still awaiting release will be cleared out at the end of every month as part of the period-end closing activities. SAP has standard reports available to monitor outstanding parked documents.
Forwarding of workflows for the approval of parked documents is permitted. Forwarding should only be possible to approvers of the same HR rank or above. It is the responsibility of the user to forward the work item to a person with sufficient authorizations to post in the company code of the journal entry to be posted.
Substitutions will be used especially in cases where users are on leave. The substitution rules should only allow for routing of the work item to a proxy of the same HR position/rank. The substitution rules should follow the rules and principles defined in the SoD principles introduced as part of the SyWay program.
As part of custom development 'ERP-300 Workflow for FI-AR Sundry Invoices' a feature will be implemented to lock documents while they are being reviewed in the approval workflows. There may be dependencies arising that need to be considered in the build of this custom workflow development.
The volume of manual journals in S/4 HANA is expected to decrease by a multi-fold due to product innovations and process re-designs introduced as part of the SyWay program.
It is estimated that the future volume of manual journals will decrease to approximately 200-300 entries per month across all S/4 HANA company codes making it a much more manageable number in terms of online review in the system without creating bottlenecks with the reviewers/approvers.
Some temporary assignments in the user decision table will be required for the agent determination.
Consult the functional consultant to receive a sample invoice document that can be used as reference invoice document for mass testing purposes.
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Define threshold for journal workflow approval at 250,000 EUR for key and 750,000 EUR for non-key company codes. 1.) Fiori apps F2547A and F4670A: Submit journal entries with different $ amount specifications and check if workflow levels get triggered correctly. 2.) Fiori apps F1598: Post journal entries with different $ amount specifications and check if workflow levels get triggered correctly. | Workflow is assigned to all journal entries exceeding threshold amounts in group/global currency. Workflow task to release the submitted document is triggered. Work item is available in 'My Inbox' of nominated reviewers/approvers. Work item is available in push notification of nominated reviewers/approvers. |
| 2 | Approve parked document from 'My Inbox ' | Workflow task to release parked document is complete, document gets posted and work item list in ‘My Inbox’ gets updated. Notification shall be sent out to requestor and processor that document got posted. Parallel notification shall be sent out to reviewers as defined in 'Review Step'. |
| 3 | Reject parked document from 'My Inbox'. | Workflow task to reject/release parked document is complete; My Inbox worklist gets updated. No further workflow tasks are generated. |
| 4 | Locking of documents under review. | Workflow is assigned to the parked document. Workflow task to release the parked document is triggered. Changes to document shall be locked until document gets released through action from reviewer/approver (either rejection or approval). |
| 5 | Select multiple parked documents in 'My Inbox' and complete approval. | Multi-selection of work items and mass approval is possible in the application. Workflow tasks to approve selected parked documents are complete and disappear from the user's work list in 'My Inbox'. |
| 6 | Assign your own user ID as approving agent and enter your own user ID as journal requestor in the journal enry document. | Workflow should not get triggered. Exemption on grounds of rank. |
| 7 | Assign an HR position as final approver. Make sure the HR position is vacant. Also ensure that other user ID is assigned to one-up HR position of the base position from the decision table. | Agent determination logic should route the journal to the approver's manager instead as HR position of designated approver is currently vacant. |
| 8 | Submit a journal with a requestor ID being someone who is a two-level up superior to the base position for the journal as per decision table in the HR organizational chart. | Workflow should not get triggered. Exemption on grounds of rank. Direct posting upon submission. |
| 9 | Submit a journal with a requestor ID holding a Financial Controller position as per HR organizational chart. | Workflow should not get triggered. Exemption on grounds of rank. Direct posting upon submission. |
| 10 | Post parked document via SBWP (back-up) | Workflow task is completed (Posted). My Inbox is updated (work item disappears from approver’s work list). |
| 11 | Reject parked document via SBWP (back-up) | Workflow task is completed (Rejected). My Inbox is updated (work item disappears from approver’s work list). |
| 12 | Test process and workflows with alternate logon languages: Chinese French | Workflow tasks can be processed in either of the four logon languages and the content of the message is free of spelling and grammar mistakes. |
| 13 | Post I/C journal without trading partner assignment. DR 7850000 (I/C Recharge Expense) CR 5260020 (Trade Payables I/C Adjustment) | Error during background posting. Work item should be routed back to the journal processor. Push notification must be sent. Work item must contain error message from validation. |
| 14 | Approve journal with your own user ID. | User ID of approver shall be stored in BKPF-USNAM once document got posted. |
| 15 | Maintain multiple positions as approvers for country BE in the decision table. Park journal in 1010 with a value of more than 750k EUR. Check if journal is routed to all legit approvers of company code 1010. | Journal should be routed to all approvers maintained in decision table which are responsible for entity 1010. |
| 16 | Maintain band E as approver for all journals beyond 750k EUR in value for region EMEA (no country & company code). Submit journal in entity 1010 with a value of more than 750k EUR. Check if journal is routed to all legit approvers holding band E as per HR org chart design and responsible for entity 1010 within GBS. | Check if journal is routed to all users holding band E positions and responsible for entity 1010 within GBS. |
| 17 | Maintain multiple (different) positions for region EMEA, country BE and company code 1010. Submit journal amounting to >750k EUR in company code 1010 and post 2 offsetting line items to two different profit centres belonging to entity 1010. One line item should be posted with a value of 400k EUR, the other 370k EUR, for example. Check if journal is routed to all legit approvers of the respective legal entity. | The most specific entry in the agent determination decision table should take precedence over the less specific entries. As such the user assigned to the position maintained at company code level (most specific) should be selected by the agent determination logic. In the work item text, check that the description of the highest-value profit centre is displayed. |
| 18 | Maintain multiple HR positions for region EMEA as approvers. At least one HR position maintained should have GBS responsibilities outside of country Belgium. Submit journal worth more than 750k EUR in entity 1010. | Journal should be sent to the right approvers responsible for country Belgium. Do not send journal for review to reviewers if they are not responsible for Belgium. |
| 19 | Reject journal, make the necessary changes and re-submit it for approval. Approve the invoice. | Journal needs to be routed for approval to the correct approver. Upon rejection, it needs to be unlocked and flowing back the journal processor. Push notification must be sent to journal processor. Journal processor re-submits the invoice for approval, approver reviews and approves. Push notification sent to invoice processor and invoice requestor that invoice was posted. |
| 20 | Create high-value (>750k) recurring entry journal template via Fiori app F1598 in entity 1010. Do not post the recurring entry journals on the back of the template, simply create the template. | Workflow should not get triggered. Recurring entry journal templates are not updating the books hence do not require reviews. |
| 21 | Post recurring entry journal based on template created in the above test case. | Workflow should be triggered and following approver determination rules as specified for regular manual journal entries. Approve recurring journal entry. |
| 22 | Reject posted recurring entry journal and re-submit for approval. | Reviewers/approvers must be able to reject recurring journal entry posted via Fiori app F1598. The rejected journals must be sent to the journal processor who initiated the posting via F1598. The processor can update the journal and re-submit it for approval. |
| 23 | Check if deletion of journal entry is possible. | It must be possible for the journal processor to delete a journal entry that has not been submitted for approval yet or a journal entry that got rejected by the approvers. |
| 24 | Check if direct posting is possible via Fiori app 'FB70 - Create Outgoing Invoices' | The direct posting of invoices via the invoice entry application is not permitted and must be suppressed. |
| 25 | Switch on substitution for workflow. | Only users from same rank or higher rank positions should be selectable. |
| 26 | Forward work item to other user. | Only users from same rank or higher rank positions should be selectable. |
| 27 | Post ledger-specific journal to ledger 'LG' above $ threshold for the respective company code and submit the journal. | No workflow shall be triggered as journal is directed to the non-leading LGAAP ledger. Direct posting upon submission. |
Test Considerations/Dependencies
| Package Name | Parent Package |
|---|---|
| UI Type | UI Name | Fiori Catalogue | Design Rationale Reference |
|---|---|---|---|
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.
