cancel
Showing results for 
Search instead for 
Did you mean: 

How to exclude some customer for NOT printing an invoice.

c_vanalthuis
Discoverer
0 Kudos

Hi, output control mechnism based on condition technique within SAP

We print invoices for all our customers, so we "condition technique-ed" it simple on a simple access, for example Sales Area + Invoice type.

Now we have one customer for which we do not want to print the invoice anymore (any reason);

How to arrange/configure here some exclusion in a fine, way; for 'tomorrow' we do not want to print it for customer no2,3,4,5...etc..

Outputcontrol records do not have/bear 'exclusion', like pricing-appplication.

Anybody any good advises, please, thanx in advance,

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

There is no standard process for it

Instead i can suggest you to define an ACCOUNT GROUP and create the CUSTOMERS in this account group for which no print is required.

Then in the VOFM routine write a code to exclude the customer in the ACCOUNT GROUP and add this routine in the OUTPUT DETERMINATION PROCEDURE against your OUTPUT type.

Now the OUTPUT will nto be triggered for these customers

And Alternatively you can also achieve it manually by De-selecting the PRINT option in the COMMUNICATION method for you INVOICE

But it is a manual process and needs to be done for all the customer invoice who does not require print.

Please try these and revert back if you need more details

regards,

santosh

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

There is no standard process for it.

Alternative solution i can provide you to maintain a 'Z' table for customers you don't want print.

Then in the VOFM routine write a code such that code will search the invoice customer in 'Z' table, if customer found, supress the output and add this routine in the OUTPUT DETERMINATION PROCEDURE against your OUTPUT type.

Now the OUTPUT will not be triggered for these customers.

Later you can add/delete N number of customers from this Z table.

I think this is the BEST solution you can have.

try and revert.

Former Member
0 Kudos

Hi,

You can achieve your requirement by below method.

You can change your access sequence from "Sales Org / Billing Type" to "Sales Org / Billing type / Bill-to party"

In that case, you have to create output condition master records only for the Bill-to party who require printouts. (Tx: VV31)

So when creating billing documents, for customers those have VV31 record will get print and other don't.

This is how you do it in configuration.

Create output condition table

First you need to create a condition table. Go to V/63

Choose "Create" from menu option "Condition". Enter a number more than 900 and press Enter

Then like you create condition tables in pricing, create a new table for that sequence. Double click on the fields from "FieldCatlg" table in below sequence.

Sales Org / Billing type / Bill-to party

Upon double click it will add to "Selected fields" section. Once done, press "Generate" button (RED color circle)

Press "YES" for the pop up.

Select the relevant Package and press OK. If you DO NOT want to create transport requests, then select "LOCAL OBJECT" button without giving a Package. If you want to Tr in to another client, ask your basis team to give the correct package.

Note down the condition table number.

Add the condition table to your Access Sequence

Go to below IMG Path

Sales and Distribution / Basic Functions / Output Control / Output Determination / Output Determination Using the Condition Technique / Maintain Output Determination for Billing Documents / Maintain Access Sequences

If you want, create a new Access Sequence, Else you can add your new table to your existing access sequence as well.

I'll tell how to create a new Acc Seq. Go to that node, While in 'Access Sequences' node, press "New Entries" button

Create a new Acc Seq with your ID & Desc. Select that and double click on "Accesses" node

Press "New Entries" button and enter "Ac No" and your new table number

Highlight that line & double click on "Fields" node See whether relevant fields are there from the table.

Save

Now you need to add that Access Sequence to your relevant Output condition.

Go to Sales and Distribution / Basic Functions / Output Control / Output Determination / Output Determination Using the Condition Technique / Maintain Output Determination for Billing Documents / Maintain Output Types

Go to change mode an Go to relevant output type (Eg:RD00). Highlight it and click on "Magnifier Glass"

Enter your new access sequence under field "Access sequence" from the "General Data" tab and Save

Now go to VV31 record.

Enter your output type and press enter. Since you have one acc seq, it'll directly take you in.

Maintain relevant data for required customers only. Make sure your enter "Output Device" and those ticks for "Print immediately" and "Release after output" under "Communication" button with "Date time" = 4 in initial screen.

Save.

Now try from beginning.

For those who have VV31 records will get print automatically. Others not.

Best regards,

Anupa

sunil_p4
Participant
0 Kudos

Hi,

Or the other way, you can include in the Billing userexit- ZXV6PU08, the list of those customers, for which you dont want to issue print. Ask your abaper to input the logic to exclude these customers for not Printing the Invoices

Rgds

Sunil.