> For the complete documentation index, see [llms.txt](https://learn.withessential.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.withessential.com/revenue/invoices/put-a-customer-purchase-order-on-an-invoice.md).

# Put a customer purchase order on an invoice

Every invoice can carry the customer's purchase order (PO) number, and it prints on the invoice document they receive. Type it in for a one-off job, or save the POs a customer uses regularly so you can pick them by name and watch what has been billed against each one.

## Before you start

Turn on the **Purchase Order** toggle under Settings → Invoicing → Custom Fields. That is what puts the **PO Number** field on quotes and invoices — see [Custom fields and PO numbers on quotes and invoices](/revenue/quotes/custom-fields-and-po-numbers-on-quotes-and-invoices.md).

## Type a PO number on an invoice

Invoices carry one **Purchase order** dropdown. For a one-off number, choose **Custom** — a **PO number** field appears, and anything you type prints on the document. No setup needed, which is what you want for a customer who gives you a different PO for each job.

## Enter a PO number on mobile

With Purchase Order enabled, the mobile invoice editor uses the same **Purchase order** choices as web: select a saved customer PO, **Custom** to enter a number, or **None** to clear it. A saved PO links the invoice for spend tracking and shows the used and remaining budget.

New invoices start with the property's billing default, or the customer's default when the property uses customer billing. A default number appears under **Custom** until you choose a tracked PO. Your selection stays with offline drafts and prints on the invoice. Connect to the internet to load saved choices; an already linked PO remains visible when you reopen its draft offline.

## Save a purchase order you will use again

When a customer keeps sending work against the same PO, save it so Essential can track it.

After typing a number into the **Custom** field, a **Save as a purchase order** link appears under it. Choose whether it belongs to the whole customer account or just the property on this invoice, fill in anything else you want to record, and select **Create purchase order**. The new purchase order is created right away and the invoice form links to it immediately — but that link is only saved to the invoice once you save the invoice itself, so an unsaved invoice won't keep it (the purchase order still exists either way).

You can also add one ahead of time:

1. Open the customer page and expand **Billing**.
2. In the **Purchase orders** section, click **Add**.
3. Enter the **PO number** the customer gave you. This is the only required field.
4. Optionally add a **Description**, limit the PO to one **Property**, set a **Spend limit**, and set an **Expiration date**.
5. Select **Create purchase order**.

The **Property** dropdown is searchable: open it and type a property name or address to narrow the choices. **Property** defaults to All properties, which means the PO can be used on any invoice for this customer. Scope it to a single property when the customer issues separate POs per site — it will then only be offered on invoices for that property.

The same section appears on each property page's **Billing** panel, filtered to the POs usable on that property (its own plus the customer-wide ones, which show an All properties tag). Adding a PO from a property page starts it scoped to that property.

**Spend limit** is optional. Leave it blank for an open-ended PO. Spend is the total of every invoice referencing the PO that isn't a draft, voided, or written off as uncollectible, so drafts don't consume the limit until you finalize them.

## Pick a saved purchase order

The customer's saved purchase orders appear as choices in the same **Purchase order** dropdown, between **None** and **Custom**. The list shows the POs that are still open and that apply to the property on the invoice.

Picking one fills in the PO number and links the invoice to it, so the amount counts toward that PO's spend. A line under the field then shows how much of the PO is used, how much is left after this invoice, and when it expires.

Choosing **None** clears the purchase order from the invoice entirely — both the link and the number. To use your own text instead of a saved PO, choose **Custom** and type the number (switching off a saved PO keeps its number as a starting point); pick a saved PO from the list any time to link it again.

If the invoice would push the PO past its spend limit, or the PO has expired or been closed, Essential shows a note on the field. These are reminders, not blocks — you can still save, send, and collect on the invoice. Change the selection or raise the PO's limit if the note is telling you something you didn't intend.

## Where the number prints

Once saved, the PO number appears on the invoice document, in the preview, in the emailed PDF, and on the page your customer pays from. Essential's built-in templates include it automatically; if you've customized your invoice template, add the `{{ purchase_order }}` variable in Settings — the invoice editor shows a reminder whenever an invoice has a PO number your template wouldn't print.

## Edit, close, or reopen a purchase order

Use **Edit** on a purchase order row to change its number, description, property, limit, or expiration date. Invoices keep their link to the PO when you edit it. Note that editing a saved PO does not rewrite the number already typed on past invoices, and any PDF that has already been generated — the copy emailed to the customer, or the document saved when an invoice was finalized or paid — keeps the number it was issued with.

Closing a purchase order retires it: it stops being offered on new invoices, and invoices that already use it keep it. Open **Edit** on the PO and select **Close purchase order** in the modal's footer — there's no separate close button on the row itself. Use **Show all** in the Purchase orders section to see closed and expired POs, and **Reopen** to bring a closed one back.

> **Where to find it:** The **Purchase order** dropdown on an open invoice (choose **Custom** to type a one-off number), and Customer page > Billing > Purchase orders (also on each property page's Billing panel, filtered to that property)

## Related guides

* [Custom fields and PO numbers on quotes and invoices](/revenue/quotes/custom-fields-and-po-numbers-on-quotes-and-invoices.md)
* [Set customer billing (payment terms, tax exempt, autopay)](/customers-and-work/customers/set-a-customers-billing-profile-payment-terms-tax-exempt-autopay.md)
* [Create an invoice](/revenue/invoices/create-an-invoice.md)
* [Set payment terms and the due date on an invoice](/revenue/invoices/set-payment-terms-and-the-due-date-on-an-invoice.md)
* [Send an invoice to a customer](/revenue/invoices/send-an-invoice-to-a-customer.md)
* [Choose and customize your invoice document template](/administration/settings/choose-and-customize-your-invoice-document-template.md)


---

# 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://learn.withessential.com/revenue/invoices/put-a-customer-purchase-order-on-an-invoice.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.
