Can we modify PO number on posted invoice?

Can we modify PO number on posted invoice?

In general, I would just say no to that. If you want to share more information on the scenario, we can discuss potential options.

There are ways to update but the risk depends on the nature of the related transactions. If this is just a reference PO field on a miscellaneous invoice, that is no big deal. If it is a PO receipt carried to an AP invoice, there are more touch points and would leave that alone.


If its an AR Invoice, yes you can do a customization to update the PO number.

You might be able to using an UBAQ, although I do remember there were bugs so you might run into issues depending on the version.

And like someone else said, depending on the reason for the change you might have more appropriate choices.

My 2c here, modifying anything after it is posted is just bad news. Use the system the way it is designed, apply a reversing transaction and enter in the correct data if need be. Auditors will love you, criminals attempting fraud will hate you.


Epicor must allow to change PO number/comments which is very common request after AR Invoice is posted. If there is any change to price/qty/tax, yes invoice need to be cancelled an re-created.


Could you please explain this in a little more detail? Do you mean to generate a new invoice? Won’t the invoice number change?

Or a correction invoice also creates a new invoice number.

Can you please tell me some more?

Add TextBox and button in Posted Invoice Update option and Button click option add below code.

private void EBPOChange_Click(object sender, System.EventArgs args)
		// ** Place Event Handling Code Here **
           EpiDataView edvInvcHead = ((EpiDataView)(this.oTrans.EpiDataViews["InvcHead"])); 
           if(edvInvcHead != null)
              string lOldPO = edvInvcHead.dataView.Table.Rows[0]["PONum"].ToString() ;
              DialogResult dialogResult = MessageBox.Show( "You are about to change PO Number from " + lOldPO + " to " + ETBNewPO.Text.ToString() , "Change PO", MessageBoxButtons.YesNo);
              if(dialogResult == DialogResult.Yes)
                 edvInvcHead.dataView.Table.Rows[0]["PONum"] = ETBNewPO.Value.ToString() ;
                 edvInvcHead.dataView.Table.Rows[0]["RowMod"] = "U" ;
                 ETBNewPO.Value = string.Empty;
                 MessageBox.Show("Purchase order number changed!!!!!");
               else MessageBox.Show("Update cancelled");
          MessageBox.Show("Please enter new PO number before clicking Change PO");
1 Like

A couple of points:
1.From an Accounting and Compliance reason you would want to do that.
2.Rightly or wrongly from your businesses perspective Epicor clearly say reversing and reissue is correct way to do it.
3. It adds another customization to your environment, which need to be built, tested and maintained.
4. If the invoice PO is wrong than more than likely it is wrong on the SO as well, so you would need to modify that, not to mention any other places where it was related.
5. It also ensures that a clear communication between your business and the customer to prevent any confusion in future, just in case someone picks up and is referencing to the wrong copy of the invoice with the incorrect PO on it.
6. If you use the customer tracker it will be clear as to what has happened, you may also have put a memo on the credit/invoice or a comment in the header to guide the next person.

I don’t believe that using correction invoice gives you the ability to alter the PO number.

So I hope that answers your question.