Create Purchase Order


📌 Reminder: Only staffs with 'Manage purchase' orders access can manage PO. Click here to learn how to manage staffs.


In this article:


  1. Introduction
  2. Create PO
  3. Receive items
  4. How new PO affect product cost price?
  5. Edit PO and GR templates


1. Introduction


A Purchase Order (PO) helps you manage incoming stock from vendors, track costs, and record delivery details.


2. Create PO


2.1 Log in to your EasyStore admin panel > Products > Purchase orders > Create purchase order.



2.2 Select from existing or create a new vendor.


💡 Tips: You can manage full vendor list at Products > click on the 3-dot menu on top right > Manage vendors.



2.3 Select the location that will receive the products.


📌 Reminder: Only locations in Settings > Locations that 'Track inventory independently' can be selected here.



2.4 Select payment terms (optional).


  • None
  • Immediate
  • Cash on delivery
  • Net, 7, 15, 30, 45, 60 or 180 days
  • Quarterly



2.5 Select the PO currency, which will be the currency for product cost price as well.



2.6 Select the product(s) that want to purchase in this PO. You can add up to 1000 variants per PO.


📌 Reminder: Only products that let 'EasyStore tracks inventory of this product' can be issued PO.



2.7 Fill in the details for each item:


  • Vendor SKU (optional)
  • Quantity to purchase
  • Product cost price — Refer step 4 below to learn how product cost price in PO affect existing product cost price
  • Tax rate



2.8 Fill in the remaining details, these are optional during PO creation, you can add later by editing PO.


  • Shipment details
  • Additional details
  • Invoice details



2.9 PO summary will be shown at the right side. If further adjustment needed, click on the pencil icon to add.


  • Shipping
  • Discount
  • Custom duties
  • Foreign transaction fee
  • Freight fee
  • Insurance
  • Rush fee
  • Surcharge
  • Other



2.7 Once all done, scroll back to top click Save to save the PO as draft.



2.8 At this status, you may click 'Print purchase order' to preview the PO and make changes if needed.



2.9 Once everything ok, you may print the PO and send it to vendor.



2.10 Once PO has been sent to vendor, you can further mark the PO as sent.



3. Receive items


3.1 When items arrive, click on 'Receive purchase' for next step.



3.2 If PO contain large item quantities it may take some times to run in background (page loading). You may refresh the page after a while to check the updates.



3.3 Adjust the accept / reject quantity for each item > Save.



3.4 If items are partially received, you can continue receive the remaining items.



3.5 Once all items have been received / rejected, you can mark the PO as completed.



3.6 Goods received note (GRN) can be printed at partially or received status.



4. How new PO affect product cost price?


4.1 You can select how product cost price in new PO affect existing product cost price.


Click on the 3-dot menu on top right > Purchase order settings



4.2 Select the product cost price calculation method.


📌 Reminder: New setting applies to new PO and any current draft PO.


Use average cost


System will update existing product cost price using formula below:


[(Current CostPrice × Current Quantity) + (PO CostPrice × PO Quantity)] ÷ (Current Quantity + PO Quantity)


Use purchase order cost


Update existing product cost price following that in the latest PO.


Don’t update cost


No changes will be made on existing product cost price.



4.3 If PO currency is different from primary currency, system will auto convert PO currency to primary currency following the exchange rates in Settings > Currencies to calculate or update existing product cost price. If no relevant exchange rate is set, system default exchange rates will apply.


5. Edit PO and GR templates


5.1 If you need to edit the PO or GRN format, may click on the 3-dot menu on top right > Purchase order templates.



5.2 Click on pencil icon to edit.



5.3 We suggest avoid editing codes or variables, it may cause errors in the result. In case it happens, you may reset the templates.



Updated on: 29/08/2025

Was this article helpful?

Share your feedback

Cancel

Thank you!