# Core Workflows
PAI is built around a connected data model — actions in one part of the system have real effects downstream. This page walks through the major workflows end to end, with emphasis on those connections. The more deliberately you use them, the less you'll be copying information between documents or reconciling numbers by hand.
---
## Bid to Budget
This is the foundational workflow. Everything else builds on it.
**1. Create the project and build the estimate.**
Add line items, set quantities, apply modifiers. As you do this, set your internal amounts alongside your external rates — this is the working budget taking shape. You're not building a separate financial document later; you're building it now. See [Building an Estimate](../02-Bidding-a-Project/Building-an-Estimate.md).
**2. Schedule days during estimation.**
For any line items using the Day unit type, use the Days or Timeline view to assign resources to specific days. A Camera Operator on three days is three logical days in the system — each one will become its own set of expense lines and its own call sheet when the budget is generated. The scheduling work you do here is not just visual planning; it's data that PAI carries forward. See [Estimate Views](../02-Bidding-a-Project/Estimate-Views.md).
**3. Send the estimate to the client.**
Setting the estimate to Sent locks the version — a permanent record of exactly what the client saw. See [Versioning and Comparison](../02-Bidding-a-Project/Versioning-and-Comparison.md).
**4. Approve the estimate.**
Approval triggers project number assignment and makes budget generation available. Only one estimate version can be approved at a time. See [Approving an Estimate](../03-Winning-the-Job/Approving-an-Estimate.md).
**5. Generate the budget.**
Click Start Project. PAI expands each Day-unit line item into individual expense lines — one per unit per day — and creates a call sheet for each Shoot day. The budget arrives pre-structured, with your cost categories, departments, modifiers, and day assignments already in place. See [Generating the Budget](../03-Winning-the-Job/Generating-the-Budget.md).
**Downstream payoff:** The more complete and deliberate your estimate — days scheduled, vendors assigned to line items, internal amounts set, modifiers configured — the less setup you'll do in the budget. Vendor assignments made in the estimate carry through to the generated expense lines, so a well-built estimate can arrive with crew already in place.
---
## Staffing and Production
With the budget generated, the job of executing the project is largely about assigning vendors and managing the schedule.
**1. Assign vendors to expense lines.**
Vendor assignment can happen as early as the estimate — vendors assigned to line items there carry through to the corresponding expense lines when the budget is generated. For any lines not yet assigned, go to the budget and type a vendor name into the expense line's vendor cell. The vendor is simultaneously added to the call sheet for that day. Rates sync in both directions — change a rate in the budget and it updates in the call sheet; change it in the call sheet and it updates in the budget. See [Working with the Budget](../04-Executing-the-Job/Working-with-the-Budget.md).
**2. Schedule days on the project calendar.**
Drag unscheduled days from the unassigned panel onto calendar dates. Date assignments update across the system — call sheets, budget day assignments, and production documents all reflect the change. See [Project Calendar](../04-Executing-the-Job/Project-Calendar.md).
**3. Post expense lines to vendors.**
When a vendor's assignment is confirmed, post their expense lines. Posting sends the vendor a notification, makes the lines visible in their portal for invoicing, and locks them from further editing. Only vendors who are active in the Vendor Portal can receive posted lines.
**4. Distribute call sheets.**
Once a day is staffed and the overview is complete, print the call sheet as a PDF, copy it as HTML for email, or use the Email action to open a pre-addressed draft with crew BCC'd and contacts CC'd. See [Call Sheets](../04-Executing-the-Job/Call-Sheets.md).
**Downstream payoff:** Assigning vendors from the budget means you never have to populate a call sheet manually. The call sheet is already built by the time you open it.
---
## Vendor Invoicing via the Portal
For vendors connected to your organization through the Vendor Portal, invoicing flows through PAI without any email exchange.
**1. Vendor receives posted expense lines.**
When you post lines to a vendor, they're notified and can see the posted amounts in their portal. They review, enter any actual hours worked, and submit their invoice.
**2. PAI audits at the expense line level.**
A vendor's invoice can contain multiple expense lines. Each line is reviewed independently — lines where the vendor's submitted amount matches the posted amount approve automatically; lines with a discrepancy land in Requested status for your review.
**3. Review and resolve Requested lines.**
Approve lines that are correct, reject lines that need revision, or update amounts as needed. The invoice itself reaches Approved status once all of its expense lines are approved.
**4. Schedule payment and mark paid.**
Set a payment date on approved lines. The vendor is notified of the scheduled date. Once payment is made, mark the lines Paid.
See [Accounts Payable](../05-Vendors-and-Payments/Accounts-Payable.md) for the full AP workflow.
---
## Recording a Direct Transaction
For expenses you've already paid — by credit card, cash, or check — use Record Transaction to log them without going through the invoicing workflow.
**From the budget header:** Click Record Transaction, fill in the item, amount, payment method, payment date, and attach a receipt. PAI creates the expense line and marks it Paid immediately.
**From an existing expense line:** Open the line's action menu (⋮) and select Record Payment. The form pre-fills with the line's existing data — vendor, amount, and details — which you can confirm or adjust before submitting.
Either way, the transaction is recorded as complete at the point of entry with no status progression. See [Working with the Budget](../04-Executing-the-Job/Working-with-the-Budget.md#recording-a-transaction).
---
## Submitting an External Invoice
When a vendor sends their invoice outside of PAI — by email, for example — and needs to be paid via ACH, wire, or payroll, you can submit it into the AP workflow on their behalf.
**1. Select the relevant expense lines in the budget.**
Use the bulk selection controls to select all lines the invoice covers.
**2. Click Submit Invoice.**
Attach the vendor's invoice document, enter their invoice grand total, and add any notes.
**3. PAI creates the invoice in AP.**
The invoice appears in the project's payroll grid and the organization-wide AP grid exactly as if the vendor had submitted it themselves. From there, the standard approval and payment workflow applies.
This keeps payroll and wire-transfer payments inside the system rather than tracked externally. See [Working with the Budget](../04-Executing-the-Job/Working-with-the-Budget.md#submitting-an-external-invoice).
---
## Change Orders and Overages
PAI handles post-approval scope changes in two distinct ways depending on the nature of the change.
**Change order — revising the approved estimate.**
Duplicate the currently approved estimate version, make your changes, and approve the revised version. This replaces the prior approved estimate. Use this when the scope change affects the baseline of the job itself.
**Overage — additive scope on top of the approved estimate.**
An overage is a completely separate estimate document, not a copy of the approved estimate. Create a new overage, build out the additional scope, send it to the client for sign-off, and approve it. Approved overages add to the project's external and internal totals but remain their own standalone documents — multiple overages can be approved simultaneously without affecting each other or the original estimate.
**In both cases, update the budget manually.**
Neither a revised estimate nor an approved overage automatically creates or modifies budget expense lines. After approving, add the relevant expense lines to the budget to reflect the new scope.
See [Overages and Change Orders](../03-Winning-the-Job/Overages-and-Change-Orders.md).
---
## Managing a Client Retainer or Budget Allocation
Many client relationships in production aren't project-by-project — they're allocation-based. A client issues a $300k PO or budget allocation to cover a body of work, and your job is to manage that allocation across however many projects come out of it.
Campaigns are how PAI handles this. Create a campaign, assign it the client, and set the budget allocation to the total amount you've been given. As you bid and execute projects under that engagement, associate them with the campaign. PAI aggregates the approved external costs from all associated projects and tracks them against the campaign budget in real time — so you always know how much of the allocation has been consumed and what remains.
**The typical flow:**
1. Client issues a PO or budget allocation — create a campaign and set the budget to that amount
2. Bid each project individually as the scope comes in, associate it with the campaign
3. As estimates are approved, the campaign total updates automatically
4. Use the campaign's financial view to monitor total spend vs. allocation throughout the engagement
5. If the allocation needs to change, use the budget amendment workflow — PAI tracks the history of every change
This approach keeps each project financially independent (its own estimate, budget, and AP workflow) while giving you the aggregate view the client relationship actually requires.
See [Campaigns](../06-Financial-Visibility/Campaigns.md) for the full setup and configuration details.
---
## Managing Client-Based Access
Agencies often need to scope a user's visibility to a specific client's work — a producer who handles only one account shouldn't see projects belonging to other clients. PAI handles this through client-level sharing.
When you add a workspace user and share them on a client record, they gain access to all projects associated with that client — and only those projects. Projects belonging to other clients remain invisible to them. As new projects are created under that client, they appear automatically for the shared user without any additional configuration.
**The typical agency setup:**
1. Add the workspace user and assign their role
2. Navigate to the client record in the Clients module
3. Share the user on the client record
4. The user now sees all current and future projects under that client
This is simpler to maintain than sharing users on individual projects — you make one connection at the client level and PAI handles the rest as the work grows.
See [Users and Permissions](../01-Organization-Setup/Users-and-Permissions.md) and [Client CRM](../02-Bidding-a-Project/Client-CRM.md) for setup details.
---
## Monitoring Financial Health
PAI's financial visibility tools operate at three levels: the individual project, the portfolio, and the pipeline. Each serves a different purpose.
**At the project level**, the **Live Margins sidebar** gives you a real-time read while you're working — Estimate Totals when you're in the estimate, Budget Totals as you're executing the job. Once a budget is generated, the **Finance page** in the project's left navigation shows the full picture: estimate baseline, live budget performance, and working margin in one view, broken down by category, department, or line item. This is where you go to understand exactly which cost areas are driving variance on a specific job. See [Live Margins](../06-Financial-Visibility/Live-Margins.md) and [Project Finance](../06-Financial-Visibility/Project-Finance.md).
**At the portfolio level**, **Insights** aggregates all approved projects into a single table — planned vs. actual margin across your entire book of work. Sort by Margin Variance to surface underperforming jobs, filter by client to assess a relationship's profitability, filter by tag to compare performance across project types, or filter by External Total range to understand whether your margin holds better on large jobs or small ones. This is the head-of-production view: not just how a single job is doing, but whether patterns of underperformance point to something systemic in how work is estimated or executed. See [Insights](../06-Financial-Visibility/Insights.md).
**For multi-project client engagements**, **Campaigns** aggregate spend across related projects against a central budget. You control which project statuses count toward the total, so you can see committed spend only or include the full pipeline of work. The campaign expense grid shows every expense line across all projects with a budget, giving you cross-project visibility without opening each job individually. See [Campaigns](../06-Financial-Visibility/Campaigns.md).
**For org-wide expense auditing**, the **Expenses** report shows every expense line across all budgets in the workspace. Filter by vendor and payment status to review total spend with a specific contractor over a period, filter by item name to track a specific cost type across all jobs, or use it as a full audit surface for AP reconciliation. See [Expenses](../06-Financial-Visibility/Expenses.md).
**For revenue forecasting**, the **Pipeline** pulls from the Reporting panel on each project — the reported estimate version multiplied by its probability percentage — to give you a probability-weighted revenue forecast across all open bids. Keep probability current as bids progress and the Pipeline stays an accurate planning tool. See [Pipeline](../06-Financial-Visibility/Pipeline.md).