Drupal Commerce was made to work for selling and buying products that have a regular set price. There are many add-on contrib modules you can use to set a discount and other ways of modifying the price, but again, the expectation is that you're selling a product that does have some sort of regular base price.
Well, what if that's not the case? What if you want to use Drupal Commerce to allow users to pay the invoices they owe you, for example? In that case, you'd have a product called 'Invoice', whose price is completely unknown. One user may need to pay a $10.00 invoice, while another may owe you $230.50. Drupal Commerce can still accommodate such scenarios, but you will need to create some custom rules to make it work.
Follow along with this tutorial for one possible setup to accomplish invoice payments through Drupal Commerce.