Price sets give you the tremendously useful ability to add a price field in which a user can enter an arbitrary amount. This is done by choosing an Text/Numeric field type, setting its value to '1' and NOT ticking 'Display amount'.

However, we want to use this to create an arbitrary-sized discount for admin users, and Civi doesn't seem to allow negative numbers in this field.

enter image description here As you can see from the attached screen shot, the negative entry in our 'arbitrary amount' field has been ignored.

It's perfectly possible to make discounts of fixed amounts in a price set - the screen shot shows that our fixed discount has been included in the price calculation.

What would need to happen so that this 'arbitary amount' field can accept negative amounts?

Thanks for your help!

Drupal 7.43, Civi 4.6.17

1 Answer 1


Ah - I strongly suspect this is a 'rule'/'validation' (either in the javascript or the form layer) - to ensure people donate extra as opposed to giving themselves a discount.

The workaround is obvious: create an Arbitrary Amount similar to how you created the Discount Amount - or do you need it to be this type of field?

  • That's genius, KarinG. The solution you point to as I understand your thinking is to make a normal Text/Numeric field as we have done for the 'Discount amount' above. Enter a value of -1, no display. Then when we enter multiples of the unit in there, they are multiples of -1, thus giving us an arbitrary discount field. Obviously this is only possible if restricted to Admin permissions. I've tested this and it works perfectly. Thanks again!
    – Andyg8
    Commented Jun 7, 2016 at 0:50
  • Excellent - great to hear! Commented Jun 7, 2016 at 1:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.