cancel
Showing results for 
Search instead for 
Did you mean: 

Remove Billing block from sales order automatically.

Former Member
0 Kudos

Hi SDN gurus,

I have a requirment that the sales order's blilling block should be automatically removed after the PGI is done for the sales order so that the it gets into the Billind due list instead of going to each of the Gi'd sales order and remove the block.

Is there any way that we activate in the background job.

Thanks in advance.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

As i understood, you want to remove the billing block automatically in the delivery related billing scenario.

First of all check why you need to have a billing block, if you want system to remove it automatically after PGI. Purpose of the Billing Block is to have a manual control for PGI'd deliveries not getting billed without removing the block. So in your case I think better to remove the billing block from the configuration.

To remove the billing block at Item level, go to Tx: VOV7.

Go in to your relevant Item Category & remove what's there in the "Billing BIock" field under "Business Data" section.

Save

To remove the billing block at the header level, go to Tx: VOV8.

Go in to your relevant Document type & remove what's there in the "Billing BIock" field under "Billing" section.

Save.

Now try from a fresh cycle.

Best regards,

Anupa

Former Member
0 Kudos

Thank you all for your thoughful answers,

My requirement for this is only for the sales order that determines a particular shipping point.

User does not want to go back and perform removing billing blocks manually, instead once the PGI is done it can be billed automatically.

Former Member
0 Kudos

Hi,

In that case, you could try a user exit to do the needful. Please refer below link for all SD user Exits. Try one of those to get your requirement sorted.

https://wiki.sdn.sap.com/wiki/display/ERPLO/SD%20User%20exits

Best regards,

Anupa

Former Member
0 Kudos

Hi Experts !!

This is very genuine and very common requirements in most of the industries which i have seen.

For this you need to create the Z-Enhancement Program,Z table and with order type/shipping point/item category combination(value 1 is Order typr value 2 is Shippingpoint and Item category combination) after you need to schedule the Job for removing the Billing Block

You have to validate below scenario's before executing your new Billing removal program

1. Sales order should have Specified Billing block in Z-Enhancement

2 The outbound delivery needs to be created

3 The outbound delivery needs to be post goods issued

4. If there is no outbound delivery (e.g., scrapped at Honeywell) conditions 2 and 3 do not apply

Processing Logic roughly:

This enhancement is affect 3 programs

Order processing program: MV45AFZZ included in SAPMV45A

Delivery processing program: MV50AFZ1 included in SAPMV50A

lastly your New Z-Program.

(Remove billing block

o If concatenation of order type (VBAK-AUART), plant (VBAP-WERKS) and item category (VBAP-PSTYV or LIPS- PSTYV, these are the same) is equal to Z-Enhancement program and remove billing block Z-Billing block programe.

o Else

o If concatenation of order type (VBAK-AUART), plant (VBAP-WERKS) and item category (VBAP-PSTYV or LIPS- PSTYV, these are the same) is equal to Z Program_BB_REMOVE_PGI , read VBUK-WBSTK.

If delivery has not been post goods issued (VBUK-WBSTK does not equal C) stop

If delivery has been post goods issued (VBUK-WBSTK = u201CCu201D), LIKP for LIKP-KNUMV remove billing block Zprogram BB_BLGBLK.

o Else STOP

Processing logic new batch program

Read data from Z table variable

Create an input screen where selections are order type (VBAK-AUART), Sales organization (VBAK-VKORG), Distribution channel (VBAK-VTWEG), Division (VBAK-SPART), Shipping Poin

Select all orders (specified in previous step) where VBAK-FAKSK = Z Prog BB

o For each document found loop through table AUFK to determine value AUFK-IDAT2 is not initial

o If AUFK-IDAT2 is initial do not remove billing block from order

o If AUFK-IDAT2 is not initial:

Read sales order:

u2022 If VBUK-LFGSK = u201CCu201D remove billing block from order (VBAK-FAKSK is set to initial), and

u2022 If order contains an item with VBAP-VKGRU

u2022 remove billing block from order (VBAK-FAKSK is set to initial)

Note: This change is necessary to make sure that the billing block is only removed by the batch program..

Else STOP

For make it possible in SAP please take help of ABAPER

Thanks

Mallareddy

Former Member
0 Kudos

In this case u need to use userexit to be come out for this solution. try to find out is there any feasability in the existing SALES ORDER user exits with help of ABAP. it is possible......

Former Member
0 Kudos

Hi,

If your sales order is Delivery related billing document, then you cannot create the billing untill you process delivery document(PGI)

so no need to set the billing block for your case.

Regards

Senya

Former Member
0 Kudos

Hi,

The only way is to remove the Billing Block in the SPRO settings....

Regards

Former Member
0 Kudos

HI,

if you want to remove the billing block after the PGI is done, then there is no meaning in inserting the billing block. so better do not insert the block. SAP itself would allow the order to get into the billing due list once PGI is performed.

to my experience billing blocks are inserted only, if u want the system to stop the billing document generation automatically. so that some one can go into the document manually, review the order and then create the billing document if needed.