Observer for invoice creation after it is saved

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;







up vote
2
down vote

favorite












I have tried the following events for invoice creation observer:




sales_order_invoice_save_after



sales_order_invoice_pay



sales_order_invoice_register



sales_order_invoice_save_commit_after



controller_action_postdispatch_sales_order_invoice_save




and in the observer I am calling:



$invoice = $observer->getEvent()->getInvoice();
$invoice_id = $item->getData('entity_id');


For all of the above events, the entity_id is received as null. Also the observer is called before there is a new entry in the database.



What is the correct event to get invoice id after it is saved?










share|improve this question























  • Can I know the location of events.xml?
    – Ramkishan
    yesterday










  • scope is kept as global for now
    – Sufyan Khot
    yesterday
















up vote
2
down vote

favorite












I have tried the following events for invoice creation observer:




sales_order_invoice_save_after



sales_order_invoice_pay



sales_order_invoice_register



sales_order_invoice_save_commit_after



controller_action_postdispatch_sales_order_invoice_save




and in the observer I am calling:



$invoice = $observer->getEvent()->getInvoice();
$invoice_id = $item->getData('entity_id');


For all of the above events, the entity_id is received as null. Also the observer is called before there is a new entry in the database.



What is the correct event to get invoice id after it is saved?










share|improve this question























  • Can I know the location of events.xml?
    – Ramkishan
    yesterday










  • scope is kept as global for now
    – Sufyan Khot
    yesterday












up vote
2
down vote

favorite









up vote
2
down vote

favorite











I have tried the following events for invoice creation observer:




sales_order_invoice_save_after



sales_order_invoice_pay



sales_order_invoice_register



sales_order_invoice_save_commit_after



controller_action_postdispatch_sales_order_invoice_save




and in the observer I am calling:



$invoice = $observer->getEvent()->getInvoice();
$invoice_id = $item->getData('entity_id');


For all of the above events, the entity_id is received as null. Also the observer is called before there is a new entry in the database.



What is the correct event to get invoice id after it is saved?










share|improve this question















I have tried the following events for invoice creation observer:




sales_order_invoice_save_after



sales_order_invoice_pay



sales_order_invoice_register



sales_order_invoice_save_commit_after



controller_action_postdispatch_sales_order_invoice_save




and in the observer I am calling:



$invoice = $observer->getEvent()->getInvoice();
$invoice_id = $item->getData('entity_id');


For all of the above events, the entity_id is received as null. Also the observer is called before there is a new entry in the database.



What is the correct event to get invoice id after it is saved?







magento2 event-observer invoice






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited yesterday









Qaisar Satti

25.8k1155104




25.8k1155104










asked yesterday









Sufyan Khot

225




225











  • Can I know the location of events.xml?
    – Ramkishan
    yesterday










  • scope is kept as global for now
    – Sufyan Khot
    yesterday
















  • Can I know the location of events.xml?
    – Ramkishan
    yesterday










  • scope is kept as global for now
    – Sufyan Khot
    yesterday















Can I know the location of events.xml?
– Ramkishan
yesterday




Can I know the location of events.xml?
– Ramkishan
yesterday












scope is kept as global for now
– Sufyan Khot
yesterday




scope is kept as global for now
– Sufyan Khot
yesterday










1 Answer
1






active

oldest

votes

















up vote
2
down vote



accepted










check if it is not typo. using this event sales_order_invoice_register



replace



$invoice = $observer->getEvent()->getInvoice();
$invoice_id = $item->getData('entity_id');


with



$invoice = $observer->getEvent()->getInvoice();
$invoice_id = $invoice->getData('entity_id');





share|improve this answer




















    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "479"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













     

    draft saved


    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f249799%2fobserver-for-invoice-creation-after-it-is-saved%23new-answer', 'question_page');

    );

    Post as a guest






























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    2
    down vote



    accepted










    check if it is not typo. using this event sales_order_invoice_register



    replace



    $invoice = $observer->getEvent()->getInvoice();
    $invoice_id = $item->getData('entity_id');


    with



    $invoice = $observer->getEvent()->getInvoice();
    $invoice_id = $invoice->getData('entity_id');





    share|improve this answer
























      up vote
      2
      down vote



      accepted










      check if it is not typo. using this event sales_order_invoice_register



      replace



      $invoice = $observer->getEvent()->getInvoice();
      $invoice_id = $item->getData('entity_id');


      with



      $invoice = $observer->getEvent()->getInvoice();
      $invoice_id = $invoice->getData('entity_id');





      share|improve this answer






















        up vote
        2
        down vote



        accepted







        up vote
        2
        down vote



        accepted






        check if it is not typo. using this event sales_order_invoice_register



        replace



        $invoice = $observer->getEvent()->getInvoice();
        $invoice_id = $item->getData('entity_id');


        with



        $invoice = $observer->getEvent()->getInvoice();
        $invoice_id = $invoice->getData('entity_id');





        share|improve this answer












        check if it is not typo. using this event sales_order_invoice_register



        replace



        $invoice = $observer->getEvent()->getInvoice();
        $invoice_id = $item->getData('entity_id');


        with



        $invoice = $observer->getEvent()->getInvoice();
        $invoice_id = $invoice->getData('entity_id');






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered yesterday









        Qaisar Satti

        25.8k1155104




        25.8k1155104



























             

            draft saved


            draft discarded















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f249799%2fobserver-for-invoice-creation-after-it-is-saved%23new-answer', 'question_page');

            );

            Post as a guest













































































            Popular posts from this blog

            How to check contact read email or not when send email to Individual?

            Displaying single band from multi-band raster using QGIS

            How many registers does an x86_64 CPU actually have?