cancel
Showing results for 
Search instead for 
Did you mean: 

Blocking sales order for delivery if proforma invoice is raised

Former Member
0 Kudos

Hi,

I have a requirement stated below,

1. we create a sales order.

2. Raise a proforma invoice against the sales order.

3. The Sales order for which the proforma invoice is raised must be blocked for delivery.

4. Advances/payments will be done against the proforma invoice.

5. once the payments are received against the proforma invoice then the sales order should be released to delivery.

This is the scenario

1. Sales order should be blocked for delivery if proforma invoice is raised.

2. If payments(partial/full) is received then only the delivery block should be removed.

hence can anyone suggest me how to proceed.

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi Sudhir,

As per your requirement below mentioned configuration is require for process.

1. Create New Sales Document Type

     1.1 Require Delivery block in your sales document type

2. Create New Billing Document Type

     2.1 SD document category is require U
3. Copy Control require from create Sales  Document to Billing Document

     3.1 Based on your Item category

4. Assign Pricing procedure to sales document type

Here your first requirement is complete for perfoma invoice creation of without delivery then remove delivery block in sales order after received advance payment and system is allow to create delivery.

Thanks

Arun

Jelena
Active Contributor
0 Kudos

Is there any reason why the standard Downpayment functionality cannot be used?

Also I'm not really an SD expert, but I understand that for a sales document type we need to chose either the order-related or delivery-related billing. Since you seem to be going with delivery-related billing for the regular process, are you sure a proforma could be issued for such order? We use proformas, but I have not seen an order-related proforma for an order that has delivery-related billing.

And how exactly would you capture payments against the proforma if it doesn't post to accounting? Have you discussed the GL postings with an FI expert?

Certainly you can ABAP the heck out of it, but not sure it's a good design to begin with.

former_member182378
Active Contributor
0 Kudos

suhdir,

4. Advances/payments will be done against the proforma invoice.

I had raised concerns over the above point. Jelena too has commented on this.

Please check this with your FI consultant.

It might happen that the client has come up with this requirement, but they do not know how exactly does SAP work! Thus do the analysis (with the help of an FI consultant) and discuss the options with your client.

former_member182378
Active Contributor
0 Kudos

Jelena,

We use proformas, but I have not seen an order-related proforma for an order that has delivery-related billing.

Your above comment interesting!

It would be delightful thinking for SD functional consultants and the business users from Sales side to come up with an example for the above case.

Thank you!

Former Member
0 Kudos

Dear TW

payments will be done against the Sales Order only. by taking sales order number as base.

Former Member
0 Kudos

Hi SUdhir,

Please have Delivery Block at transaction Type (VOV8 t-code) config level.

Then on receipt of payment, you can go ahead and release the delivery block manually and do the delivery creation.

Regards

former_member182378
Active Contributor
0 Kudos

sudhir,

i. Why create a proforma?

Proforma invoice is a "dummy" invoice, the Customer account wont be debited etc.

Consider creating an actual billing document. The customer can make his payments against that accounting document (generated with the billing document).

ii. Is there a time gap between creation of sales order and billing doc (profoma)?

If for every sales order, a billing document must be created, then giving default delivery block in the sales document type itself would be an option.

This delivery block shall populate in the sales order, when the order is created.

This block can be removed by the user, after the customer has made full / partial payment.

Also this delivery block shall not affect the creation of the billing document. (actual billing document)

Former Member
0 Kudos

Dear T W,

Ya Proforma invoice must be created and payments are done against them only, this is the scenario given.

Can you please explain your 2nd point in elaborate way. may be this can help.

we do generate a proforma invoice for every sales order. so delivery must be blocked until the payments are done against the invoice.

The normal billing document(Invoice) is generated just as a nominal process after delivery.

Please suggest any.

former_member182378
Active Contributor
0 Kudos

sudhir,

My second point was to do two steps of configuration:

1. in t-code VOV8, in your sales document type, give the delivery block in the field "Delivery block".

2. assign the delivery block to the Sales document type. The path is IMG>Logistics Execution>Shipping>Deliveries>Define Reasons for Blocking in Shipping>Delivery Blocks

By this when sales order is created, automatically delivery block is put in the order.

After payment is done, the user can manually remove the delivery block from the order (in VA02).

Note: As you said that for every sales order a proforma is created. Then by default the delivery block can be put in every sales order. (A separate action can be to create the Proforma invoice)

If for every sales order, a Proforma invoice is to be created immeidately; then the system can also handle this with output determination.

Is your requirement to create Proforma invoice manually?

Former Member
0 Kudos

ya i will create a proforma invoice manually.

is there any configuration setting which will avoid me to go to va02 to remove the block?

Cant we configure or use any user exit which will directly link the payments and delivery process? 

for example once the payments are done delivery block is removed.... .

former_member182378
Active Contributor
0 Kudos

sudhir,

Probably a program would have to be created. This program can be run via batch jobs at regular intervals (every x hrs, or every night etc.).

This program shall "collect" all the sales orders which have the delivery block, check if the payment is done, for the respective proforma invoice,

- if yes, then the delivery block shall be removed

- if no, then the delivery block shall not be removed

, , could you please suggest how to remove the delivery blocks from sales orders without going to VA02, when full or partial payment is done for the proforma invoice connected to a sales order?

moazzam_ali
Active Contributor
0 Kudos

Hi T W

This is a good idea which you have suggested the OP and this is the best way to delete delivery block from sale order without going to VA02. I would suggest to create a program with sale order number as selection criteria and use function modules from http://scn.sap.com/thread/978627 this link to get customer's balance against that invoice and if payment is done then use sale order change BAPI which you can find very easily by googling it and by using that BAPI delete delivery block and if payment not yet made then give some error or information message.

Thank$

Former Member
0 Kudos

Dear T W,

For example i am using document type ZOR, both normal delivery process as well as proforma Invoice process both happens in this. there is a 5-10% chance of sales orders will directly go to proforma invoice, rest normal process in carried on.

In the above case how can we put a block to sales order type. thats the reason i was asking if proforma invoice is created delivery should be blocked or else normal process should be carried on.

Please suggest any solution

former_member182378
Active Contributor
0 Kudos

sudhir,

Is the business using ZOR (the same sales document type) for processes, in addition to advance payment process?

If multiple processes use ZOR, then setting delivery block at sales document type level would block all sales orders which have AUART = ZOR.

Former Member
0 Kudos

yes thats my worry too. ZOR is used for other process too.

Can we change anything by using Billing type "Down Payments" in proforma invoice and use any user exit to restrict this?

that is using user exit can we achieve this.....?

eduardo_hinojosa
Active Contributor
0 Kudos

Hi TW,

There is a BTE (00001025, because the payment is a FI transaction, and I am thinking in manual payments, not in payment program -tcode F110-), where you could call a FM with option IN UPDATE TASK, and in this function module you can call a report with a job (the sequence of FM open_job, close_job and so on) and in this report you can call a BAPI to modify the SO. Check before the documentation for this BTE, now I don't have access to a SAP system.

It's an idea.

I hope this helps you

Regards

Eduardo


Former Member
0 Kudos

Hello,

As per my understanding you want to block the delivery for customer when performa is raised..

Ans:  maintain credit master for customer for the delivery e.g 10000 in fd32

also in vov8 general control maintain "C" in check credit limit.

If the invoice quantity exceeds the credit limit(10000) then there will be credit block in delivery 

These setting will help you to block the delivery .

Thanks

Yogesh

former_member182378
Active Contributor
0 Kudos

Yogesh,

My understanding of your post is as follows:

With the help of Credit management functionality, there would be a delivery block in the sales order. If the value in the sales order exceeds the credit limit.

But the requirement is - when proforma is created, then set the delivery block in the order.

Now, you proposed solution would apply the block (or not apply the block) depending upon the value in the sales order.

But would it apply the block, only when the proforma invoice is created?

Former Member
0 Kudos

Dear T W

As per the solution if we do the settings for delivery block in VOV8.

So if this will also work for delivery block.