# Working with the Budget ## A Different Mental Model Most producers are accustomed to a three-document workflow: an estimate or bid, a working budget where vendors get assigned to line items, and an actualized budget built after wrap by filling in real costs from time cards and invoices. Three separate documents, created at three separate times. PAI collapses this into one. The working budget isn't created after the estimate — it's implicit in it. When you set internal amounts on estimate line items during the bidding phase, you're already doing the working budget. The external column is what you sold; the internal column is what you expect to spend. When you convert the approved estimate, PAI generates a budget pre-loaded with that cost structure and all its assignment slots — vendor or staff — ready to fill. The actualization happens in place too. As expenses get confirmed, invoices come in, and payments go out, the same document updates — it doesn't get copied. PAI's Live Margins panel reflects the difference between what you budgeted and what you're actually spending in real time, without any manual reconciliation step. For how the budget is created from an approved estimate, see [Generating the Budget](../03-Winning-the-Job/Generating-the-Budget.md). --- ## From Line Items to Expense Lines The most disorienting part of the budget for new users isn't the interface — it's the structure. In an estimate, you have line items. One line: Camera Operator, QTY 2, UNIT QTY 3 days, $800/day. In the budget, that single line becomes six expense lines — one per operator per day. This is intentional. A budget expense line represents a real financial commitment: a specific person (or resource), on a specific day, at a specific rate. That level of detail is what allows PAI to connect the budget to call sheets, to post expenses to the right vendor on the right day, and to calculate overtime against actual hours worked. The estimate abstracts that; the budget makes it concrete. The structure can feel verbose when you're used to reading a budget as a compact list of categories. The answer is grouping. --- ## Organizing the Budget The budget is a PAI table, which means you can group, filter, sort, and save custom views to organize expense lines however you need. See [Working with Tables](../00-Understanding-PAI/Navigating-PAI.md#working-with-tables) for the full table controls. Like the estimate, the budget carries each line's **Resource Type** and defaults to grouping by it at the top level, so in-house and out-of-pocket lines read as two distinct blocks. From there, the most direct way to recreate the estimate's structure is to group by **Department**, then **Item**. In the camera operator example: you see a Camera department group, open it to find a Camera Operator item group, and open that to see the individual expense lines — one per day. The same hierarchy you built in the estimate, with the detail underneath rather than in the way. A few views worth saving early in a job: - **By category** — mirrors the estimate structure; good for financial review - **By day** — shows what's scheduled and committed for each production day - **By Assigned To** — useful when finalizing assignments or reviewing what's posted to each vendor or staff member - **By status** — surfaces what needs attention (Draft lines that haven't been confirmed, Posted lines awaiting invoices) > [!tip] > Set up your saved views before production starts. Switching between a category view and a day view mid-job is faster than reconfiguring filters from scratch. **Right-clicking** any expense line opens a context menu with quick actions: duplicate the line, open it in the sidebar, or upload an invoice directly. Right-clicking a group header lets you expand, collapse, or copy the group. Double-clicking a group header also toggles expand/collapse. --- ## Expense Line Fields Budget expense lines carry a lot of fields — most are hidden by default and surfaced as needed via the Fields control. They group into a few logical areas: **Line details** — **Resource Type** (In-House or Out-of-Pocket, inherited from the estimate), **Item** (name, inherited from the estimate), **QTY**, **Unit Qty**, **Unit**, **Rate**, **Subtotal**, **Total** (subtotal inclusive of fringes) **Scheduling** — **Dates** (for Day-unit lines, the production day the line is assigned to; for Hours/Flat lines, the date range the line covers), **Booking Status** (whether the assignee has been booked for that day) **Assignment** — **Assigned To** (the vendor *or* staff member on the line; type directly into the cell to search or assign), **Email**, **Phone** (pulled from the assigned vendor or staff record; useful for call sheet context), **Contact** (optional override — see below) **Cost classification** — **Category**, **Department**, **Fringes** (which modifiers are applied to this line), **Tags** **Overtime** — **Min Hrs** (agreed day length for Day-unit lines; see below), **OT** (overtime calculation method) **Tracking** — **Status** (expense lifecycle stage; see below), **Pay Method**, **Payment Date**, **Reimbursement** (marks the line as reimbursable; see below), **Manual** (flags lines recorded via Record Transaction rather than generated from the estimate), **Receipts** (attached receipt documents) **Invoice** — **Invoice Number**, **Invoice Date**, **Invoice Status** (populated once a vendor submits or an external invoice is processed) **System** — **Notes**, **CreatedOn** > [!note] > The **Dates** field is where you set a line's scheduling, and it works as it does in the estimate. On a **Day-unit** line, clicking it opens a dropdown of the project's existing days — pick one to reassign the line — plus a row of day-type buttons (Prep, Travel, Production, Wrap, Post). Clicking a type **creates a new day of that type and assigns the line to it**, so you can spin up a production day directly from the budget without returning to the estimate or the calendar. On an **Hours** or **Flat** line, the field opens a date-range picker instead. > [!tip] > Not seeing a column? Open the Fields control to show or hide columns. Budget column visibility is saved per view. --- ## Expense Statuses Every expense line moves through a lifecycle from initial creation to final payment. The current status determines what actions are available and what the vendor can see. **Draft** — the initial state after budget generation. The expense exists as a planned cost but no commitment has been made. Lines can be freely edited or removed. **Confirmed** — a commitment has been established. The vendor has been booked or the expense has been verified. The line is no longer tentative but hasn't been sent to the vendor yet. **Posted** — the expense has been sent to the vendor's portal for invoicing. The vendor receives an email notification. Once posted, the expense line is locked from direct editing. If you need to make changes before the vendor has acted on it, you can move the line back to Confirmed or Draft. Once the vendor submits an invoice against the line, it moves under AP control and can no longer be edited or have its status changed from the budget. > [!important] > You can only post expense lines to vendors who are connected to your organization and active in the Vendor Portal. Merchant-classified vendors do not receive posted expenses. See [Vendors](../05-Vendors-and-Payments/Vendors.md). When a vendor submits their invoice against posted expense lines, that group of lines constitutes a single invoice in PAI. The invoice is then audited at the expense line level — each line is reviewed and resolved independently. The invoice itself reaches an approved state only once all of its expense lines have been approved. For the full AP workflow, see [Accounts Payable](../05-Vendors-and-Payments/Accounts-Payable.md). **Requested** — this specific expense line requires human review. Within a single invoice, some lines may auto-approve while others land in Requested — for example, when the invoiced amount for that line differs from what was posted, or when the vendor added a line that wasn't in the original posting. **Approved** — this expense line has been reviewed and accepted. If the vendor's invoiced amount matches the posted amount exactly, the line approves automatically. **Rejected** — this expense line has been disputed and returned to the vendor for revision. The vendor receives a notification and must resubmit. **Payment Scheduled** — a payment date has been set for this expense line. The vendor is notified and can see the scheduled date in their portal. **Paid** — this expense line has been paid. Final state. --- ## In-House Lines The status lifecycle above describes out-of-pocket expenses — money paid to vendors, tracked from commitment through invoice to payment. In-house lines work differently. They inherit the **In-House** Resource Type from the estimate, are assigned to a staff member rather than a vendor, and are tracked by **hours**, not invoices. Because there's no vendor portal for your own staff, in-house lines aren't posted and don't move through the Posted → Approved → Paid invoice flow. Instead, the budget tracks them against the hours they were estimated for — how many are assigned, how many remain — which is what feeds the **In-House Totals** in Live Margins and Finance. > [!note] > The internal cost of in-house lines is gated by the **View Staff Rates** permission. Without it, you still see the line's hours, days, assignment, dates, and external figures — and whether it's over or under on hours — but the internal rate, internal total, and variance are hidden behind an eye-slash. You can manage the logistics of internal work without seeing what it costs the organization. See [Users and Permissions](../01-Organization-Setup/Users-and-Permissions.md#view-staff-rates). --- ## Min Hours and Overtime For expense lines with a **Day** unit type, the **Min Hours** field defines the agreed length of the work day. This is the same min hours value set on the estimate line item — the explicit agreement with the vendor about what a "day" means for that role. PAI uses min hours to calculate a floating straight-time hourly rate, which it then applies when a vendor submits hours through the portal. Three overtime calculation methods are available via the **OT** field: **Tiered** (default) — California labor law structure: - Hours 1–8: straight time (1×) - Hours 9–12: time and a half (1.5×) - Hours beyond 12: double time (2×) **After 8** — simplified structure: - Hours 1–8: straight time (1×) - All hours beyond 8: time and a half (1.5×) **None** — linear calculation: - All hours at the straight-time rate, regardless of total ### Example A Camera Operator at $700/day with 12 min hours: - PAI calculates the straight-time hourly rate at ~$50/hr - First 8 hours: 8 × $50 = $400 - Next 4 hours: 4 × $50 × 1.5 = $300 - Total at min hours: $700 If the vendor works beyond 12 hours, PAI calculates double-time on additional hours automatically. > [!note] > Min Hours only applies to Day-unit expense lines. Changes to Min Hours after a line has been posted to a vendor will affect how their overtime is calculated when they submit hours. --- ## The Contact Field Every expense line has an optional **Contact** field separate from the Assigned To field. By default, an expense line pulls the assignee's contact information onto the call sheet — if Bob Smith is the assignee, Bob's name, email, and phone appear on the call sheet crew row. The Contact field lets you override that. Add any person — another vendor, a client contact, a workspace user — and their information replaces the assignee's on logistical documents. The assignment (and therefore the payee) stays unchanged; only what appears on the call sheet changes. This is useful when the person being paid and the person showing up on set are different — for example, a talent agent is the vendor on a talent line, but the actual talent should be listed on the call sheet. --- ## Assignment and Call Sheet Sync Assigning a vendor or staff member to a budget expense line automatically adds them to the call sheet for that day. Adding someone to a call sheet creates or updates the corresponding expense line. Rate changes in either place update both. Two conditions must be met for an expense line to sync with a call sheet: the line must have a **Day** assigned, and its **Category** must be either **Labor** or **Equipment**. Service category lines don't appear in call sheet sections and won't sync regardless of day assignment. This sync means you don't need to maintain the budget and call sheets separately — they're the same data, viewed from different angles. Use the budget when you're thinking financially; use the call sheet when you're thinking logistically. --- ## Recording a Transaction When you pay a vendor expense directly — by credit card, cash, or check — use the **Record Transaction** button at the top of the budget. This is for costs you've already paid and just need to log in the system. The form contains: - **Item** — select an existing item from the budget or create a new one - **Vendor** — optional; associate the payment with a vendor record - **Amount** — the amount paid - **Payment Method** — defaults to Company CC; select whichever method was used - **Payment Date** — defaults to today - **Receipt** — required; drag and drop or click to upload. Check **I do not have a receipt** to submit without one - **Notes** — optional When you submit, PAI creates the expense line and marks it **Paid** immediately — there's no status progression, because the payment already happened. ### Recording against an existing expense line If the expense line already exists in the budget, you can record a transaction directly against it using the line's action menu (⋮). This opens the same form with the line's existing data — vendor, amount, and other details — pre-filled. You can modify any field before submitting, but in most cases the inherited values are correct and you just need to attach the receipt and confirm. > [!tip] > Recording against an existing line is the preferred approach when the expense was already planned in the budget — it keeps the line in place rather than creating a duplicate entry. --- ## Submitting an External Invoice Some vendors need to be paid via payroll, ACH, or wire transfer — payment methods that organizations typically route through accounts payable rather than handling directly. When a vendor sends their invoice outside of PAI (by email, for example), you can submit it into the AP workflow on their behalf rather than processing it outside the system. 1. In the budget, select the expense lines the invoice covers 2. Click **Submit Invoice** from the bulk action controls 3. Attach the vendor's invoice document 4. Enter the vendor's invoice grand total 5. Add any relevant notes 6. Click **Submit** PAI creates a submitted invoice in the project's payroll grid and the organization-wide AP grid, attributed to the vendor — identical to what would appear if the vendor had submitted through the portal themselves. From there the standard AP workflow applies: review, approve, schedule payment. This keeps vendor payments that require AP handling inside the system rather than being tracked externally, and works regardless of whether the vendor has a portal account. > [!note] > If the invoice total differs from the posted amount on the selected expense lines, those lines will land in **Requested** status for review rather than auto-approving. --- ## Reimbursable Expenses Expense lines marked **Reimbursable** behave differently in the vendor portal. Rather than showing the full billable value, they display as $0 with a maximum allowance cap (e.g., $0/$25 for a meal expense). Vendors must upload a receipt before they can submit a reimbursable line for payment. --- ## Financial Visibility The right sidebar while in the budget shows the **Live Margins** panel, organized into three total boxes: **Combined Totals** (blended in-house and out-of-pocket), **In-House Totals** (internal labor cost and hours — estimated, assigned, remaining), and **OOP Budget Totals** (out-of-pocket expense tracking — projected, committed, incurred, working total, and job expense variance). The Categories, Departments, and Items breakdown beneath them calculates out-of-pocket only. Without the **View Staff Rates** permission, the internal dollars drop out of the Combined and In-House boxes — you still see the in-house hours and all out-of-pocket figures, just not what internal labor costs. For a deeper financial view across the project, use the **Finance** page in the project's left navigation. For a full explanation of Live Margins and how to read it, see [Live Margins](../06-Financial-Visibility/Live-Margins.md).