Tutorials
Automating Purchase Order Generation from Your Notion Database
Skip the copy-paste routine — generate branded, ready-to-send purchase orders directly from your Notion Purchase Order database with a single automation.
By Sanat Biswal · 2026-07-15 · 10 min read
Procurement and operations teams are increasingly running their vendor lists, order tracking, and approval workflows right inside Notion.
It's flexible to use, connects easily with other datasource and also keeps everything in one place for use.
The trouble starts to happen once a purchase order needs to be generated from a Notion Database as an actual document.
It's something that a vendor would need, an accounts team can refer or even an auditor can refer later on.
Most teams running today are handling this manually everytime one by one.
They ideally open the notion Database, setup the database with the required purchase order details, open a Word Template and then manually enter all the details such as:
- Vendor Name
- Item Details
- Quantities Details
- Total Details
- Looks identical in structure each time regardless of the size of the vendor or order size.
- The document has the company's branding intact automatically.
- It doesn't have any blank field left out or has any unmatched data left behind.
- Google Document or
- Word File or
- PDF File or
- Notion Pages
- Procurement teams who are managing recurring orders across multiple suppliers would need an automation.
- Small operations teams who are running without a full ERP system in place that would need automation.
- Warehouse managers who place regular restock orders and are looking for automation.
- Finance departments who need PO documentation to match with their accounting records.
- Placeholder text that doesn't exactly match the corresponding property name in the Notion database (including capitalization) won't work. Eg: If the placeholder used is
- Reusing a single template for different use cases such as internal requests or vendor-facing POs, wouldn't fit the similar layout and cause issues.
- Testing automation against a single record containing one line item won't work against a single PO that contains multiple line items.
- Not using the Preview Document feature properly to generate PDFs can lead to layout and formatting issues when the automation runs.
and then it's formatted to match the information to the company's Purchase Order layout being used.
This practice works for a one off document being created. But when it's required to produce documents for dozens of PDFs it fails due to number of reasons.
It can be typo issue in the document, or incorrect pricing value set in the document etc.
This article covers how to set up PDFOutput to generate purchase orders automatically from a connected Notion database, so that every PO comes out formatted, accurate, and ready to send without anyone editing a blank document to generate PDFs ever again.
What is The Problem With Notion's Default Export
The export option used within Notion's ••• menu was built for moving a page out of the app, but it's not meant for generating documents with right formatting at scale.
As soon as a PO database has involvement of relation and rollups (where line items and totals are involved) that's where things start to break and exports eventually fail.
The linked item tables lose their structure, totals don't carry over correctly in the document and there's no way to insert a logo and apply correct branding for the documents generated.
What Actually Makes a Purchase Order Usable
A purchase order that's ready to be sent over without any editing has the following common traits:
Most importantly anyone who reads the document can understand the document even without opening Notion to check upon it.
How to create the perfect Purchase Order
A perfect Purchase Order can have the Notion Database layer separated from the template setup.
The most reliable mechanism in this scenario is to create the Purchase Order in one of the following 4 formats:
Once the template is created with layout expected, then PDFOutput can automate the process of generating the PDFs directly in the PO Notion Database using data from Notion as source of truth.
> Note: PDFOutput uses either a Notion page, a Google Doc, a Word file, or a PDF File, with fields marked in the template using placeholders like {{PO Reference}}, {{Supplier Name}}, or {{Order Total}}, matching exactly to the property names in the connected database.
Step-by-Step: Setting Up Purchase Orders in Notion on Automation
Step 1: Prepare the Notion Purchase Order Database
PDFOutput automation depends on the database being set up correctly at first. This walkthrough uses two linked databases:
1. DB_PO Requests (Primary Database)
| Property | Used For |
|---|---|
| PO Reference (Title Property) | Unique purchase order identifier |
| Supplier Name (Text Property) | Name of the vendor |
| Supplier Email (Email Property) | Vendor's contact address |
| Requesting Department (Text Property) | Department raising the request |
| Raised By (Text Property) | Employee submitting the request |
| Issue Date (Date Property) | Date the PO is created |
| Expected Delivery (Date Property) | Delivery deadline |
| Payment Terms (Text Property) | Net 15, Net 30, COD, etc. |
| Ship-To Address (Text Property) | Delivery location |
| Approval Status (Status Property) | Draft, Pending, Approved, or Closed |
| Approved By (Text Property) | Manager who signed off |
| Order Items (Relation to DB_PO Items) | Links to items on the order |
| Order Total (Rollup Property) | Rolled-up total from DB_PO Items |
2. DB_PO Items (Connected Database)
| Property | Used For |
|---|---|
| Item (Title Property) | Name of the product or service |
| PO Reference (Relation Property) | Connects back to DB_PO Requests |
| Qty (Number Property) | Number of units ordered |
| Price per Unit (Number Property) | Cost per unit |
| Line Total (Formula Property) | Qty × Price per Unit |
A key thing to note here is that property names have to match exactly — even a stray of space or capitalization difference between "Order Total" and "order total" will mean two separate placeholders being used.
It's also worth mentioning that DB_PO Items needs to be connected within PDFOutput directly; this will allow relation and rollups to pull through the values from the database correctly when they are linked but not just referenced.
Step 2: Build the Purchase Order Template
The next step is designing the template file which will be used to generate the PDFs.
Using either a Word File or a Google Document allows maximum customization within a template file. Here's a sample Purchase Order template which we will use:
> Note: Here we have used the placeholders inside double curly braces such as {{PO Reference}}, {{Supplier Name}}, {{Issue Date}} etc and created the template as such.
Step 3: Setup the PDFOutput Connection
!PDFOutput - Document automation for Notion, built for scale
In this step, we will connect the Notion Database and the Template File in PDFOutput to start generating the Purchase Orders PDFs.
I have created a detailed guide on how to create Work Orders on Automation in Notion.
Refer to this detailed guide which explains step-by-step process on how to connect Notion Database and Template File to setup automation using PDFOutput.
We need to follow the same steps but for Purchase Orders using the above two Notion Databases (DB_PO Requests and DB_PO Items) and template file (Google Document).
Inside PDFOutput, before we setup the automation we must generate a Preview Document before going live to confirm each placeholder pulls the right value, then setup the automation using Setup Automation button.
!PDFOutput Automation Dashboard showing the Purchase Order automation with Active status
Generating a PO From Inside Notion
With the automation active, creating a purchase order just means updating a property.
Set GeneratePDF property to Ready to Generate on any record, and PDFOutput builds the document and drops it into the PDFFiles column, marking the record Completed once done.
For teams placing several orders at once — PDFOutput can process up to 100 records in a single batch.
For this we will use Batch PDFs option to generate PDFs in batches at once.
Who Would Need Purchase Orders
Where Causes Issues in Automation
{{PO Reference}} and the property name is {{PO_reference}}, then it will not work correctly.
Frequently Asked Questions
1. Can I test this before paying for anything?
Yes — PDFOutput includes 10 free PDF generations, no card required.
2. Does Notion's own export work for purchase orders?
Not well, notion's default export is built for basic pages and it struggles when there are relations, rollups, other branding aspects that is required.
3. Is a Google Doc required for the template?
No, not really. A template can be provided in the form of Word documents, PDF Files, Google Docs, or Notion pages. These are all supported sources.
4. Does PDFOutput handle totals pulled from a connected line-items database?
Yes, it can work provided that all databases are linked within PDFOutput, not just related with Notion.
5. Do I need any technical or coding skills?
No, not required. It works entirely on placeholders, simply wrap a field name inside double curly braces, match it to the database property, and the automation does the rest of the pdf generation.
Final Thoughts
Notion is well suited to tracking vendors, orders, and approvals, but it isn't a document generator platform.
When we try to push Notion to act like a document generator platform it creates more manual work. Once the Purchase Order layout is separated from the database, an automation can easily handle the rest, every approved order turns into a finished, on-brand document without anyone retyping a field that is required.
For teams still issuing POs manually, automating this step tends to pay off the first time it runs across a full batch of orders.
Need to automate your purchase orders? Get started for free and set up your first PDF automation in minutes.