I'm trying to convert a magento instance from a b2c platform to a b2b platform. I'm having issues with a particular part of magento.

When an order with the final price of 0 is issued, i have no credit memo button available. The order is issued from the back-end and in the Payment Method Field the massage is

No payment Methods.

This is actually logical because there is no amount of payment to be refunded. But the thing is that the product, although it does not cost the customer anything to buy, it actually leaves my stock.

  1. The first question is, if this is a normal behavior for magento of is something broken on my end?

The end goal is not to refund my customer's money but to get the product in my stock again.

  1. If this in normal for a magento instance, is there any other way to force a payment method when the order is issued so that the credit memo button will be available and later down the refund process, will let me get the product back in stock?
  • on 1st everything is alright. If I faced with such situation, when I see that no payment required and merchant still want to know my credit card number - it sound like strange. – zhartaunik May 8 '15 at 13:09
  • i do no use any payment, like i said at the beginning it is a b2b( business to business) platform, not a b2c (business to client). All my products have 0 price tags because they are not sold per se. – Rasvan May 8 '15 at 13:16
  • but if the price is 0, then i cannot get the credit memo button so i cant get the product back in my stock – Rasvan May 8 '15 at 13:19
  • Ok I understand the major issue, give me some time to think – zhartaunik May 8 '15 at 13:20
  • I'm essentially looking for a way to bypass magento's price verification and force a payment method ( something la cash on delivery or any other kind with 0 fee evidently) just so the credit memo button will appear so i can get my product back in my stock - dirty little hack :)) – Rasvan May 8 '15 at 13:26

I think if is because it fails on the function canCreditmemo. This function is set against the order and checks the state of the order and will allow/disallow you to create a credit memo.

The key lines for you would be.

if (abs($this->getStore()->roundPrice($this->getTotalPaid()) - $this->getTotalRefunded()) < .0001) {
    return false;
  • Thank you for your kind reply. I have been searching for this function high and low but i cant seem to find it. My magento version is Any pointers where i cand find this function? – Rasvan May 11 '15 at 10:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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