Skip to Content
Technical Articles
Author's profile photo Jonathan Eemans

Park accounting document via BAPI_ACC_DOCUMENT_POST


Standard SAP functionality allows parking accounting documents before finally posting these documents. Parking can be used to enter and store (in)complete documents in the SAP system, without carrying out extensive entry checks. These parked documents can be completed, checked and then posted at a later date.

When registering accounting documents via interface and not directly online in your SAP environment, the same business application programming interface (BAPI) is used as for posting accounting documents. This is BAPI_ACC_DOCUMENT_POST.

Some fields have to be filled with specific values to park accounting document via BAPI_ACC_DOCUMENT_POST. OSS note 2092366 explains how to park an accounting document using BAPI_ACC_DOCUMENT_POST.


Example program to park accounting document via BAPI_ACC_DOCUMENT_POST

I share with you a test program which parks an accounting document with vendor line using BAPI_ACC_DOCUMENT_POST. The fields to be changed to post in your SAP environment are marked with ‘To be changed !’


*& Report ZTEST


*& Test program to park document using BAPI_ACC_DOCUMENT_POST



* Work Areas

DATA: gs_documentheader TYPE bapiache09                            ##NEEDED,

      gs_accountpayable TYPE bapiacap09                            ##NEEDED,

      gs_currencyamount TYPE bapiaccr09                            ##NEEDED,

      gv_obj_key        TYPE awkey                                 ##NEEDED,

      gs_err_tab        TYPE bapi_msg                              ##NEEDED,

      gs_return_format  TYPE bapiret2                              ##NEEDED.

* Tables

DATA: gt_documentheader TYPE STANDARD TABLE OF bapiache09          ##NEEDED,

      gt_accountpayable TYPE STANDARD TABLE OF bapiacap09          ##NEEDED,

      gt_currencyamount TYPE STANDARD TABLE OF bapiaccr09          ##NEEDED,

      gt_return         TYPE STANDARD TABLE OF bapiret2            ##NEEDED.

* Fill header structure

  gs_documentheader-bus_act    = 'RFBV'. "Business Transaction set as per SAP Note 2092366

  gs_documentheader-username   = sy-uname. "User name

  gs_documentheader-header_txt = 'TEST'. "Document Header Text

  gs_documentheader-comp_code  = 'BEN0'. "Company Code - To be changed!

  gs_documentheader-doc_date   = sy-datum. "Document Date in Document

  gs_documentheader-trans_date = sy-datum. "Translation Date

  gs_documentheader-pstng_date = sy-datum. "Posting Date in the Document

  gs_documentheader-doc_type   = 'KR'. "Document Type - To be changed!

  gs_documentheader-ref_doc_no = 'TEST'. "Reference

  gs_documentheader-doc_status = '2'. "Document status set as per SAP Note 2092366

  APPEND  gs_documentheader TO gt_documentheader.

* Fill vendor structure

  gs_accountpayable-itemno_acc = '0001'. "Accounting Document Line Item Number

  gs_accountpayable-vendor_no  = '0000895746'. "Account Number of Vendor or Creditor - To be changed!

  gs_accountpayable-partner_bk = '0001'. "Partner Bank Type - To be changed!

  gs_accountpayable-pmnttrms   = '00AA'. "Terms of Payment Key - To be changed!

  gs_accountpayable-pmnt_block = ''. "Payment block key

  gs_accountpayable-pymt_meth  = ''. "Payment method

  gs_accountpayable-comp_code  = 'BEN0'. "Company Code - To be changed!

  APPEND  gs_accountpayable TO gt_accountpayable.

* Fill amount structure

  gs_currencyamount-itemno_acc = '0001'. "Accounting Document Line Item Number

  gs_currencyamount-curr_type  = '00'. "Currency Type and Valuation View

  gs_currencyamount-currency   = 'EUR'. "Currency Key

  gs_currencyamount-amt_doccur = '1000.00'. "Amount

  APPEND  gs_currencyamount TO gt_currencyamount.

* Call BAPI to park the document



      documentheader = gs_documentheader


      obj_key        = gv_obj_key


      accountpayable = gt_accountpayable

      currencyamount = gt_currencyamount

      return         = gt_return.



    wait = 'X'. "Set flag for wait for so that commit happens successfully



BAPI_ACC_DOCUMENT_POST can be used to park accounting documents in SAP.


Useful reference

OSS note 2092366:

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Esteban Wilder
      Esteban Wilder

      Hi Jonathan! Excellent article, very helpful!

      I run the BAPI and everything works great. I get the document number. But I have a problem: i cannot edit the document that was just created with transaction FV60. I can only edit it with FBV2. I debug the BAPI, and I found that there is a condition that checks for the transaction (it means, that you cannot change in extension2 the value of "TCODE" or in BTE RWBAPI01).

      Do you have an idea how we can edit the document with FV60 after running the BAPI?

      Thanks in advance,


      Author's profile photo Jonathan Eemans
      Jonathan Eemans
      Blog Post Author


      It's never possible to change a parked document via transaction FV60. In order to change a parked document, you should use transaction FBV2 or another transaction allowing to change parked documents.


      Best regards,


      Author's profile photo Mohit Sharma
      Mohit Sharma

      I found the answer; if we dont fill the HEADER-DOC_STATUS, the BAPI will post the document, instead of posting.

      Hi Jonathan,

      Thanks for the post.

      My question is, what if someone wants to direcly post the document?

      What parameters should be filled?

      Best Regards,
      Mohit Sharma

      Author's profile photo Fellipe Mendes
      Fellipe Mendes

      Hi Jonathan! Excellent article, congrats!

      Please, do you know if this way the Workflow is triggered?

      I went through the following situation:

      If I create a parked document by the FV60, the Workflow is triggered.
      But if I create via BAPI (following its source code) the Workflow is not triggered.


      I appreciate all your help or comments.

      Thank you,


      Author's profile photo Jonathan Eemans
      Jonathan Eemans
      Blog Post Author

      Hi Fellipe,

      I don't have experience with triggering workflow from document parking via BAPI. But in my opinion the object type FIPP can be used to trigger workflow.

      When I search for 'Accounting Interface FIPP' in SAP Support I get results, so it should be possible.

      Best regards,