Tuesday, February 9, 2010

FI Document Parking using SAP Workflow

Compliance with the journal entry standards set forth by company audit teams and Government agencies requires that several documents in financial accounting (FI) require a review and approval before they are posted in the system. The SAP FI Document Parking functionality provides the framework for subjecting an FI document to an approval process using the SAP Business Workflow component, along with several possible enhancements to the process per customer requirements.


The document parking functionality provides the necessary configuration options to determine whether and how many levels of approval are required for a given document using the FI doc type and the amount. Therefore, it is possible to require only specific doc types to go through the review / approval process and a doc type and amount combination to determine the number of levels of approval required for an FI document.

The process begins with the accounting clerk parking the document. Once the document is parked, it is sent to an approver for authorizing payment amounts, so that the amount can be approved for release. Next, the document may be returned to the clerk for completion. Finally, the document is sent to the person responsible for account assignment approval. Once it is released, workflow triggers the document for posting in the background. The following graphic helps explain the process:

The procedures described in this article are the standard SAP processes. I am also going to provide pointers to some of the customization opportunities that would provide the required flexibility for client specific requirements at the end.

Basic Workflow Setup

The release workflow process is initialized with the FIPP.CREATED event raised when the FI document is first parked. This event triggers the standard workflow WS10000051, which provides the framework for the entire workflow process. For example, the release sub-workflow are determined at runtime during the execution of this workflow based on configurations set up as explained later in this article. Once the sub-workflows are executed without error, this workflow also has the task that posts the FI document in the background. The event linkage for this workflow must be activated for the FIPP.CREATED event using transaction SWE2.




Release Approach


The standard system provides two ways to release the document, either or both of which can be implemented:
- amount release; and
- account assignment release;


Amount Release
Amount release is triggered when the document is first parked. The standard system provides three different sub-workflows for amount release - WS10000052, WS10000053 and WS10000054 respectively for one, two and three levels of approval for the document. You can define your own custom sub-workflow and assign it in the configuration settings as explained below. One point to note though is that the custom sub-workflows should have the same interface as the standard interfaces.

Account Assignment Release
Account assignment release is triggered when the document is completed. The account assignment approval is valid for all organizational objects such as position, job, and organizational unit that are assigned to the release step. You can assign persons responsible for cost centers in Organizational Management (HR) – then, the person responsible must approve all the documents created with account assignment to the cost center. If the document is approved, it is posted in the background. If it is rejected, it is sent back to the clerk to make modifications. The account assignment sub-workflow is specified in the configuration step to define the workflow variant. You can define your own custom sub workflow and assign it in the workflow variant, but the custom sub workflow must have the same interface as the standard sub workflow WS10000055.

Configuration

The following graphic shows the IMG path for the entire document parking functionality:



Workflow Variant
The key to the configuration is the definition of the workflow variant, which, after creation, is assigned to the company code for which document release is to be implemented. The workflow variant determines whether document release is required and the amount limit after which document release is required. Any document below this amount limit will not be subject to release. Additionally, the workflow variant defines the sub-workflow to be used for the account assignment release (account assignment release is explained later). The graphic below shows the workflow variant:


Release Approval Groups
When dealing with vendor / customer postings, release approval groups allow to group release procedures (the number of releases, doc types, etc…) together. The release approval groups defined in the IMG are then assigned to vendor / customer master records. Subsequently, when an FI document is created against the corresponding vendor / customer, the system copies the release group information into the document and determines the document release procedure based on configuration for the release group. However, this article only deals with FI-GL documents, so we will not be discussing those features here.

Release Approval Paths
The release approval paths provide a way to combine FI doc types and release approval groups (if they are configured) to determine the release procedures. The following graphic shows the assignment of release approval paths to doc types and release groups:



Release Approval Procedures
The release approval procedure determines the sub-workflow to be used for amount release using a combination of workflow variant, release approval path and amount. One of the three standard sub-workflows for amount release or a custom workflow could be assigned in this configuration step.

Users with Authorization to Release
In this step, you will assign organizational objects such as a job, position, organization unit, etc… to the combination of the workflow variant, release path, release level and amount. This will authorize all the users assigned to the organizational object to release the FI document. Alternatively, you can determine the agent to send the FI document work item using workflow customizations. This will mean that an agent determination by organizational unit or an agent determination rule with a function module is implemented in the workflow. This method is especially useful if you do not have HR-Organizational Management completely implemented.

Release Process Outlines

The following screen prints are from a workflow implementation where only the amount release is configured in the system. Once the document is parked a work item is received in the approver’s Inbox:
Upon executing the work item, the document is displayed with the options to release / reject the document:
Once the document is approved, it is posted in the background.

Relevant Customization Opportunities

User-Exit EXIT_SAPLF051_002
This user-exit is useful when it is required to conditionally trigger the release workflow upon parking the FI document based on pre-defined conditions. This user-exit receives the BKPF and BSEG data structures in the interface, therefore, it provides a wide range of options to conditionally control the triggering of the workflow.

Business Transaction Event (BTE) 1140
When using the workflow process, SAP security does not prevent posting the documents directly in the system without having to park them. It becomes almost essential to prevent this from happening by implementing the BTE 1140 to disable the POST option on the document posting transaction screens, so the user is mandated to park the document and go through the workflow process if it is required.

Accrual and Recurring postings in the FI-GL space require special handling and custom workflows, because SAP at the level of ECC6.0 does not provide a mechanism for these documents to be parked and posted using the workflow process. Hence, the business objects for which create events must be raised are different and there are no standard workflow templates provided for them either.


Please feel free to let me know if you would like to explore the possibilities in this area.

22 comments:

  1. Excellent article,
    I really got a lot of help from it.
    Also check out www.abapguides.blogspot.com

    There is a document parking workflow tutorial there too.Would be helpful for abapers.

    Cheers

    ReplyDelete
  2. Muralidhar,

    If you wanted to use the functionality of the Amount Approval but didn't want to use the Account Assignment Approval is that possible using standard SAP?

    Thanks,
    Colm

    ReplyDelete
  3. You might want to check with your workflow person to find out if it is possible to automatically approve the account assignment workflow. Otherwise, it will be necessary to create a custom workflow for the whole approval process, which is not an expensive or difficult option either.

    Pleaes let me know if you have more questions.

    ReplyDelete
    Replies
    1. Thanks for the article. We have a requirement for workflow for Accrual docs. Can we code it in the user exit or does it need to be a custom code?
      Thank you

      Delete
  4. Accruals use a different business object to process and therefore require a custom workflow and separate activation in the workflow engine. However, they can use the same authorization / approval procedures as the regular journal document approval workflow (if that's what you want to do).

    ReplyDelete
    Replies
    1. Thanks Murali.
      Do you have any documentation which lays out what business object is needed and where is the activation done? Any documentation would be helpful
      Thank you

      Delete
    2. Hi,

      We have a requirement wherein we need to use FBD1 to post recurring entries with the Park function.

      Is there any way we can park the recurring entry document ?

      Delete
    3. I don't think SAP provides that option for recurring entries. I tried asking SAP and as far as I remember, they said it's in their enhancement list with a low priority.

      Delete
    4. Hi Muralidhar,
      I do have a requirement for providing approvals for Accrual posting. As we do not have park functionality, I cannot see how we can get approval before it is posted. Could you kindly share the process steps or any kind of information for developing an approval process for Accruals posting.

      Thanks for your help.

      Delete
  5. Hello,
    how do you actually get that IMG path to show? Is that coming in automatically when the workflow is assigned to the workflow variant? Is there any "generation" or "activation" needed to bring it in?
    Thanks
    HC

    ReplyDelete
  6. Hi Murali. For some reason, our workflow is not getting restricted at document type level. Any document type that I use whether I configured in approval path or not, it goes through workflow which is not the expectation. Do you have any idea how to resolve that?

    ReplyDelete
  7. Have you checked configuration to make sure you have made the correct assignments in the IMG activity: "Assign Release Approval Paths for Parking Documents"?

    ReplyDelete
  8. Great article. However in New GL environment the Menupaths seem to have changed. Do you know where have these settings moved?

    ReplyDelete
  9. Hi Murali,

    I want to add the Release, Reject Tab on the document, once the approve selects the document. How can i do that?

    ReplyDelete
  10. hi Muralidhar,

    we have done all the configuration as required.
    we are using two diffrent organizational units for two diffrent company codes. but when our custom workflow is triggered, release amount step go to agents assigned to both organizational units.
    e.g lets say for company code 123 we have agent A and for company code 456 we have agent B. when we create the document for company code 123, relese step goes to both agents A and B, whereas we want it to be sent to only agent A. Please advice.

    Regards
    Vittalprasad

    ReplyDelete
  11. How can I obtain a list of 'approvers' for the individual subworkflow procedures?

    ReplyDelete
  12. Hi ,
    Thanks for your documentation .But I have question ..I fallowed your documentation and it worked workflow if the document is parked .
    But my requirement is if the document is posted in FB50 The user can post certain level of amount , if they exceed more than that limit the system should park the document and should trigger workflow Could you please let me know if that is possible .

    Thanks in advance
    Anna

    ReplyDelete
  13. It's been a while since I did this, but I think it's possible to use a BADI in FB50 to prevent the posting of a document based on amount and even possible to initiate an approval workflow based on the amount. However, I think that this would be non-standard where you would need to develop your own custom workflow.

    ReplyDelete
  14. Hello Murali,

    I have a basic question, if a user parks an G/L document via FV50, can he/she be restricted from posting the same document? is this standard or needs customization?

    Thanks,

    Jagath

    ReplyDelete
  15. Hi Muralidhar,

    Greetings for the Day,

    There been huge documents parked with mismatch with debit and credit.

    I would be highly obliged if you could suggest me if there is any control to configure so as to make these mismatches from not being parked.

    I know that there is a T.Code: OBBO, however, here on toggling, the parking opt will not be there.

    Else, is there any VALIDATION or SUBSTITUTION rules for this to implement.

    Thanking in Advance,
    Raghav.

    ReplyDelete
  16. Hi Muralidhar

    I tried using the Standard Workflow WS10000052.

    The problem is when the approver REJECT the park document, there is no notification to the initator SAP Inbox (SBWP).

    How and where do we configure the REJECT process in the worfklow?

    ReplyDelete