Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Using INVOIC01, IDOC posts invoices against POs that weren't sent to vendor

Former Member
0 Kudos

Does anyone have any suggestions on how to prevent the IDOC INVOIC01 invoices from posting against POs that were not originally sent to the vendor?? (BSART = INVO)

For example, vendor (1521) sends an electronic invoice file processed as an IDOC. Vendor 1521 includes an invoice against a PO that was sent to vendor 7549. Since the PO exists, the IDOC posts against it. I want to make this a hard error (a 51 status).

Please help,

Cindy

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hello,

Use the Customer Function EXIT_SAPLIEDI_101 to check if a PO exists for an Invoice. If it doesn't have an Invoice, then use the Same Customer Function to Error out the IDoc with Status 51.

Thanks and Regards,

Venkat Phani Prasad Konduri

7 REPLIES 7

Former Member
0 Kudos

Hello,

Use the Customer Function EXIT_SAPLIEDI_101 to check if a PO exists for an Invoice. If it doesn't have an Invoice, then use the Same Customer Function to Error out the IDoc with Status 51.

Thanks and Regards,

Venkat Phani Prasad Konduri

Former Member
0 Kudos

Thanks for the suggestion. We'll give it a try and see it if solves our issue!!

I appreciate your help!

Cindy

Former Member
0 Kudos

Hi Cindy,

If you are using a standard process code for this interface, you will not have this sort of problem as the combination of Vendor and PO number are validated before that is posted. If you are using a custom stuff then you need to check the table EKKO by passing the vendor number and PO number as input to that, if that combination exists go ahead otherwise throw the idoc into 51 status.

Thanks,

Mahesh.

0 Kudos

Thanks Mahesh.

I'll pass this along to the developer along with the user exit someone else suggested to use.

Cindy

asik_shameem
Active Contributor
0 Kudos

Hi Cindy,

Use IDOC FILTERS ( BD64 ).

0 Kudos

Hi,

BD64 transaction is only used for distributing the data between 2 sap system and only used ALE configuration. We generally use ALE for only master data and not for transaction data.

Thanks,

Mahesh.

0 Kudos

Thanks Asik,

I'll pass this along to our developers along with the other suggestions I've received.

Cindy