0

If customer select bank transfer mode during checkout initial order status pending. I need to change the order status processing by manually before creating an invoice.

enter image description here

Note: If I set initial status processing by default, supposed online payment cancel status also display like processing, now the online status is canceled the order status mode pending, that's why am not set initial status processing by default.

3 Answers 3

3
+50

Go to System->Order Statuses -> Click the button Assign Status to State -> select your new status (Processing) and the state (New) and save status Assignment.

Then, you should see your new status (Processing) in the dropdown on the order view page.

Hope this will help you!

7
  • if the customer paid by online payment, status automatically changed to processing, supposed interrupt in the payment process then only status mode look like pending, it obviously good. another one, supposed customer select "bank transfer mode, the state obviously like pending, I need to manually change to processing, before creating an invoice.
    – user51361
    Commented Jul 12, 2017 at 10:50
  • If I set initial status processing by default, supposed online payment cancel status also display like processing, now the online status is canceled the order status mode pending, that's why am not set initial status processing by default.
    – user51361
    Commented Jul 12, 2017 at 10:50
  • is clear my requirement?
    – user51361
    Commented Jul 12, 2017 at 10:52
  • The default option is pending, we can choose the processing option manually from the backend. Commented Jul 12, 2017 at 11:25
  • did you mean this one snag.gy/HLcTtr.jpg
    – user51361
    Commented Jul 12, 2017 at 11:29
2

If you want to change the order status by force. Then I am giving you one .php file. Just place the file in magento root folder. And whenever you need to change the status just enter the order id in the url and the order status will be changed.

Create a file name changeorder.php

    error_reporting(E_ALL | E_STRICT);
    ini_set('display_errors', 1);

    require_once 'app/Mage.php';

    Mage::app();

    $key = Mage::app()->getRequest()->getParam('action');

    $oid = Mage::app()->getRequest()->getParam('order');

    if($key == "" || $key != "yes"){

        die( 'No direct script access allowed!' );
    }

    $orderIncrementId = $oid;
    $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
    $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true)->save();
    echo "Success";

    ?>

Place the file into magento root folder.

when you want to change the status.

just enter :

http://www.yourdomain.com/changeorder.php?order=100000XXX&action=yes

N:B - 100000XXX is your order id, you can see this on admin order grid.

2
  • How we can complete transactions by code? Commented Dec 5, 2019 at 11:28
  • Great solution, worked for me. Commented Aug 18, 2022 at 15:19
1

"Processing" is both a "state" (major process step) and a "status" (minor information label within a step). An order goes through several states and each state has several statuses, a default one and other options. When you are in a particular state, in that comment/modification box, you only will be shown other statuses that are "linked" to that state.

It is an annoyance indeed that many credit card type payment modules go straight to "processing" state but the default magento ones only allow a choice of "new" state. This cannot be changed 100% except programatically but you can get close without coding.

First option (module): use a "bank prepayment extension" which allows to pick a state/status from the processing state. There is a free one I use does, but it also allows all the way to closed state so I don't trust it and go to a new state with it. But I didn't test it). If you pick this, i still recommend tweaking the statuses as in step 2

Second solution (configure statuses): You can add new statuses, and you can "assign" these statuses to one or states, to reflect your logic.

In my case I have people who pay "up front" with paypal, cards, as well as people who pick "invoice me" or "bank payment". I was struggling because once you invoice orders, it's hard to tell what has and hasn't been paid. As I only preauthorise payments, it's also hard to track if something has been "charged" or not.

I made a different choice as you, in that I chose to "invoice" but have a different status available before and after "invoice" to track not yet paid. Just create your own flow.

So I added more statuses to the "New" and "Processing" stage. There's an "awaiting payment" state and status which is only used by certain payment methods, so I decided to add this status to my New method. There's also a "still needs to pay" option in "Processing" to really make it obvious. Also, I have the "preauthorized" status as the default one for card payments, as reminder that they need to "invoice" to trigger the charge. Also added some statuses to mark orders on hold and problems...

I'm still tweaking it over the months, and once it's just right I might explore coding to make the "flow" more rigid but that's something I am wary to do.

Just to illustrate, here's my list.

STATE [New]

New Pending pending
Confirmed confirmed
Awaiting Payment pending_payment

STATE [Processing]

Pre-authorized preauthorized
Processing processing
Still Needs to Pay not_paid

STATE [Pending Payment]

Awaiting Payment pending_payment

STATE [On Hold]

Preorder Hold preorderhold
Problem problem
On Hold holded

STATE [Complete]

Follow Up followup
Problem problem
Complete complete

4
  • mam, do you have payment option bank transfer? and may I know is possible to change status pending to processing before creating an invoice?
    – user51361
    Commented Jul 12, 2017 at 8:52
  • The default Magento option "bank transfer" only allows a status that is within the "New". Extension magentocommerce.com/magento-connect/bankpayment.html is a VERY OLD extension to show bank information. That allows to set to Processing. But it might bypass logic that other extensions need to do on New->Processing so TEST FIRST
    – iphigenie
    Commented Jul 12, 2017 at 11:11
  • Thanks for your knowledge sharing, is possible can I change initial status like "processing" only the payment received by bank transfer.
    – user51361
    Commented Jul 12, 2017 at 11:31
  • Is it just because you want to be able to select all "processing" orders in the management screen? Then yes, just add the status to the "new" state. Please note that this is cosmetic and the order remains in the new state internally until you invoice.
    – iphigenie
    Commented Jul 12, 2017 at 12:02

Your Answer

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