cancel
Showing results for 
Search instead for 
Did you mean: 

Sales Orders negative net value

Former Member
0 Kudos

Dear SAP experts,

I am currently working on a project that requires the creation of Sales Orders that may have negative NET amount, using the SAP SDK.

Although some lines in the order may have a negative amount (e.g. introducing negative quantity and positive amount), SAP requires that the overall NET has to be zero or greater than zero, otherwise it will raise an error.

I read in some forums that there is a workaround, but the information wasn't clear and I couldn't make it work.

Does anyone know how to resolve this issue?

I am using SAP B1 8.81 and C#

Many thanks for your help.

N

Accepted Solutions (1)

Accepted Solutions (1)

Johan_H
Active Contributor
0 Kudos

Hi Nicolas,

Just a thought, how about dividing your process into different documents, and linking these documents in some fashion?

I mean, you are not actually selling negative quantity, right? I suppose you mean that the total transaction includes some sort of returns or trade-in ?

So you could maybe handle the negative part of the transaction in a Returns or Credit Note document ?

Regards,

Johan

Former Member
0 Kudos

Thanks Johan,

Seems to be a good work around, but it is out of specs.

The requirements are to have negative quantity and positive prices, which can be done as long as the overall net is positive.

However, I need to achieve the same thing even is the net amount is negative.

Johan_H
Active Contributor
0 Kudos

Ok, obviously the customer is always right, but it sounds like you have been given specs to build an addon that should force B1 to work in an incorrect way (A wild guess: just because the customer is used to working that way in their old system?).

Anyway, the problem is that B1 blocks negative document totals, because its working principle is to infer the negative adjustment by the document type. For example, a Credit Note makes a negative adjustment, but all its values are nonetheless positive.

So, in some way every document total needs to be >=0.

How about a dummy (sales only) item to even out the document total to zero ? You could then create the Returns or Credit Note in the background (the customer wouldn't even have to see it) to make the total transaction value work out.

Former Member
0 Kudos

Hi Johan,

That's right. The solution requires the creation of an Add-On. I tried to create a Sales Order as described through the Add-On, but the result is the same (the SDK server raises the same error as in the front-end), which is otherwise the expected behaviour.

Not sure about the reason of the specs, but the solution seems to be in either case quite hacky.

The idea of the dummy item is not bad, but there is another requirement: those orders having negatives (plus the dummy item) may be converted at some point into credit notes by using the 'Copy To' button. Having the sales order balanced out will result into another credit note with 0. However, since the creation of the credit is via the Add-On, perhaps this is the right solution. It would be a matter of creating an special item that would be used only to balance out these kind of orders, and then filter it out when converting the order into a credit.

I also considered another option: To create as many dummy items as the sales order, setting the price to 0. The actual price would be saved into an UDF field in Marketing documents, line level.

Then, I would need to modify the Sales form through the UI to disable certain buttons and to add a new field to show the total.

That was my initial idea, but seems to be a long shot. I wondered if there was a more elegant (native) way to achieve it.

Johan_H
Active Contributor
0 Kudos

Hi Nicolas,

Just thought of one other possible workaround. As you are building an addon anyway, how about a new form, for the user to enter the transaction the way they want to, and which, in the background, creates the necessary delivery / invoice and returns / credit note documents ?

Regards,

Johan

Johan_H
Active Contributor
0 Kudos

Hi Nicolas,

It seems to me that my most recent suggestion (a completely new user defined form) might be the best solution, as you have already considered adapting the Sales Order form to work according to the given specs.

With that you would allow the customer to work the way they want, the customer would see what they want, and the system would still work the way it was intended.

Can't think of a more elegant way

Regards,

Johan

Former Member
0 Kudos

Hi Johan,

Yes, it looks like the creation of a new form is the way to go.

I need to study that option and see how I can apply the discounts to the row level and to enable the 'copy from' and 'copy to' functionality (also in specs), as well as the creation of orders importing from a text file.

The idea of the balanced order with the dummy item seems to be the quickest way, and the idea of the new form seems to be the proper way.

I'll sleep on that and will let you know how it goes

Thanks for all your helpful answers and your time..

Best regards.

Nicolas.

Former Member
0 Kudos

Hello all,

I am also trying to do something similar with slightly different requirements.


My requirements are to send in a negative quantity and positive price on to a Sales Order Document with an overall net positive value (my client will never have an over negative net value on a sales order).


I am using C# and BI 9.1


I do not want a separate Credit Return Document.  This item is only used to give a promotion on a Sales order and reduce the total net positive value, but still be positive Sales Order.


When the development team is writing the C# code, the negative value is not getting into the Sales Order document and they say it is not possible.


Does the DI Component support this requirement? 


Thank you.  Andrew

Johan_H
Active Contributor
0 Kudos

Hi Andrew,

Could you please post a new thread of your own, and reference this thread ?

Regards,

Johan

Answers (1)

Answers (1)

Former Member
0 Kudos

Well, after some struggle and try and error process, I think I discovered another way to tackle the issue.

Whenever a negative transaction has to be saved to the database, it is possible to apply a 100% discount in the document header. That will make the document total to 0.

Therefore, 100% discount can't be entered anymore for other purpose other than making negative transactions possible. If a 100% discount is still needed for any regular positive documents, it is still possible to apply it at the line level.

Hope that helps.