Observer for invoice creation after it is saved





.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
    19 hours ago










  • scope is kept as global for now
    – Sufyan Khot
    18 hours ago

















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
    19 hours ago










  • scope is kept as global for now
    – Sufyan Khot
    18 hours ago













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 17 hours ago









Qaisar Satti

25.8k1155104




25.8k1155104










asked 19 hours ago









Sufyan Khot

225




225












  • Can I know the location of events.xml?
    – Ramkishan
    19 hours ago










  • scope is kept as global for now
    – Sufyan Khot
    18 hours ago


















  • Can I know the location of events.xml?
    – Ramkishan
    19 hours ago










  • scope is kept as global for now
    – Sufyan Khot
    18 hours ago
















Can I know the location of events.xml?
– Ramkishan
19 hours ago




Can I know the location of events.xml?
– Ramkishan
19 hours ago












scope is kept as global for now
– Sufyan Khot
18 hours ago




scope is kept as global for now
– Sufyan Khot
18 hours ago










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 18 hours ago









        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

            Probability when a professor distributes a quiz and homework assignment to a class of n students.

            Aardman Animations

            Are they similar matrix