cancel
Showing results for 
Search instead for 
Did you mean: 

Tolerance Groups

Former Member
0 Kudos

Hi All,

We are using SRM 4.0, Standalone scenario.

We have assigned Tolerance groups 20% in the User Attributes and vendor attributes TOG. This scenario works when Ordered qty = 100, Confirmed = 120 and Invoice # 120.

Issue :

If the PO is 100, Confirmation 100, and when the vendor submits invoice for 120, the system still posts the invoice successfully because of the 20% tolerance check. Expected result is Invoice should error.

What should I do to prevent the invoice from posting for the above scenario?

Any help will be highly appreciated and ofcourse will be rewared.

Regards,

UK

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Upendra,

my experience is in SRM 3.0 and perhaps it can help you.

In Invoice, the system checks DQ, PP and DA tolerance keys.

In Confirmation only checks DQ tolerance key.

Behaviour system when checking tolerance in confirmation is :

VEM = quantity in confirmation * price in po

VPED = quantity in po * price in po

If VEM > VPED - checks upper tolerance limit

Then system verifyes that

if (VEM * 100 / VPED ) – 100 > upper tolerance limit -> sends error message.

Behaviour system when checking tolerance in invoice is :

For DQ :

- VFAC = quantity in invoice * price in po

VPED = quantity in po * price in po

If VFAC > VPED - checks upper tolerance limit (using similar formula as above)

- VFAC = quantity in invoice * price in po

VEM = quantity in confirmation * price in po

If VFAC > VEM - checks upper tolerance limit (using similar formula as above)

For PP :

- VFAC = quantity in invoice * price in invoice

VPED = quantity in po * price in po

If VFAC > VPED - checks upper tolerance limit

If VFAC < VPED - checks lower tolerance limit

For DA :

- VFAC = quantity in invoice * price in invoice

VPED = quantity in po * price in po

If VFAC > VPED - checks upper tolerance limit

- VFAC = quantity in invoice * price in invoice

VEM = quantity in confirmation * price in po

If VFAC > VEM - checks upper tolerance limit

I calculated these formula for your two examples and tolerance limit is accomplished.

The system sends an error message if you post an invoice with 121 units regarding a confirmation with 100 units.

I hope this can help you and give you an idea how your tolerance keys must be filled.

Dont forget to reward this reply.

Regards,

Teresa Martinez

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Thanks for the explanation and suggestion. One clarification --

In our scenario, If we implement the changes in the BADI, will the system overlook tolerance limits when Invoice qty is more than Confirmation qty?

If yes, then we can make the changes. Kindly confirm.

Regards,

Upendra.

Former Member
0 Kudos

Hi Upendra,

the idea is to complement standard tolerance checkings (tolerance groups and so on) with customer source code (by means BADI).

In last example I explained in my last mail, standard behaviour is not enough to cover the requirements.

Then:

- first, verify tolerance limits

- and if they are accomplished, in badi implemment last checking. In this case, compare quantity in confirmation and invoice.

Regards.

Teresa

Former Member
0 Kudos

Hi,

Thanks for your answer. if you have any documentation around tolerance group, can you please send it across to me at aggasi24@yahoo.com ?

Let me explain the issue in detail.

We have tolerance group C20 with a toleracne key DQ for confirmation. This is assinged in the requisitioner attributes TOG.

We have another tolerance group I20 with tolerance keys DQ, DA, PP & TX. This is asssined in the vendors & Accounts payable users attributes TOG.

Now I create a shopping cart using requestors ID for 10 PCs and a PO gets created. Created confirmation for 10 PCs

When we create an invoice, the system checks the information from PO & confirmation. Before saving the invoice, I change the qty from 10 to 12 and value accordingly. Since we have 20% tolerance limits maintained, the system will post the invoice for 12 Pcs even though the confirmation is only for 10 PCs.

I want to prevent the invoice from posting when there is a invoicing qty is more than the confirmation qty even though we have tolerance limits. How can I achieve this?

Once again thanks for your help in advance.

Regards,

Upendra.

Former Member
0 Kudos

Hi,

Sorry, but I can't send any documentation because is in spanish.

As you have two tolerance groups, you don't need to fill DQ with the same value.

I think your problem can be solved this way:

in tolerance group I20, fill DQ tolerance key with zero.

It means you don't allow any difference in quantity regarding to po and confirmation.

However next example can't be solved :

po - 10 qty ;

confirmation - 12 qty <- C20 tolerance group is accomplished as 20% isn't overcome

invoice - 12 qty <- I20 tolerance group. If you fill DQ with zero, the system sends an error message because it compares po quantity and invoice quantity

Perhaps you can solve last example this way:

- fill DQ with 20% in your two tolerance groups

- implemment badi BBP_DOC_CHECK_BADI for object BUS2205 and in source code you can check whether quantity in invoice is greater than in confirmation.

I hope it can help you.

Regards.

Teresa Martinez