Curriculum planning and budgeting, inside your own Salesforce org.

A managed package, not an implementation project. Install it from a version ID, confirm a short set of settings against the data you already keep, and start planning. Courses come from your catalog, instructors from your people records, and every line prices itself from your own rate cards, however the appointment is paid.

  1. 01Install
  2. 02Map your org data
  3. 03Start planning

See it on your own catalog

We reply ourselves, usually within two business days.

Request a walkthrough

A recreation of a Salesforce Lightning record page, "M.S. Data Science — AY 2026–27", pending the dean's approval. The budget summary below is interactive and is exposed to assistive technology; the surrounding Lightning chrome is decorative and hidden from it.

Plan Budget
Total Planned Cost
$840,850
Allocation $868,000 $27,150 remaining
Temporary Faculty
$96,000 annual × 7.13 FTE
$684,480
81.4% of plan
Teaching Assistant
$28,000 annual × 4.50 FTE
$126,000
15.0% of plan
Reader
$22/hr × 940 hrs
$20,680
2.5% of plan
Tutor
$19/hr × 510 hrs
$9,690
1.2% of plan

Bucket detail shown for the baseline plan.

Recreation of the product UI. Figures are real and reconcile; this page is not a live instance.


What it does

Your curriculum data is already in Salesforce. Put it to work.

  1. 01Pick the courses

    From the catalog you already keep. Instructors come from your people records. Nothing is recreated, duplicated or kept in sync by hand.

  2. 02It prices itself

    Add a position and a quantity, and the line prices from your own rate cards. Change a staffing assumption and the budget changes with it.

  3. 03Compare before you commit

    Test a different course mix or staffing model as a scenario, and see what it costs against the plan of record before choosing one.


The problem this replaces

The department's spreadsheet said one number. The budget office's report said another.

Departments plan next year's teaching in spreadsheets. The budget office reconciles them by hand, against a system that builds its totals in several separate places. Every one of those places is somewhere two numbers can drift apart. Drift is always found late.

PlanFoundry removes the chance to drift. A total has one place it could have come from, because there is one calculation. Underneath it, the courses, staffing, funding and approvals are related records, not tabs in a workbook.

Built around your institution

Your pay rules, your calendar, your words.

No two institutions pay, schedule or name things the same way. PlanFoundry is set up to match yours in Setup, without code, and every screen follows what you chose.

One staffing line, priced the way the appointment is actually paid

Temporary Faculty · DS 5100, section 001

An annual rate from your card, times the FTE you plan.

$96,000 annual × 0.34 FTE

$32,640

Lecturer · STAT 5010, section 002

Units come from the course. Teaching a larger version this year? Override the line; the catalog stays as it is.

$2,600 per unit × 4 units

$10,400

Reader · DS 5030

Paid per enrolled student, up to the cap the position carries. 180 projected, capped at 50.

$48 per student × 50 students

$2,400

Visiting Lecturer · DS 5900

A monthly rate, an FTE and the months of the appointment. A line without its months is flagged before it can be submitted.

$8,320 per month × 0.5 FTE × 9 months

$37,440

Sample figures. Every model prices through the same calculation, so the grid, the preview and the saved line always agree.

  • Your words on every screen

    Call them departments or programs, schools or divisions, and a unit a credit or a credit hour. Name your own approval steps. The grid, the approvals and the reports all speak your institution's language.

  • Your calendar

    Semesters or quarters, with an optional summer term. Plans and rate cards are dated against the same academic year, so a plan can only price from the year it belongs to.

  • Your org chart

    Departments roll up to divisions through the accounts you already keep. A dean is inherited from the division when a department names none.

  • Your policies, as settings

    Whether a grant buyout reduces a department's ask, and whether a leave counts toward its FTE, are answered once for the institution, with a per-line override for the exception.

How a plan moves

One department, one academic year, one route through approval.

A plan covers one department for one academic year. Course lines say what the department intends to offer. Staffing lines say who teaches it, and what that costs.

  1. 01

    Draft

    The department's working copy, visible only to the department. Until it is submitted, it is not a proposal.

  2. 02

    Submitted

    The route is built: one stage per approver the department has actually named, and whoever must act next is notified. Any unpriced line has to be acknowledged first.

  3. 03

    Approved

    Every stage has acted, and a snapshot is captured and sealed. It is a complete record of what was approved, and later edits cannot rewrite it.

  4. 04

    Finalized

    Sixty days after the academic year ends, a nightly job takes a final snapshot and closes the plan.

Returned at any stage sends the plan back to Draft. Re-submitting rebuilds the route, so an approver change made in the meantime takes effect.
An approved plan can be submitted again as an Augmentation, asking for more after the fact. Approvers see it as one, not as a first pass.
Next year starts from this one: Roll forward and every course and staffing line lands on next year's terms, repriced from next year's rate card.

The route this plan actually took

Screenshot: an approval stepper showing three completed stages. Program lead M. Okafor on July 6, Department chair D. Whitfield on July 9, and Budget analyst S. Reyes on July 15. The fourth stage, Dean, is currently pending.


Who it's for

Three people have to trust the same number.

They ask about it differently. The plan is one record, so all three are looking at the same thing.

The dean or budget officer

See every department's ask against its allocation, in one view. When a total is questioned, you can follow it down to the instructor and section it came from. What you approve is captured permanently, the moment you approve it.

The curriculum director

Lay out next year's courses and staff them. A course nobody has staffed is visible rather than missing, costs appear as you type, and assigning someone already committed elsewhere is flagged on the spot. Try a leaner version without touching the plan of record.

The Salesforce administrator

A managed package you install from a version ID, and a setup wizard that does the install work inside the org. Private by default, field-level security enforced rather than assumed, three permission sets, and no outbound callouts to review.

Totals that cannot disagree

Your planning grid and your budget report cannot disagree, because there is only one number.

It is one field in your own org, computed once. The plan grid, the budget report and the record page all read it. None of them keeps its own copy, so there is nothing to fall out of sync.

One field, read in three places

Plan grid
$840,850
live cost preview
Budget report
$840,850
packaged dashboard
Record page
$840,850
standard rollup field

Same field. Three screens. One number, because there is only one to disagree with.

Walk it down

One instructor on one section, followed up to the dean's decision.

  1. One cost line
    $32,640

    A. Ferreira, section 001 of DS 5100. Temporary Faculty at $96,000 annual × 0.34 FTE. The rate comes from the institution's own card, not a number typed into the plan.

  2. Its course
    $130,760

    DS 5100 across three sections: three faculty lines at $32,640, one teaching assistant at $28,000, one reader at $4,840.

    32,640 × 3 + 28,000 + 4,840 = 130,760

  3. Its role bucket
    $684,480

    Every Temporary Faculty line in the plan, 7.13 FTE of it. This is the lens a dean reads first: not which course, but which kind of labour.

    81.4% of the plan

  4. The whole plan
    $840,850

    Four buckets, nine courses, twenty-three sections. The same field the plan grid, the budget report and the record page all read.

    684,480 + 126,000 + 20,680 + 9,690 = 840,850

  5. The decision
    $27,150 under

    Against an $868,000 allocation. The dean approves a number whose provenance runs all the way back down to one instructor on one section.

    868,000 − 840,850 = 27,150

Specification

What it does, from the first course line to the approved budget.

Everything here is built and tested today. What each tier includes is on the pricing page.

The plan grid behind that total

A recreation of the Lightning plan grid. The table below is readable directly; DS 5100 can be expanded to show the five cost lines that sum to its total.

M.S. Data Science — AY 2026–27 · 9 courses · 23 sections
CourseUnitsQuarterSect.EnrollPlanned CostCost / Student
DS 5100Machine Learning Foundations4Fall3140$130,760$934
▸DS 5030Data Visualization3Fall284$51,080$608
▸STAT 5010Probability & Inference4Fall296$113,420$1,181
▸STAT 5210Statistical Computing4Winter4152$161,320$1,061
▸DS 5200Deep Learning4Winter288$82,800$942
▸DS 5310Causal Inference for Policy3Winter134$25,710$756
▸DS 5420Data Ethics & Governance2Spring296$35,280$368
▸DS 5500Applied ML Practicum4Spring3108$130,480$1,208
▸DS 5900Capstone Project6Spring4118$110,000$932
Fall $295,260 · Winter $269,830 · Spring $275,760$840,850
  • Build the plan and watch the cost as you type
  • Pay each line the way the appointment is paid
  • Route it through the approval chain you already have
  • Totals that cannot disagree with each other
  • A record of every approval that shows if it was altered
  • See the whole department, and the whole institution
  • Roll next year forward from this one
  • Access controlled the way a university actually needs it
  • Install and configure without an engineer on call
  • Built to hold up as an institution grows into it

The model underneath

A plan is not a document. It is records that know about each other.

That is why one total can be computed once and read everywhere. Select any part to see what it touches.

01

Reused from the org you already run

PlanFoundry does not create these. Your departments, people, academic calendar and course catalog stay the single copy they already are.

02

What a plan prices from

Your own reference data, dated by academic year. Change a rate here and every plan for that year reprices. Nobody re-keys a number.

03

The plan itself

One department, one academic year, and everything under it. This is what the planning grid edits: the four ideas that carry the rest.

04

Approval

Built when the plan is submitted, not stored in advance. Re-submitting rebuilds the route, so a change of approver takes effect.

05

The permanent record

What the plan looked like when it mattered: submitted, approved, finalized. Written once and never recalculated, so later edits cannot rewrite it.

06

After approval

Money that moves once the plan is settled, and what each person is committed to once every department is counted together.

07

Set once, read everywhere

Configuration sits outside the plan, which is why it draws no lines here. Every screen reads it.

Selected

Curriculum plan

One department, one academic year. It is the unit of approval, the thing an approver acts on, and where every total in the system lands.

Nothing here is a copy. Each record exists once, in your org, and everything else points at it. That is why two screens can never hold two versions of the same number.


Native to Salesforce

Nothing leaves your org.

PlanFoundry installs directly inside the Salesforce org your institution already runs. It is not a separate planning system connected from the outside: plans, scenarios, positions and calculations live in your existing environment, and the only trust boundary involved is the one you already have with Salesforce.

  1. Your data stays home

    Every record is created and stored in your org. No secondary database, and no separate copy of institutional data to reconcile or govern.

  2. Your security model stays in charge

    Your permissions, sharing rules and field-level security decide what each user sees. There is no second access model to manage.

  3. Nothing crosses the boundary

    No external endpoints, no product telemetry, no shadow copy stored somewhere else.

For the administrator signing it off

  • No callouts, no telemetry Nothing PlanFoundry does sends data anywhere but tables in your own org.
  • Your calendar, whichever one it is PlanFoundry carries its own academic year and term records, so it installs and plans whether the org runs Education Data Architecture, Education Cloud, or neither. Where Education Data Architecture is present, it reads the calendar already there.
  • Private by default Org-wide defaults are Private on plans, ledgers, transfers and workload records. Access is computed and shared deliberately.
  • Field-level security enforced Every SOQL and DML statement declares an access level, user mode or system mode, chosen by how it is invoked rather than assumed from the sharing model.
  • Three permission sets CPS_Planner, CPS_Approver and CPS_Admin. A planner's permission set cannot see past its own department.
  • Tamper-evident approvals Each snapshot carries a SHA-256 digest of its lines, chained to the snapshot before it, and the parity check verifies the whole chain. Tamper-evident rather than tamper-proof: record the latest digest outside Salesforce and any later change shows.
  • License read in the org Your tier arrives through Salesforce's own license management as read-only values nobody in the org can edit. No callout checks it.
  • Lightning only Lightning Experience only. The package ships no Visualforce and no Aura components.

One system, one source of truth

Forge plans from the data you already trust.

PlanFoundry brings curriculum design and financial planning together without separating either from the institutional data underneath. Less time copying information, rebuilding calculations and reconciling versions. More time evaluating what your institution can actually deliver.

Common questions

What a procurement reader asks first.

Does PlanFoundry run inside our own Salesforce org?
Yes. Your records stay in your org, under your own sharing rules and field-level security. It is not an integration and not a sync. It is a managed package, installed from a version ID the same way any AppExchange product installs.
Does it require Education Data Architecture?
No. PlanFoundry carries its own academic year and term records, so it installs and plans against your calendar whether the org runs Education Data Architecture, Education Cloud, or neither. Where Education Data Architecture is present, it reads the calendar already there rather than asking you to retype it.
Does any of our data leave the org?
No. Nothing PlanFoundry does sends data anywhere but tables in your own Salesforce org. There are no outbound callouts, no telemetry and no external services.
How does approval routing work?
It follows the chain you already use. You name each step yourself, approvers are resolved per department, and a step nobody has been named for is skipped rather than left blank. A route can run three steps on Free and up to ten on Premium and Enterprise, with longer routes by agreement; from Starter up you also set the order. The approver who must act is notified, and each approver sees only the plans that are theirs to decide.
Can it handle the way we actually pay instructors?
Yes. A staffing line can be paid on an annual rate times FTE, per credit unit, per enrolled student with an optional cap, or monthly for a set number of months. Units and enrollment come from the course, with a per-line override for the exception, and every model prices from your own rate cards through the same calculation.
What stops two screens from showing different totals?
There is only one number for them to show. Every dollar figure is a native Salesforce rollup or formula field, computed once, and the planning grid, the budget report and the record page all read that same field. There is no second calculation to drift from the first.
Is there a free tier, or only a trial?
There is a genuinely free tier, and it is a destination rather than a trial. A single programme, a continuing-education division or a small college can run a real planning cycle on it: build the grid, see live costs, route through real approvers, and finish with a permanent record of what was approved.