Get Order Increment Id in Magento

Active3 hr before
Viewed126 times

8 Answers


We can use the order interface Magento\Sales\Api\Data\OrderInterface to load order by increment id.,Get order id by increment id Magento 2,Now use getOrder() function to get order object in phtml file

By Object Manager:

$objectManager = \Magento\ Framework\ App\ ObjectManager::getInstance();
$incrementId = "100009633";
$orderInterface = $objectManager - > create('Magento\Sales\Api\Data\OrderInterface');
$order = $orderInterface - > loadByIncrementId($incrementId);

// Print Order Object
print_r($order - > debug());

// Get Order Id
echo $order - > getId();
load more v

I haven't dived into the checkout code recently, but I'm pretty sure that's because sales/order will get you the order in progress. Once the order's been placed it's no longer in progress., Please take note, that getOrderId() is marked as deprecated after Magento Better user the checkout session to retrieve to order id. – Martin Rothenberger Aug 2 '12 at 11:12 ,Stack Overflow en español, Meta Stack Overflow

You just need the following:

$orderId = $this - > getOrderId();

Note that this won't work on other pages so, for those, you'd need to use:

$orderId = Mage::getSingleton('checkout/session') - > getLastRealOrderId();
load more v

I want to get order id by order increment id. I have this code but it is returning empty value:,Use below code to get order id by order increment id in Magento 2.,The best (optimized) way to get order id i.e sales_order.entity_id from increment id by creating a custom DB query in Magento2., Why do we ignore the second-order terms in the following expansion?

Try below Code

$objectManager = \Magento\ Framework\ App\ ObjectManager::getInstance();
$incrId = 100005363;
$collection = $objectManager - > create('Magento\Sales\Model\Order');
$orderInfo = $collection - > loadByIncrementId($incrId);
$orderId = $orderInfo - > getId();
echo $orderId;
load more v

Find order id (entity_id) from increment id in Magento 2 using a lightweight DB query without loading the complete order model.,In this article, I will show you the best (optimized) way to get order id ie sales_order.entity_id from increment id by creating a custom DB query in Magento2., Get order records. Example: \Magento\Sales\Api\OrderRepositoryInterface::get($id) ,Magento 2 | Magento 2 Sales Order Customization Developer Experience | draft

  • Create GetOrderIdByIncrementId:
< ? php
declare(strict_types = 1);

namespace Adapttive\ SalesOrder\ Model\ Order;

use Exception;
use Magento\ Sales\ Model\ ResourceModel\ Order as OrderResource;

 * Class GetOrderIdByIncrementId: To get order.entity_id by order.increment_id
 * Reference from \Magento\Sales\Model\OrderIncrementIdChecker
class GetOrderIdByIncrementId {
    * @var OrderResource
   private $resource;

    * @param OrderResource $resource
   function __construct(OrderResource $resource) {
      $this - > resource = $resource;

    * Get order id by order increment id.
    * @param string|int $incrementId
    * @return int
    * @throws \Magento\Framework\Exception\LocalizedException
   function get($incrementId): int {
      $result = 0;

      try {
         /** @var  \Magento\Framework\DB\Adapter\AdapterInterface $adapter */
         $adapter = $this - > resource - > getConnection();
         $bind = [':increment_id' => $incrementId];
         /** @var \Magento\Framework\DB\Select $select */
         $select = $adapter - > select();
         $select - > from($this - > resource - > getMainTable(), $this - > resource - > getIdFieldName()) -
            > where('increment_id = :increment_id');
         $entityId = $adapter - > fetchOne($select, $bind);
         if ($entityId > 0) {
            $result = (int) $entityId;
      } catch (Exception $e) {
         $result = 0;

      return $result;
load more v

To fetch the order data using increment id, you have to use function called getList() function.,By using Increment Id, you can get order data.,Below is code snippet for calling a function using increment id to get order data.,Use the below code snippet to fetch the order data using increment Id.

Magento\ Sales\ Api\ OrderRepositoryInterface interface
load more v

There are two main functions get() and getList() which helps to get order information in Magento 2 by using order or increment id.,Anyways let’s crack on with getting order information using increment or order id in Magento 2 -:,Magento 2 uses Service Contracts for retrieving and saving data from the database. In Magento 2, the concept is called repositories and we have repository classes for all entities like order, product, category etc. which commonly uses get(), getList() and save() methods., By checking this box you agree to our Privacy Policy. You also agree to receive information relevant to your order or account via email.


The above code is roughly analogous to the following SQL query.,The increment_id is the customer facing order identifier, whereas the entity_id is the database level identifier for the order., Get order by Increment ID , Get order by Increment ID


$incrementid = 100000000;
$order = Mage::getModel('sales/order') - > loadByIncrementId($incrementid);
load more v

In Magento 2 to load order by increment ID, you can use extensions. The Custom Order Number extension allows you to get orders by increment id in Magento 2 and manage increment ID the way you want. You can add prefix, postfix, change the counter increment step and padding. It supports different variables like:,Say, you want to change the Magento order increment ID in your Magento 2 store with a custom one. You can do this in 2 ways:, How to change the default order increment ID in Magento 2? ,by implementing our Custom Order Number.

Step 1. Register a new module by creating a file app/code/Amasty/Testgrid/registration.php

< ? php\ Magento\ Framework\ Component\ ComponentRegistrar::register(\Magento\ Framework\ Component\ ComponentRegistrar::MODULE, 'Amasty_Testgrid', __DIR__);
load more v

Other "order-undefined" queries related to "Get Order Increment Id in Magento"