Start a conversation

How to add new order status

* For advanced users. FTP upload required.

How to add additional order status (for X-cart v. 4.4+):

For example we want to add a new status: "Manually paid"

1) In Languages menu, add new language label "lbl_manually_paid" with value "Manually paid"

2) Open file "skin/common_files/main/order_status.tpl" and

after code:

  <option value="P"{if $status eq "P"} selected="selected"{/if}>{$lng.lbl_processed}</option>


  <option value="M"{if $status eq "M"} selected="selected"{/if}>{$lng.lbl_manually_paid}</option>

after code 

{elseif $status eq "P"}{$lng.lbl_processed}


{elseif $status eq "M"}{$lng.lbl_manually_paid}

3) Open "include/func/func.order.php":


$allowed_order_status = 'IQPBDFC';

Replace with:

$allowed_order_status = 'IQPBDFCM';

* note new status "M" at the end of the list.

4) Clean templates cache and you are done.
Note: this new status will not send notifications or update inventory. This will require some additional changes to "include/func/func.order.php"Please contact support for a quote.

Example for vX-cart version 4.0
"waiting for payment / pickup"
1. Login as admin2. Open Languages page, select your languages, find section "Add new entry"first cell: lbl_waiting_and_pickupsecond cell: lbl_waiting_and_pickupthird cell: Waiting for payment / pickup
press Apply changes
3. Go to "Edit templates" -> Open "/main/order_statuses.tpl"
Letter "X" will be used as letter code of the order status. Each order status has to have unique letter code.
Then in the same file replace
{elseif $mode eq "static"}{if $status eq "I"}{$lng.lbl_not_finished}{elseif $status eq "Q"}{$lng.lbl_queued}{elseif $status eq "P"}{$lng.lbl_processed}{elseif $status eq "D"}{$lng.lbl_declined}{elseif $status eq "B"}{$lng.lbl_backordered}{elseif $status eq "F"}{$lng.lbl_failed}{elseif $status eq "C"}{$lng.lbl_complete}{elseif $status eq "X"}{$lng.lbl_waiting_and_pickup}{/if}{/if}
{elseif $mode eq "static"}{if $status eq "I"}{$lng.lbl_not_finished}{elseif $status eq "Q"}{$lng.lbl_queued}{elseif $status eq "P"}{$lng.lbl_processed}{elseif $status eq "D"}{$lng.lbl_declined}{elseif $status eq "B"}{$lng.lbl_backordered}{elseif $status eq "F"}{$lng.lbl_failed}{elseif $status eq "C"}{$lng.lbl_complete}{/if}{/if}
Now you are able to assign new order status in the admin area.<br />For versions 4.1 and above:<br /><span class="mediumtext">Add language variable "lbl_po_sent".<br />Open skin1/main/order_status.tpl and add option value:Â  i.e. {$lng.lbl_po_sent}<br />Then add to {elseif $mode eq "static"}<br /><br />{if $status eq "I"}{$lng.lbl_not_finished}: <br />{elseif $status eq "S"}{$lng.lbl_po_sent}<br /><br />Open include/func/func.order.php and search for:Â  <br /><br />Â $allowed_order_status = 'IQPBDFC';<br /><br />Replace with:<br /><br />$allowed_order_status = 'IQPBDFCS';<br /></span><br />

Choose files or drag and drop files
Was this article helpful?
  1. Admin FinestShops

  2. Posted
  3. Updated