The PO is already approved and printed but when revision is to be made it was accidentally deleted instead of the line details, Is there a way to Restore it to the Purchase Order Details Form?

If not, is there a way to packing slip the PO? and consequently invoice it?

No and No. You need to recreate one. You can rename it to the old number, but then the new number will never be used again. Technically the approval and print have gone, so re-do them.

You can see the deleted purchase orders in Voided Purchase Orders - If your purchases are marked as voided.

Even there you can only see the information of the deleted Purchase Orders…

Well I hope somebody could do things on how to resloved such issue, as the PO must not be deleted from the form coz it could not be restored.

Thanks a lot…

It is called traing users. if you had a system that covered all of this it would be impossible to implement. Remove the security rights for them to delete.

Hai Kranthi,

where can i find the deleted Purchase orders.

If your purchases are marked as voided (in AP parameters) - you can see the deleted purchase orders in AP-> Inquiries → History → Voided Purchase Orders…

Hai Kranthi,

If i created a new PO called '0155 ’ and then i deleted that purchase order “0155”,now it is moved to voided PO.Right ? i would like to know when am creating new PO it’s coming as 0156.But am asking how we will get the same PO 0155 for creating a new PO.

I hope if we can delete the Voided PO of 0515 from the voided PO list ,them we will get the 0515 when we are creating the PO.

is it correct or not?

I think U can make manual number of PO by setting in number sequence. Although the PO is voided, we can make new PO with same number.

AP-Setup-parameter-number sequence tab

right click on number sequence code-go to main table

select your PO format - click periodic history - select on periodic that you last use.

certainly the next record is 0156 (or 156), change in with 0155 (or 0155) -save - refresh your AX ( or press f5).

If I wrong, please correct…


Learn together…!!!

Deleted PO can never restore, if you need to deleted PO then go Accounts Payable >> Inquiries >> Journals >> History >> Voided Purchase Orders…here you can see the voided Purchase Order or lines…

Hi All,

Is there a way to get the user who deleted this PO? I am looking at the purchase order history but the user named there is the one who last posted the PO.



I am also looking for the same solution.

hey you can setup database log setup and then each history of transaction it will show in the administrator module.


Rajesh Kumar Sharma


i voided sales order and i need to make restore for my sales order (SO - 000013970). i searched by internet how i can make restore, i found one code to run in X++ by create a class to provide an option of restoring the orders

static void restoreDeletedSO(Args _args)


SalesTableDelete salesTableDelete;

SalesLineDelete salesLineDelete;

SalesTable salesTable;

SalesLine salesLine;


SalesTableDelete = SalesTableDelete::find(’SO - 000013970′, true);


switch (salesTableDelete.Cancelled)


case Voided::Voided :

salesTable = conpeek(salesTableDelete.SalesTable, 1);


while select forupdate salesLineDelete where salesLineDelete.SalesId == salesTableDelete.SalesId


salesLine = conpeek(salesLineDelete.SalesLine, 1);





case Voided::linesVoided :

while select forupdate salesLineDelete where salesLineDelete.SalesId == salesTableDelete.SalesId


salesLine = conpeek(salesLineDelete.SalesLine, 1);









When i make compile for my code there is error appearing syntax error for line number 1 and 3

how i can solve this issue??