Trading in NSE is not allowed using NRML product type. Try placing an order in CNC/MIS."

hrp
I'm trying to place order for Nifty Option with NRML product type but it always throws an error as mentioned in the title ["Trading in NSE is not allowed using NRML product type. Try placing an order in CNC/MIS."]

I have tried to place the order online through Zerodha Kite for the same option strike price and was able to place an order, however, API is not allowing it to place order.

  • sujith
    Can you enable debug logs of kite connect library and paste the complete stack trace here?
  • hrp
    How I can enable debug logs of kite library?
  • sujith
    Which client library you are using? Can you mention the version number as well?
  • hrp
    Sujith Sir, I have KiteConnect C# code which I have added to my solution and using it
    Not sure where to find the version. I downloaded it in Sep 2021 around.
  • sujith
    You can checkout docs to know more about enabling debug logs.
  • hrp
    thanks, Sujith sir, I can debug it and see there is some issue in passing parameters for order requests. could you please help me get any document link to pass parameters for NRML orders with the limit?
  • sujith
    NRML product is only for F&O instruments. You will have to place order with product type CNC for delivery trades.
  • hrp
    Sujith sir, I'm placing F&O instruments only. However, an error is throw in general by API code that "Place order MIS/CNC". If possible, pl share a document link or sample list of parameters with value.
  • hrp
    Good morning Sir, any help on order parameter-related documents would be really helpful. Thanking in advance.
  • sujith
    You may refer the example here.

    Correct way to resolve the error is to print and paste the complete request and response. There are many combinations for order place API.
  • sujith
    You can also refer to the documentation here.
  • hrp
    Sujit bhai,
    Thanks a lot for all the help. Heartily appreciate.
    I have gone through the documentation and tried various combinations but was still unable to succeed. Please see below a few URI generated by KITE .net lib.

    Please review the parameters and let me know if you find any issues with them.

    exchange=NFO&tradingsymbol=NIFTY2420120500PE&transaction_type=BUY&quantity=50&price=10.9&product=NRML&order_type=LIMIT&validity=DAY&trigger_price=0.0&stoploss=10.50

    exchange=NSE&tradingsymbol=NIFTY2420120500PE&transaction_type=BUY&quantity=50&price=10.9&product=NRML&order_type=LIMIT&validity=DAY&trigger_price=0.0&stoploss=10.50

    exchange=NSE&tradingsymbol=NIFTY2420120500PE&transaction_type=BUY&quantity=50&price=10.9&product=MIS&order_type=LIMIT&validity=DAY&trigger_price=10.90&stoploss=10.50

    exchange=NSE&tradingsymbol=NIFTY2420120500PE&transaction_type=BUY&quantity=50&price=10.9&product=NRML&order_type=LIMIT&validity=DAY&trigger_price=0.0&stoploss=10.50
  • sujith
    The stoploss param is of no use now. It was used for bracket order and it is not supported anymore. You can go with the first combination. For stoploss order, you need to make another place order request.
  • hrp
    Thanks a lot sir : ) Sure will try and update you.
  • swarntyagi
    swarntyagi edited May 29
    Hi Sujith , I am also facing same problem
    here is the details of my order and complete stack trace

    Order : {
    exchange: 'NSE',
    tradingsymbol: 'NIFTY24MAY23050CE',
    transaction_type: 'BUY',
    quantity: 25,
    order_type: 'LIMIT',
    product: 'NRML',
    price: 6,
    validity: 'DAY',
    trigger_price: 0
    } amo

    Stack Trace : {
    url: '/orders/amo',
    method: 'post',
    data: 'exchange=NSE&tradingsymbol=NIFTY24MAY23050CE&transaction_type=BUY&quantity=25&order_type=LIMIT&product=NRML&price=6.0&validity=DAY&trigger_price=0&variety=amo',
    headers: {
    common: { Accept: 'application/json, text/plain, */*' },
    delete: {},
    get: {},
    head: {},
    post: { 'Content-Type': 'application/x-www-form-urlencoded' },
    put: { 'Content-Type': 'application/x-www-form-urlencoded' },
    patch: { 'Content-Type': 'application/x-www-form-urlencoded' },
    'X-Kite-Version': 3,
    'User-Agent': 'kiteconnectjs/4.1.0',
    Authorization: 'token dw2ld1o45b3n49cd:dBVUlmk1AEG3Sth3ZiVRL9AbVYYgksLv',
    'Content-Type': 'application/x-www-form-urlencoded'
    },
    params: null,
    baseURL: 'https://api.kite.trade',
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    paramsSerializer: [Function: paramsSerializer],
    timeout: 7000,
    adapter: [Function: httpAdapter],
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    validateStatus: [Function: validateStatus],
    transitional: {
    silentJSONParsing: true,
    forcedJSONParsing: true,
    clarifyTimeoutError: false
    }
    }
    Error: {
    status: 'error',
    message: 'Trading in NSE is not allowed using NRML product type. Try placing an order in CNC/MIS.',
    data: null,
    error_type: 'InputException'
    }

    can you please help me in this
  • sujith
    The exchange value for NIFTY24MAY23050CE is NFO, you can find it in the instruments master file.
  • swarntyagi
    Thanks a lot Sujith
This discussion has been closed.