Skip to content

Purchase Orders and Invoices

Andy Theuninck edited this page Mar 29, 2017 · 3 revisions

CORE supports storing information about items coming into the store as inventory as well as those leaving the store as sales. This is stored as purchase orders and/or invoices. Vendors (Products and Vendors) and their catalogs (Importing Vendor Catalogs) factor heavily into this side of the operation.

Purchase Orders

A purchase order is a list of items the store wishes to order from a vendor. The list includes a quantity, in cases or whatever equivalent unit the vendor sells in, and an estimated cost. A purchase order is created by the store and submitted to the vendor. CORE can create purchase orders but to do so the vendor's catalog information must be in the system.

Four options are available to create a purchase order.

  • By Vendor builds exactly one purchase order for a particular vendor; all items must be from the same vendor.
  • By Item will search all known vendor catalogs and create multiple purchases orders as needed to accommodate the chosen items. This is both a bit more confusing and has not seen as much real-world use as working By Vendor
  • Generate Orders ties into perpetual inventory and pars, if implemented. It can generate orders for one or more selected vendors that have counts and pars entered.
  • Store Transfer creates a specialized type of PO where the store itself is the vendor. These are to account for moving product between buildings and/or internal departments. It's necessary to have both a store entity and a vendor entry who's name matches the store's name.

Purchase orders are subdivided into two main statuses: pending and placed. The actions that can be performed on an order differ based on this status.

  • Pending orders
    • Can be edited via the Add Items button.
    • Can be deleted via the Delete Order button.
  • Placed orders
    • Can be received via the Receive Order button.
    • Can be transferred via the Transfer Order button. The use case here is the same as making a Store Transfer PO.
    • Can be recoded via the Alter Codings button. The Coding entry on each PO line item is intended to correspond to the financial department's chart of accounts numbering scheme.

When an order is complete, you can export it as a PDF or spreadsheet and send it to the vendor by email, fax, etc. If an email address is present in the vendor's contact information, an option to email that export document to the vendor will also be present. It's a good idea to do some tests sending an order to an email address of your own to make sure SMTP is setup on the server. Sending an order to a known bad address is also a good idea to verify the resulting bounce gets back to a person rather than getting eaten somewhere in the return path. There is a UNFI export option that produces a file you can upload to UNFI's website.


An invoice is a list of items that a vendor sent to the store along with quantities and costs. An invoice is not treated as a separate entity. Rather, each invoice should correspond to a purchase order and combine to form a single document showing what items were requested and what items were actually received. An purchase order can be resolved against an invoice by clicking the Receive Order button. On the receiving screen, enter a SKU (or UPC), and then fill in quantity received and actual cost from the invoice. There's also an All option to view the whole order as a table and enter received quantities.

Invoices can currently be imported from a spreadsheet. Minimal requirements are SKUs, quantities, and costs. Invoices can also be entered manually one line at a time. Auto completion is fairly smart if the vendor's catalog is in the system. Finally, the UnfiInvoiceGrabber plugin contains a scheduable task that can automatically download invoices from UNFI's website and import them into the system (SelectInvoiceGrabber does the same for Select Nutrition). When entering invoices in any of these manners, a purchase order is created automatically with the ordered quantities simply matching the received quantities from the invoice.

Clone this wiki locally
You can’t perform that action at this time.