cancel
Showing results for 
Search instead for 
Did you mean: 

Sales area and Inco terms specific Billing block

Former Member
0 Kudos
338

Hey Guys,

Is there a way where we can place the billing block to the Payer, specific to sales area and inco terms ?

I know in normal, VD05 transaction, we can place block specific to sales area .

But is it possible to add inco terms to consider while deciding billing block to be placed during order placement ?

Example -

I want billing block to be placed for payer -305976 ,

Sales area - 0001 - 04 - 01 plus inco terms CFR




Message was edited by G. Lakshmipathi

Don't type the entire text in subject.  Make use of it effectively



Accepted Solutions (1)

Accepted Solutions (1)

ravi_kumar100
Active Contributor
0 Kudos

Hi,

Code your requirement in the User Exit Include MV45AFZB .

Regards,

SRK

Answers (5)

Answers (5)

Former Member
0 Kudos

There's no other option except to use an enhancement for this. Write a logic with the help of your abaper at include MV45AFZZ and FORM USEREXIT_MOVE_FIELD_TO_VBAK to modify VBAK-FAKSK for particular payer, sales area and incoterms. In case you need any help related to this, feel free to ask. Thanks.

jignesh_mehta3
Active Contributor
0 Kudos

Hello,

One more question to add to TW's question above: is what is the need for Billing Block for combination of Sales Area + Payer?

I mean a Delivery block is understood because I restricts the movement of goods out of your ownership. But once PGI is done, having a Billing block does not seems to be of much use.

Thanks,

Jignesh Mehta

Jelena
Active Contributor
0 Kudos

Jignesh Mehta wrote:

I mean a Delivery block is understood because I restricts the movement of goods out of your ownership. But once PGI is done, having a Billing block does not seems to be of much use.

OP didn't say this was delivery-related billing scenario. Billing block is quite relevant in the order-related billing.

It would be nice though if OP provided clarification why this is needed. (I suspect it's some export scenario, but who knows, could be just someone's wild idea.)

former_member182378
Active Contributor
0 Kudos
Billing block is quite relevant in the order-related billing.

Jelena,

If we assume that the process doesnot have the delivery step, still how would it benefit to automatically setup a billing block in the order?

Example: A company sells TV repair service. Order created and billing block is set. The company might render the service to the customer, even though block is setup in the order.

TW

Jelena
Active Contributor
0 Kudos

TW, billing block prevents the consequent document from being created, that's the gist of it. In case of the delivery-related billing the relationship is too far out, but it's direct in the case of order-related billing.

There is no field whatsoever in SAP that can physically prevent anyone from providing goods or services (possibly without billing the customer). I hope everyone understands that. If you are looking for a valid business case for the billing block use - consider, for example, a contract for some kind of subscription-based service. Contract can be created/renewed in advance and the customer has an option to proceed with it or cancel. The billing block is placed until the customer makes a decision to ensure the customer is not billed accidentally before they accept (unfortunately, the future billing date does not prevent the accidental billing).

Still no sign of OP though. I wonder if somehow we are more interested in this than he/she is.

VeselinaPeykova
Active Contributor
0 Kudos

Another common usage of billing block is for credit memo approvals.

The credit memo request document is created by employee A, but the final billing should be created after manager B reviews documents exceeding some predefined value and confirms that the customer claim is valid, so that he should get a refund. He approves the creation of the billing by removing the billing block. If the claim is unreasonable, he can reject the credit memo request.

Reset of billing block can be used in DSD to ensure that the final settlement run is successfully executed before billing can be triggered. Imagine you have 20 deliveries for 15 customers in the shipment, for 18 of them all goes well - the initial orders are updated, correction deliveries are created, goods movement is posted. This means we can remove the billing block from the orders and bill in the background. But what if for some reason we get an error while updating one of the orders with return items and a correction delivery is not created at all? It will not be a good idea to bill this order automatically (we used order-related billing on delivery quantity in this case and the final invoice is sent at a later time to the customer). We will need to resolve the issue, then reprocess the settlement and trigger order update, delivery creation and so on.

former_member182378
Active Contributor
0 Kudos

Veselina,

Thanks for the DSD example!

There is no discussion / doubt in setting billing block in order, in case of returning money to the customer. The company would want to check / control before giving money.

TW

VeselinaPeykova
Active Contributor
0 Kudos

Now I remembered another case which I had (not DSD), where billing block could be a good idea.

We had one special customer. In general, he requested that he receives summary invoices once in a month (invoice list), but sometimes he wanted for certain standard orders not to be a part of the invoice list, but to get them separately. As the initial document type is the same in both scenarios and he informs us on per case basis when he places the order, what we did was to bill with a billing type different than the default one (not F2 which is assigned to LR, but can be ZF2, which is not assigned to any invoice list type). So if you see some special billing block in the order, you will know that you need to use not the default F2, but ZF2. Not a nice way to handle the process, I know, but when you have no budget for development and you don't want to create a new order type for just one payer (and especially if you aim to discourage such practices), this is one possible option.

former_member182378
Active Contributor
0 Kudos

Veselina,

Thanks!

If we dig deeper, we can say that the purpose "this" billing block in the sales order was to inform, to use a different billing type. And not per se to block the billing document. So, in theory, another field in the sales order could also be used, to inform the billing department, to use the other billing type (not the default one).

In any case, the billing block was set manually by the user, during creation of the sales order.

when you have no budget for development

With development, what could have been achieved? What design?

TW

Note - a big thanks for sharing these real time experiences!

VeselinaPeykova
Active Contributor
0 Kudos

Well, for a different project (with a much wider scope, impact and budget) we re-determined the default billing type for specific documents in a user exit based on predefined criteria (there billing had to be performed without user interaction).

For the case which I previously mentioned, it made no sense to do that - only one customer and a few documents per year.

You are right, a different field could also be used to inform the billing department to use a different billing type, but the reality is that if you set no billing block to stop them, they will not check .

former_member182378
Active Contributor
0 Kudos

Navaneeth,

Please explain the business background for determine billing block in sales order, for particular combination of sales area, payer and incoterms. More specifically, why does your client want to have incoterms as one of the criteria? Incoterms is more relevant to the delivery process, how is payer and incoterms related?

TW

Former Member
0 Kudos

Hi,

You want to block the billing document for credit check or for other ?

please specify if for credit check you have a slandered process where you can assign the credit check for the customer.

rahul_vishwakarma2
Contributor
0 Kudos

Hi Friend,

There is no functional way to get this. Try to do it with the help of technical guy.

Try to do code on following user exit : MV45AFZZ, or MV45ZFZB.

Also, this link can help you to get few information.

Regards,

Kundan