This guide covers how to:
Create and manage PDF templates for Purchase Orders and Subcontracts
Set defaults and update template content
Use editing tools to build consistent, professional PDFs
Table of Contents
Table of Contents
Before You Begin: Required Settings
The PDF template functionality for Purchase Orders and Subcontracts is controlled by company-level settings. These settings are managed by your system administrator and can be found in Company Settings → Procurement → General.
Setting | What It Controls |
Enable Subcontract Workflow | Controls access to all subcontract-related functionality, including the ability to create and use Subcontracts. This setting must be on for any subcontract features to be available. |
Enable Subcontract PDF Workflow | Controls PDF generation and templates for Subcontracts. This setting is managed by Enable Subcontract Workflow — if Subcontract Workflow is turned on, Subcontract PDF Workflow will also be enabled automatically and cannot be disabled independently. |
Enable Purchase Order PDF Workflow | Controls PDF generation and templates for Purchase Orders. This setting is independent of the Subcontract settings. When disabled, the legacy Purchase Order PDF workflow and template will be used. |
Important:
If Enable Purchase Order PDF Workflow is off, the PDF Template field will not appear on Purchase Orders and Procurement Templates will not be accessible for POs.
If Enable Subcontract PDF Workflow is off, the PDF Template field will not appear on Subcontracts and Procurement Templates will not be accessible for Subcontracts.
If both PDF Workflow settings are off, the PDF Template field will not appear on either document type and Procurement Templates will not be accessible at all.
If Enable Subcontract Workflow is off, all subcontract functionality is hidden including the ability to assign templates to Subcontracts or generate Subcontract PDFs.
Creating a New Template
Go to Procurement Settings -> Procurement Templates.
Click Create Template.
Enter a Template Name.
Select one or both Document Types (Purchase Order, Subcontract).
Only templates linked to that document type can be used for those documents.
(Optional) Add a Description.
This appears in the PDF Template dropdown when choosing a default template.
Click Save.
Click the template name to open and start building the template.
Setting a Default Template
Go to Procurement Settings -> Procurement Templates.
Under Default Templates, choose which template should auto-populate for each document type.
Default templates are set per document type — you can have one default for Purchase Orders and a separate default for Subcontracts or they can share the same default. These defaults only apply to document types whose PDF workflow setting is currently enabled.
You can still choose a different template when creating or editing a PO/Subcontract.
Selecting or Changing a Template on a PO or Subcontract
When Creating a New PO or Subcontract
The Default Template will automatically appear in the PDF Template field.
You can choose any other template assigned to that document type.
Changing the Template on an Existing PO or Subcontract
Open the document.
Click Edit at the top.
Choose a new template in the PDF Template dropdown.
Click Save.
Click Preview to view the updated PDF.
Archiving (Making a Template Inactive)
To archive a template:
Go to Procurement Settings -> Procurement Templates.
Click the three-dot menu next to the template.
Select Archive.
To unarchive a template:
Go to Procurement Settings → Procurement Templates.
Click the three-dot menu next to an archived template.
Select Unarchive.
Important:
You cannot archive a template that is currently set as a Default Template.
Update your defaults first, then archive.
Templates cannot be deleted — only archived. Archived templates remain in the system but cannot be used to generate new PDFs.
If a PO is already in an approved or completed status, you may still preview it even if the template has since been archived.
Building Content in a Template
Templates use drag-and-drop content blocks. Below are the most common block types and when to use them.
Text
What it is: Basic written content such as headers, descriptions, instructions, or legal text.
How to add it:
Drag a Text block into the document.
Click inside the block to type.
Use the toolbar at the top to format text.
Image (Including Logos)
What it is:
Company & DepartmentLogos, diagrams, signatures (uploaded scans or photos) or reference images.
How to add an image:
Drag an Image block into the template.
Upload an image or choose one from your library.
Resize or move it as needed.
How to add a logo:
Drop an Image block.
Click the image properties panel.
To add a Company logo, enter “logo” or “company-logo” in the image name.
The logo uploaded under your Company Settings will automatically populate upon PDF generation
To add a Department logo, enter “department-logo”
The logo uploaded under your Company Settings by Deparment will automatically populate upon PDF generation
Video
What it is: A video embedded from YouTube, Vimeo, or another supported platform.
How to add it:
Drag a Video block into the document.
Paste the video link.
Adjust size or placement if needed.
Table
What it is: A simple table for organizing text-based information (non-pricing).
How to add it:
Drag a Table block into the template.
Choose the number of rows and columns.
Click into cells to add or edit content.
Adjust column widths by dragging borders.
Pricing Table (For PO and Subcontract Line Items)
What it is: A table that automatically calculates pricing, quantities, tax and totals.
How to add and configure it:
Drag the Pricing table block into the template.
In the Name column, enter [POLine_Item_Name].
Important: This is required to pull in the necessary PO and Subcontract pricing details.
You only need to add one [POLine_Item_Name] line in the pricing table.
All PO or Subcontract line items will automatically appear when the PDF is generated.
To add Tax:
Click on the caret in the top of any column → Insert column to the right → Select Tax → Click on the caret in the Tax column → Hide column
Why hide it? Tax is calculated on the overall total rather than per line item, so the column will show $0 — hiding it keeps your document looking clean while tax still calculates correctly.
Price, Qty, Tax and Subtotal populate automatically.
Qty × Price = Subtotal
Qty includes original + revised amounts
Note: May require you to follow below steps to refresh revisions.
You may rename header labels if desired.
Important: Variables containing “POline” can ONLY be used inside the pricing table.
Table of Contents
What it is: A generated outline based on headings in your template.
How to add it:
Drag the Table of contents block into the template.
Make sure your section titles are formatted as headings.
The table updates automatically as you edit.
Page Break
What it is: Forces the next section to start on a new page.
How to add it:
Drag a Page break block into the template.
Place it where you want a new page to begin.
Variables (Dynamic Smart Fields)
What they are: Placeholders that automatically fill with document data when the PO or Subcontract PDF is generated (e.g., PO #, vendor name, address).
How to add variables:
Click inside a text block.
Insert a variable directly by:
Typing “[” to open the variable dropdown
You can also copy and paste variables, by:
Variables populate automatically once the PDF is generated.
Variables containing “POline” must be placed inside the pricing table only.
[PO_ShippingAddress] = full shipping address with state, city & zip
[PO_Vendor_Address] = full vendor address with state, city, & zip
Important:
If a variable doesn't have data to pull from the document, it will appear highlighted in yellow within the editor — but don't worry, it won't show up on the final PDF. There's no need to remove it.
Client variables should be ignored for now. These capabilities have not been implemented yet.
Syncing Updates to a PDF
If a PO/Subcontract or its template has changed after a PDF was already generated,
BuildOps will notify you with a banner when you open the preview.
Simply click the Sync button on the banner to apply the latest changes.
To skip the update, simply disregard the banner — it will persist until you're ready to sync.
There are three banner types:
1. "New smart fields are available. Sync to add the latest variables to this template."
Shown on the Template View page when new variables have been added to the system.
Click Sync Variables to add them to your template.
2. "This PDF has outdated information. Sync to apply the latest document updates."
Shown in the Preview when PO or Subcontract details have changed since the last PDF was generated (e.g., line items added or removed, description updated).
Click Sync Updates to pull the latest information into the PDF.
3. "This PDF was generated from an outdated template. Sync to apply the latest template updates."
Shown in the Preview when the template itself has been updated since the PDF was last generated.
Click Sync Updates to apply the latest template changes to this document.
Emailing a PDF:
From the Purchase Order or Subcontract detail page, click Preview to generate the PDF
Click the Email PDF button to open the email dialog
Enter the recipient's email address in the Email To field
Review the Subject Line (auto-populated with the document name)
Add a Description to include in the email body
Click Send Email
Downloading a PDF:
From the Purchase Order or Subcontract detail page, click Preview to generate the PDF
Click the dropdown arrow (caret) next to the Email PDF button
Select Download PDF to save the file locally
FAQs
FAQs
Q: What settings need to be on for PDF templates to work?
A: Enable Purchase Order PDF Workflow for POs, and Enable Subcontract Workflow (which auto-enables Subcontract PDF Workflow) for Subcontracts. If both PDF workflow settings are off, Procurement Templates won't be accessible at all.
Q: Will enabling this affect existing completed POs?
A: No — POs already in completed statuses (Approved, Fulfilled, Partially Fulfilled, Closed, Exported, Bypassed) created before the PDF Workflow setting was enabled will continue using the original format. Only draft POs will use the new system.
Q: Can templates be deleted?
A: No — templates can only be archived. Archived templates remain in the system but cannot be used to generate new PDFs. You cannot archive a template that is currently set as a default — update the default first.
Q: Why do all the variable names say "PO" — what about Subcontracts?
A: POs and Subcontracts share the same data structure, so variables use the "PO" prefix for both. The PDF will always render the correct labels based on the document type being used.
Q: Why is the Tax column showing $0 in my Pricing Table?
A: Tax is calculated on the overall total, not per line item, so the column will always show $0 per line. The recommended approach is to add the Tax column but hide it — tax still calculates correctly at the bottom of the table.
Q: Can POline variables be used outside the Pricing Table?
A: No — POline variables can only be used inside the Pricing Table. Outside of it, the editor has no way of knowing which line item the variable should refer to.
Q: A variable in my template isn't showing data — is something wrong?
A: If a variable has no data to pull from the document, it shows highlighted yellow in the editor. It will not appear on the final PDF — there's no need to remove it.
Q: Can I edit a specific document's PDF without affecting the template?
A: Yes — edits made in the preview or on the document itself apply only to that document and do not update the original template.
Q: What happens if the template or document data changes after a PDF is already generated?
A: BuildOps will show a sync banner in the preview. Click Sync Variables (for new template variables) or Sync Updates (for document data or template changes) to refresh the PDF.
Q: Are previous PDF versions stored?
A: No — previous versions are not stored. If a customer needs to preserve different versions, they must download and save as attachments manually.
Q: What are Client variables?
A: Client variables are planned but not yet implemented. Advise customers to ignore them for now.
Q: Can I create custom variables myself?
A: No — custom variables require setup by the engineering team. Submit requests through the Account Team; do not create them independently.
Q: Why doesn't [PO_Payment_Terms] show a value on my Purchase Order?
A: This variable only populates on Subcontracts, not on standard Purchase Orders.
