Oracle ATG

Expand all | Collapse all

Order ID / Order Number Convention

  • 1.  Order ID / Order Number Convention

    Posted 11-20-2017 11:41
    Hello All, We are doing significant re-engineering of our integration between Oracle Commerce and our fulfillment systems as part of our implementation of a new order management system. At the same time we are looking for opportunities to enhance our integrations so they will scale into the future. One of the challenges which has emerged is our order number convention. We use the OOB cart ID / order ID that ships with Commerce and are currently using an alpha-numeric where the first digit is always a letter, and is followed by 10 numeric digits. So as a hypothetical example an Order ID might be C1234567890. This 11 digit Order ID is a challenge for some of our fulfillment and other systems due to both length and the alpha-numeric nature of the ID. Another aspect of the issue is how fast we churn through these IDs - because the ID is created every time a user begins to create a cart, quite a few numbers are burned without ever turning into actual orders, meaning we frequently cycle to a different starting letter and in a few years time may need to move to a 12 digit alpha numeric, or alpha numeric across all 11 positions, not just the first digit.

    The question I have for the group is - are there any other Oracle Commerce users who have moved to either a custom Order ID de-coupled from the user cart ID? Anyone using an Order ID generated by an external system like a fulfillment or order management system?


    Jesse Amerson
    Ulta Beauty
    Bolingbrook IL

  • 2.  RE: Order ID / Order Number Convention

    Posted 11-20-2017 12:10

    Modifying how the out-of-the-box order id generation works is complicated. If you persist anonymous carts, which a quick test shows that you do on, it is very difficult to reduce the number of ids you consume on orders that never get placed. When we have encountered this problem previously, we created a separate property on the order for use with interaction with OMS and downstream systems. This code made it into the old Commerce Reference Store, and you can find the omsOrderId property on the order there with associated code, SQL, etc. When an order is placed, generate a new order id and set that on the order. If I remember correctly we just used an Oracle database sequence to generate the consecutive OMS order ids. This was done on the aux server and separate from the actual purchase process.

    Of course, this is much easier to do from the start. To change that now will likely have large implications to reporting and integrations that rely on the order id being the ATG-generated order id.


    Joe Conaty
    VP, Business Development
    Commerce Architects
    Spokane WA

  • 3.  RE: Order ID / Order Number Convention

    Posted 11-29-2017 22:30
    HI jesse,

    We actually implemented a similar requirement for one of our clients who are still on 10.2. The default orderIds are generated using the OOTB IDGenerator and they are  bound to have gaps because for every incomplete order(aka shoppingCart), an Id is generated.

    So, the solution is to have an additional field as part of the order tables, which is available OOTB from 11.x, and as part of the final order submission pipeline, either generate the sequence within ATG or make a call to the third-party if one is available to generate this reference orderId.

    In our client's case, we used the ATG's IDGenerator itself with a batch-size of 1 to generate an Id which would be then without any gaps in the Id.

    Sterlite Software
    Oak Park IL