To make a Notion purchase request form, create a Purchase Requests database with properties for the item, quantity, unit price, vendor and reason, then add a Form view and share it with your workspace. Add a formula for the total and a Status property for approval. Each request lands as a page your approver can review, approve or reject.
What a purchase request is, and what it isn’t
A purchase request is an internal ask for permission to spend money before anything is ordered. A university procurement office describes the requisition as an internal document that starts an order and charges a specific account, and says plainly that it is not a purchase order.
The purchase order comes later. Another school’s procurement page explains that a fully approved requisition is converted into a purchase order that goes to the supplier.
Your Notion form handles only the internal half: who wants what, why, and who said yes. The order itself goes out from your accounting or ordering tool after approval.
Fields for a Notion purchase request form
A Notion purchase request form needs enough detail for an approver to decide without a follow-up message. Every question on a Notion form is tied to a property in the database, as Notion’s forms help page explains, so design the database first.
| Property | Notion type | On the form? |
|---|---|---|
| Item | Title | Yes |
| Quantity | Number | Yes |
| Unit price | Number (currency format) | Yes |
| Vendor | Text | Yes |
| Link or quote | URL | Yes |
| Reason | Text | Yes |
| Needed by | Date | Yes |
| Budget line | Select | Yes |
| Requester | Person | Auto, via Respondent |
| Total | Formula | No, calculated |
| Approval route | Formula | No, calculated |
| Status | Status | No, set by approver |
| Approver | Person | No, set by you |
Keep Budget line as a Select with the same options your finance sheet uses, such as Software, Equipment and Events. Free-text budget names drift, and you can’t group by them later.
Reason is the field approvers actually read. Put a hint in its description: “What breaks or slows down if we don’t buy this?” One honest sentence beats a vague “needed for work”.
How to set up the form and share it
The Form view in Notion turns the database into a request form in a few minutes, and it works on every plan.
- Create a full-page database called Purchase Requests with the properties above.
- Add a Form view from the view tabs. Do this on desktop or the web.
- Add questions for every “Yes” row. Mark item, quantity, unit price and reason as required.
- Turn anonymous responses off. A form built from scratch gets a Respondent property, so you see who asked. The respondent guide covers the details.
- In Share form, set “Who can fill out” to Anyone at your workspace with link. Purchase requests come from staff, so there’s no reason to open the form to the web.
- Pin the link in your team wiki or Slack channel.
Guests can only fill it out if they have access to the database, so contractors who buy on your behalf need that access first.
Calculate totals and route approvals with formulas
Formulas let the database compute the total and pick an approval route the moment a request arrives. Per Notion’s formula docs, a formula property runs calculations based on other properties on the same page.
Add two formula properties:
- Total:
prop("Quantity") * prop("Unit price") - Approval route:
if(prop("Total") > LIMIT, "Finance", "Manager")
Replace LIMIT with the amount above which finance must sign off. The requester never sees either property; both appear on the page and in views as soon as the response is saved.
Then add a Table view filtered to Status = “Requested” and grouped by Approval route. Now your manager and your finance lead each have their own short queue.
Notify approvers with database automations
Database automations can ping the right approver when a request lands or changes. The automations help page lists triggers such as Page added and Property edited, and actions such as Send mail to, Send notification to and Send webhook.
Two automations cover most teams:
- New request: trigger on Page added, with a condition that Approval route is “Finance”. Action: send a notification to your finance lead.
- Decision made: trigger when Status is edited to “Approved” or “Rejected”. Action: notify the Respondent, so the requester knows without asking.
A trigger can carry more than one condition, and it fires only when all of them are true.
The limitation: database automations need a paid Notion plan. On Free, you can only build Slack notification automations. If you’re on Free, turn on the form’s email copy of each submission and check the queue daily, or see Slack notifications for Notion forms. The form automation guide covers more options.
Attaching quotes and showing different questions
Native Notion forms have two gaps for purchasing: no file question on the help page, and conditional logic only on Business and Enterprise plans.
For quotes, the “Link or quote” URL field works if people already save PDFs to a shared drive. If you want the PDF itself, a form builder is the easier route. nDBForms takes file uploads on Pro (up to 10 MB each), saves them to your Google Drive and writes the link to the Notion page. The file upload guide compares the options.
Conditional logic helps when software requests need extra questions, such as “How many seats?” or “Does it store customer data?”. On Free or Plus, put those questions in a separate section with “Software only” in the heading. nDBForms’ show/hide rules on Pro work with any Notion plan, if you’d rather hide them.
A worked example
A designer needs a second monitor. They open the pinned form, enter the item, quantity 1, the unit price, a product link, and the reason: “Reviewing layouts side by side on one screen is slow.”
The page lands with Status “Requested”. Total fills in, and Approval route says “Manager” because the amount is under the limit. The manager gets notified, moves the status to Approved, and the designer gets a notification. Someone in ops then places the actual order.
My take: skip a dedicated procurement tool until you have several approvers or real budget tracking. A small team needs nothing more than a Notion database with two formulas and two automations, and everyone already knows where to look. If you also reimburse staff for things they bought themselves, the expense reimbursement form uses the same pattern.
FAQ
Is a purchase request the same as a purchase order?
No. A purchase request is an internal ask for approval to spend. Once it’s approved, it becomes a purchase order, which is the document that goes to the supplier.
Can a Notion form calculate the total cost of a purchase request?
Not inside the form. Add a formula property that multiplies quantity by unit price; Notion fills it in on the new page as soon as the request arrives.
Do I need a paid Notion plan for purchase approvals?
The form itself works on every plan. Database automations that email or notify approvers need a paid plan, while Free plans are limited to Slack notification automations.
Can people attach a quote to a Notion purchase request form?
Notion’s forms help page doesn’t list a file question. Ask for a link to the quote, or use a form builder that accepts uploads and writes the link to Notion.