Last Updated: May 20, 2026
Purchase Requests
All Tierra purchases — software, supplies, vendor services, subscriptions — go through the /purchase-request Slack bot. This page covers what to request, how it routes, and what's expected of approvers and fulfillers.
No purchase without an approved request
This includes free trials that convert to paid subscriptions. Policy violations carry escalating consequences (see §7).
What This Process Is For
- Eliminate redundant tool subscriptions (e.g., duplicate AI tools, overlapping editing software)
- Create accountability and a clear audit trail for every dollar spent
- Enable client-billable expense tracking so we recover costs where appropriate
- Give department managers ownership of their budgets
Scope
| Category | Examples |
|---|---|
| Software & SaaS | AI tools, creative editing, analytics, project management, CRM |
| Physical Supplies | Props, set materials, office supplies, Amazon purchases |
| Vendor Services | Freelancers, contractors, one-time vendor fees |
| Subscriptions | Any recurring charge billed to a Tierra card or account |
Submitting a Request
Type /purchase-request in any Slack channel or DM. Click Submit New Request and complete the form.
Form fields
| Field | Details |
|---|---|
| Request Description | What you want to buy and why you need it |
| Estimated Cost | Dollar amount ($ and commas are fine) |
| Payment Recurrence | One-Time / Monthly / Annual |
| Purchase Category | Software / Physical Supplies / Vendor Services |
| Expense Type | Agency-Wide / Pod-Specific / Client-Specific |
| Department | (Agency-Wide only) Creative, Media Buying, Web Development, Finance & Legal, Human Resources, Business Development |
| Pod or Client | (Pod-Specific or Client-Specific only) Select from the active list |
| Urgency | Standard (3 business days) or Urgent (24 hours — requires justification) |
| Link / Reference | URL to product, Amazon listing, or vendor quote |
Approval Tiers
| Scenario | Approver(s) |
|---|---|
| Pod-Specific or Client-Specific, under $500 | Pod Owner (Growth Strategist) |
| Agency-Wide, under $500 | COO |
| Any expense type, $500 – $999 | COO |
| Any expense type, $1,000+ | CEO + COO (both required) |
| Recurring under $100/month | COO |
| Recurring $100/month or more | CEO + COO (both required) |
All recurring subscriptions require COO approval — regardless of cost
A $15/month AI tool still needs sign-off because it compounds and creates redundancy risk.
Annual subscriptions
Evaluated by their monthly equivalent:
- $600/year = $50/month → COO only
- $1,500/year = $125/month → CEO + COO both required
Self-submitted requests
- Sole approver of your own request: auto-approved (e.g., a Growth Strategist submitting a pod-specific request under $500 for their own pod)
- Dual-approval needed and you're one of the two: your approval is auto-filled; the request waits on the other approver
Approval Workflow
- Team member submits via
/purchase-request - System records the request and DMs the approver(s)
- Approver reviews and clicks Approve or Deny in the DM
- If denied: approver gives a brief reason; requester can submit a new request
- If approved: assigned fulfiller (typically the approver) handles the purchase
- Fulfiller clicks Mark as Purchased to close out the request
Editing & cancelling
- Edit: allowed any time before a decision is made. If your edit changes the approval tier (e.g., $400 → $1,500), routing recalculates and approvers are updated automatically.
- Cancel: allowed any time before a decision is made.
Department Budget Ownership
| Role | What they own |
|---|---|
| Growth Strategists (Pod Owners) | Approve all pod-specific or client-specific purchases under $500 attributed to their pod or clients. Responsible for staying within quarterly budget allocation. |
| COO | Approves agency-wide tools, recurring subscriptions, single purchases of $500+, and any spend tied to operations, finance, dev, or media. |
| CEO | Co-approves all $1,000+ purchases and recurring subscriptions of $100/month or more. |
Client-specific spend must be tagged
If a purchase is for a specific client shoot or project, submit it as Client-Specific and attribute it to that client. This lets us track whether the expense should be billed back to the client or absorbed as a cost of service.
Software & Tool Management
New software requests
Before any new tool is approved, the approver checks for overlap with existing tools. Your request description should answer:
- What does this tool do that our current stack does not?
- Have you tested a free trial? What were the results?
- Who on the team will use this, and how often?
Redundancy check
If we already pay for a tool with similar functionality, the request is denied unless the requester demonstrates a clear, measurable advantage (e.g., 2x faster, specific feature gap, cost savings).
Seat & license consolidation
Multiple seats for the same tool (e.g., 3 Claude subscriptions, duplicate Frame.io accounts) must be consolidated under a single team or business plan where available. Department managers audit seats within their teams.
Quarterly tool & subscription review
Every quarter, the COO reviews all active tools and subscriptions. The review covers:
- Tools or subscriptions not being actively used
- Duplicate or overlapping tools across teams
- Opportunities to consolidate seats under a single team or business plan
- Seat counts (no one should still hold a paid seat after leaving)
Department managers confirm or dispute usage for flagged tools. Anything without an active champion is canceled or downgraded.
Coming soon
A centralized Tool Registry will automate ownership tracking, renewal dates, and access auditing. For now, the quarterly review is the formal checkpoint.
Expense Tracking & Client Billing
Single source of truth
All purchase requests, decisions, and timestamps live in the Tierra database. Notes, audit history, and approver decisions are timestamped automatically.
Receipts
Keep receipts for every purchase made on behalf of Tierra and share with your supervisor for reimbursement. Use whatever channel your supervisor prefers (Slack DM, email, shared folder) until a centralized upload is built.
Coming soon
A receipt upload flow built directly into the Slack bot is planned for a future release.
Client-billable expenses
If a purchase is tied to a specific client (e.g., props for a Brand X shoot, a tool license used exclusively for Client Y):
- Select Client-Specific as the expense type
- Attribute it to that client
The COO reviews flagged items monthly and works with the account team to include them in the next invoice cycle where the MSA allows.
Policy Violations
| Occurrence | Consequence |
|---|---|
| First | Verbal reminder + retroactive request submission required |
| Second | Written warning + manager notified |
| Third+ | Loss of purchasing authority — all requests must go through manager directly |
This is not about trust. It's about running a business that can track where its money goes. Everyone follows the same process, no exceptions.
Using the Slack Bot
Main menu
Type /purchase-request anywhere in Slack. A menu pops up with:
- Submit New Request — opens the form
- View Pending Requests — shows everything that needs your attention or you're waiting on
Submitting a request
Click Submit New Request and fill in the form. The form has built-in logic:
- Selecting Agency-Wide prompts for a department
- Selecting Pod-Specific prompts for a pod
- Selecting Client-Specific prompts for a client from a dropdown of active clients
Click Submit. TierraBot DMs you confirming the request and showing the approver(s). The DM is the single source of truth for that request — it updates as the request moves through approval, fulfillment, and completion.
If you're an approver
When a request needs your decision, TierraBot DMs you with details and two buttons: Approve and Deny.
- Approve — greenlights it. Requester is notified; request moves to fulfillment (you, by default, handle the purchase).
- Deny — rejects it. You'll be asked for a brief reason. The requester gets the denial reason and can resubmit if they want to revise.
You can also approve or deny from the Pending Requests view.
If you're a fulfiller
When a request is approved, the approver typically becomes the fulfiller. Your DM shows a Mark as Purchased button. Click it once the purchase is done to close out the request.
Editing or cancelling your own request
From the Pending Requests view:
- Edit — opens the form pre-filled. Make changes and click Save Changes. If your edit changes the cost tier, the system reroutes automatically.
- Cancel — asks for confirmation, then closes the request. Approvers are notified.
Notifications
Every state change generates a Slack notification in the original DM thread. You won't have to keep checking the bot manually.
The Pending Requests view
Type /purchase-request and click View Pending Requests to see two sections:
- Waiting on you — requests waiting for your approval AND approved requests waiting for you to fulfill
- Waiting on others — requests you submitted that are still open, with approver and current status visible
If both sections are empty, you'll see "Nothing here." That's a good sign — you're all caught up.
Common Questions
Do I need to submit a request for free trials?
Yes — if the trial converts to a paid subscription. Free trials that don't auto-convert are fine without a request, but if you decide to keep the tool, submit a request before the trial ends.
What if I don't see a pod or client in the dropdown?
Pod and client dropdowns reflect the active list in our system. If something's missing, ping the COO.
Can I see all of my past requests?
Not in V1. The Pending Requests view only shows open items. A request history view will be added in a future update — until then, ping the COO if you need historical data.
What if I made a typo or got something wrong?
If the request is still Pending, use the Edit button. If it's already been approved or denied, submit a new request.
What if my request gets denied?
You'll get a DM with the reason. Submit a new request with the updated information if you want to revise.
Related
- Slack Basics — using slash commands in Slack
- Partners & Vendors — current vendor relationships