# Purchase Orders

Purchase orders (POs) let you formalize material and service orders with vendors before the work is done or the materials are delivered. You can create a PO, generate a PDF, attach supporting documents, and send it to the vendor -- all from one place.

## How It Works

A purchase order is a document you send to a vendor that says "we are ordering these items at these prices." It locks in pricing, gives you a PO number to reference, and creates a record you can match against when the vendor bill arrives. This helps you verify that you are only paying for what you actually ordered.

When a vendor bill comes in, you can link it to the PO to confirm the amounts match and flag any discrepancies.

## Steps

### Creating a Purchase Order

1. Go to **Purchase Orders** and click **New Purchase Order**.
2. Select the **Vendor** you are ordering from.
3. Select the **Project** the order is for.
4. Add **Line Items**:
   * Enter a description, quantity, unit price, and cost code for each item or service.
   * The system calculates the line total and overall PO total.
5. Add any **Notes** or special instructions for the vendor.
6. Attach supporting documents if needed (specs, drawings, quotes).
7. Click **Save** to save a draft, or **Submit** to finalize the PO.

### Generating a PDF

1. Open a submitted **Purchase Order**.
2. Click **Download PDF**.
3. The PDF includes your company info, the vendor's info, all line items, totals, and any attachments you included.
4. Send the PDF to the vendor by email or print it.

### Matching a Vendor Bill to a PO

1. When you [import a vendor bill](/project-management/proforge-core/importing-vendor-bills.md), look for the **Purchase Order** field.
2. Select the PO number that matches the vendor's invoice.
3. The system compares the billed amounts to the PO amounts and flags any differences.

![create purchase order basics (step 1)](/files/YFkfn4YnLgQnIYaJIkja)

![purchase order list](/files/VCyEPRqJBRULj5Hbkfni)

## Related Pages

* [Importing Vendor Bills](/project-management/proforge-core/importing-vendor-bills.md) -- match bills to purchase orders
* [Cost Codes](/project-management/proforge-core/setting-up-a-project/cost-codes.md) -- assign PO line items to cost codes
* [Accounts Payable Report](/project-management/proforge-core/reports/accounts-payable.md) -- track PO and bill status


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.proforgeerp.com/project-management/proforge-core/importing-vendor-bills/purchase-orders.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
