| 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.
No special security, integrity or control requirements identified.
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) . 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 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 invoice, 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 (EUR) | HR Position | Band |
|---|---|---|---|---|---|---|---|
| 1 | KEY | * | * | * | >500,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 invoice requestor and invoice processor once requested invoices 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:
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
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.
Triggers and Start Conditions
The workflow shall be triggered once a document gets successfully ‘Saved as completed’ by the invoice processor. Users may directly press the ‘Save as completed’ button rather than parking the document first and saving it as completed in a separate step so the workflow shall be triggered upon saving the document as completed regardless of whether it has been parked in a preceding step or not.
Approvers/Reviewers shall not be given editing rights to the source document. Any changes to the document must be performed by the invoice processor to achieve clear segregation of duties.
Parked documents for sundry customer invoices will all be created via Fiori application 'FB70 - Create Outgoing Invoices'.
Below a list of business objects that can be used for this workflow process:
Business Object | Event | Condition | Design Rationale Reference |
FIPP | PrelPostingDocument.Completed | Parked document is saved as completed. | This event shall trigger the workflow. |
FIPP_SUBWF02 | Two-Level Amount Release | Parked document relevant for two-tiered approval workflows | |
FIPP | PrelPostingDocument.Created | Parked document is created / changed | This event should not trigger the workflow. |
FIPP | PrelPostingDocument.Deleted | Parked document is deleted |
|
The flow below is the standard process flow for a single-tier approval of parked documents in SAP (the required 2-tier approval workflow requested for this custom workflow will have another review loop compared to the below illustration but conceptually the document flow will be identical):

Note: Mail in this context refers to the workflow notification sent to the ‘My Inbox’ application of the approver. It will not trigger emails to the approvers.
1.) Business Scenario for regular invoices/invoices:
2.) Business Scenario for Argentina e-Invoicing:


Step Description | Validate Document |
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 | Att. To: <CEPCT- LTEXT> Release Sundry Customer Invoice Document <BELNR><BUKRS> |
Body Text | ATTENTION TO: <CEPCT-LTEXT> (bold letters) ‘Sundry Customer Invoice <document number> raised in company code <company code> requires your action. Please validate the invoice 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 reviewing 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 invoice document subject to approval. A link to the parked document shall also be provided to allow the user to review the document in S/4 in document entry view (link to transaction code FV53). |
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 invoice processor in case errors are encountered during background processing of the invoice after initial approval of the document by the tax reviewer or the invoice approver. At the same the invoice document 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 parked document approval workflows. 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 level 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 invoice document.
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.
The expected volume of customer invoices subjected to this workflow is low. The primary reason for this is that the sundry customer invoice processing via FI-AR is only resorted to in exception cases in the SyWay process designs. The primary route for customer invoices remains the billing process via the Sales and Distribution module, also in S/4 HANA.
The testing of this workflow needs to be conducted when the standard workflow has been enhanced to meet the specified functional and business process requirements.
Some temporary assignments in the user decision table will be required for agent determination.
All invoice documents shall be parked via Fiori application 'FB70 - Create Outgoing Invoices'.
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 level 2 approval at 1,000 EUR. Create parked documents with different $ amount specifications and check if workflow levels get triggered correctly. | Workflow is assigned to all parked document upon completion only. Workflow task to release the parked 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 (For Company Codes in other countries except Argentina) | 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. |
| 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 | Lock parked document | 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 final 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 final approving agent and enter your own user ID as journal requestor in the invoice document. Ensure other user ID is assigned to HR position representing next higher level in authorization matrix. | Agent determination logic should skip second level approval as requestor and approver are identical. |
| 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 that the base position from the decision table reports into. | Agent determination logic should route the journal to the approver's manager instead as HR position of designated approver is currently vacant. |
| 7 | Post parked document via SBWP (back-up) | Workflow task is completed (Posted). My Inbox is updated (work item disappears from approver’s work list). |
| 8 | Reject parked document via SBWP (back-up) | Workflow task is completed (Rejected). My Inbox is updated (work item disappears from approver’s work list). |
| 9 | 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. |
| 10 | 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. |
| 11 | Approve journal with your own user ID. | User ID of approver shall be stored in BKPF-USNAM once document got posted. |
| 12 | Maintain multiple positions at L2 for country BE in the decision table. Park journal in 1010 with a value of more than 1k EUR. Check if invoice is routed to all legit approvers of company code 1010. | Invoice should be routed to all L2 approvers maintained in decision table which are responsible for entity 1010. |
| 13 | Maintain band E as L2 approver for all invoices beyond 1,000 EUR in value for region EMEA (no country & company code). Park invoice in entity 1010 with a value of more than 1,000 EUR. Check if invoices is routed to all legit approvers holding band E as per org chart design and responsible for entity 1010 within GBS. | Check if invoice is routed to all users holding band E positions and responsible for entity 1010 within GBS at level 2. |
| 14 | Maintain multiple (different) positions at L1 and L2 for region EMEA, country BE and company code 1010. Park invoice amounting to 1,100 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 600 EUR, the other 500 EUR. Check if invoice 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. |
| 15 | Maintain multiple HR positions for region EMEA as L1 approvers. At least one HR position maintained should have responsibilities outside of country Belgium. As threshold value for level 2 maintain 1,000 EUR. Park invoice worth less than 1,000 EUR in entity 1010. | Invoice should be sent to the right tax reviewer responsible for country Belgium. Do not send invoice for review to tax reviewers if they are not responsible for Belgium. Once reviewed by L1 approver, invoice should be posted right away. |
Reject invoice at L1, make the necessary changes and re-submit it for approval. Reject the same invoice at L2 and then subsequently re-submit it for approval. Approve the invoice. | Invoice needs to be routed for approval to the correct L1 approver. Upon rejection, it needs to flow back the invoice processor. Push notification must be sent to invoice processor. Invoice processor re-submits the invoice for approval, L2 approver rejects it again. Work item needs to flow back to the invoice processor. Push notification must be sent to invoice processor. Invoice processor re-submits the invoice for approval, L2 approver approves the invoices. Push notification sent to invoice processor and invoice requester that invoice was posted. | |
| 16 | Approve parked document from My Inbox - Argentina government validation is rejected (Company Codes is in Argentina) | Workflow cross checks the government rejection validation indicator to prevent the release of parked document and releases parked document editing lock, parked document is not posted and work item list in ‘My Inbox’ gets updated. Notification shall be sent out to requester that document did not get posted due to Argentina government validation got rejected. |
| 17 | Approve parked document from My Inbox - Argentina government validation is accepted (Company Codes is in Argentina) | Workflow cross-checks the government acceptance validation indicator to release parked document, after which 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. |
| 18 | Reject parked document from My Inbox - Argentina government validation is accepted (Company Codes is in Argentina) | Workflow cross checks the government acceptance validation indicator and My Inbox rejection after which document does not get posted and work item list in ‘My Inbox’ gets updated. Notification shall be sent out to requestor and processor that document did not get posted because of rejection from approver. |
| 19 | Reject parked document from My Inbox - Argentina government validation is rejected (Company Codes is in Argentina) | Workflow cross checks the government rejection validation indicator and My Inbox rejection after which document does not get posted and work item list in ‘My Inbox’ gets updated. Notification shall be sent out to requestor and processor that document did not get posted because of rejection from approver and government rejected. |
| 20 | Check if parking of customer invoice is possible. | Parking of invoice documents must be possible. However, it must not trigger the approval workflow. |
| 21 | Check if deletion of customer invoice is possible. | It must be possible for the invoice processor to delete a parked invoice document that has not been submitted for approval yet or a parked invoice document that got rejected by the approval workflow/government validation. |
| 22 | 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. |
| 23 | Switch on substitution for workflow. | Only users from same rank or higher rank positions should be selectable. |
| 24 | Forward work item to other user. | Only users from same rank or higher rank positions should be selectable. |
List any considerations essential for application test planning (e.g. test this before ABC along with DEF separate from GHI). If the development encompasses a user interface, explain how to test it. List any insights as to how this component could be tested the most efficiently.
| 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.
