> For the complete documentation index, see [llms.txt](https://help.agencydesk.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.agencydesk.io/jobs/financial/purchase-orders.md).

# Purchase Orders

Raise Supplier Purchase Orders from a Job's Costs. One PO per Cost, with buy-and-resell views and correct dual tax-rate handling.

The **Purchase Orders** sub-tab of a Job's [Financial](/jobs/financial.md) tab is where you raise [Supplier](/admin/suppliers.md) POs for the Job's [Costs](/jobs/costs.md). A Purchase Order captures what you're buying from a Supplier and what you'll resell it to the client for.

## One PO per Cost

Purchase Orders work on a **one-to-one basis with Costs**: one PO for every Cost. A PO is always raised from a specific Cost on the [Job Costing](/jobs/job-costing.md), which is what lets Agencydesk populate it automatically and keep the buy-and-resell figures accurate.

## Creating a Purchase Order

{% stepper %}
{% step %}
On the **Purchase Orders** sub-tab, click **+ New Purchase Order**. The Purchase Order Detail slider opens.
{% endstep %}

{% step %}
Under **Order**, select the Cost this PO is for. Once selected, the PO **auto-populates** with that Cost's details: Supplier, cost figures, and the purchase and resell values.
{% endstep %}

{% step %}
Complete the remaining fields. In most cases the only ones left to fill in are:

* **Attention** — a contact person, needed only if the Supplier has no contact set.
* **Deliver By** — the delivery date.

Check Payment Terms, Issue Date and Description. Delivery Address starts blank on a new PO; type it or choose a physical address as explained below.
{% endstep %}

{% step %}
Click **Create Purchase Order**.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Check the delivery address on every new PO. It starts as **Custom** with blank text; the agency address is not filled automatically. An edited PO keeps its saved address.
{% endhint %}

### Choosing the delivery address

{% stepper %}
{% step %}
In the Purchase Order form, find the address-source dropdown above **Delivery Address**.
{% endstep %}

{% step %}
Choose **Agency physical address** or **Client physical address** to fill the available physical address. The agency address comes from [Company Settings > General > Details](/company-settings/general/details.md); the client address comes from [the Job’s Client](/admin/clients.md). Postal addresses are not substituted.
{% endstep %}

{% step %}
Review and edit the text for this order, including a site, reception desk or delivery instructions. Typing makes the address **Custom**.
{% endstep %}

{% step %}
To enter a completely different address, select **Custom**. Selecting it clears the current text, so enter the replacement before saving.
{% endstep %}

{% step %}
Wait for any client-address lookup to finish, check the final text and click **Create Purchase Order**, or save the edited PO.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
An unavailable physical address is not filled. If the client address cannot be loaded, your existing text stays in place; retry the Client choice or enter a custom address. The saved PO stores the text you approved, so review it again when editing.
{% endhint %}

For an event Job, the agency’s office may be the wrong destination. Choose **Custom** and enter the venue, loading entrance and on-site contact. For a brochure delivery to the Client, choose **Client physical address** and check the instructions before sending the PO.

## POs activate their Cost

You can't raise a PO on a **draft** Cost. When you select a draft Cost and issue a PO against it, that Cost is **activated** automatically. This keeps the Job Costing and the PO in step: if you've committed to buying something from a Supplier, that Cost is by definition active on the Job.

The reverse also holds. A Cost that has a Purchase Order raised against it can no longer be [deactivated back to draft](/jobs/job-costing.md#deactivating-a-line-item).

## Purchase view and resell view

A Purchase Order shows two clearly separated views:

* **Purchase Items** (the light grey box) — what you're **buying** from the Supplier: units, unit cost, total, and total including tax.
* **Resell Items** (the light blue box) — what you'll **sell it to the client for**: units, unit cost, unit markup, unit price, total, and total including tax. A **Markup / Margin** toggle lets you view the uplift either way, where markup % = (price − cost) / cost.

{% hint style="info" %}
**Two tax rates, applied correctly.** Tax rates are set on both Supplier profiles and [Client](/admin/clients.md) profiles. Agencydesk uses the **Supplier's tax rate** for the purchase (grey box) calculations, and the **Job's Client tax rate** for the resell (blue box) calculations. So the buy side reflects what your supplier charges you, and the sell side reflects what your client is charged, without any manual adjustment.
{% endhint %}

{% hint style="info" %}
**Great for** media buying and production. A print run, a photographer's day rate, or an ad spend placement all get bought at the supplier's tax rate and resold at the client's, with the margin visible on the same document.
{% endhint %}

## Marking a PO as paid

A PO can be **marked paid manually**, both here in the Job's Purchase Orders tab and on the agency-wide [Finance](/admin/finance.md) page. This lets you track supplier payments as they're settled.

## Deleting a Purchase Order

A PO can be deleted by clicking the **trash icon** on its row in the Purchase Orders list. This works from both the Job's Purchase Orders tab and the main Finance page.

{% hint style="warning" %}
A paid PO has to be **marked unpaid** before it can be deleted. This matters when unwinding a Job, because a Cost cannot return to draft while a PO exists against it, and a Job cannot be [deleted](/jobs/managing-jobs.md#deleting-a-job) while any Purchase Orders remain.
{% endhint %}

## Activity

{% stepper %}
{% step %}
Below the Job’s Purchase Orders list, click **Activity** when it is available. It starts closed.
{% endstep %}

{% step %}
Read the Purchase Order entries that have been recorded, including the person or System, date/time and any amount detail.
{% endstep %}

{% step %}
Click Activity to close it again. Keyboard users can focus the heading and use Enter or Space.
{% endstep %}
{% endstepper %}

Switching back to Invoices shows Invoice activity and starts closed again. Use [Central](/jobs/central.md#activity) for the wider Job history and Search. The log shows the available records; do not assume that every PO creation, edit or payment is recorded.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.agencydesk.io/jobs/financial/purchase-orders.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
