Read any .mpp
With the open library MPXJ, it opens .mpp from any version, Project XML, and Primavera XER and PMXML, without Project installed, and saves a copy in XML and a table per task.
Octo × Office · Project and schedules · research of Oct 31, 2026
Project Online went offline on Sep 30, 2026, Project for the web became Planner premium plans in August 2025 and Project 2021 lost support in October. What remains is Project desktop, Project Server Subscription Edition and Planner, with data in .mpp, in Project XML and in Dataverse. Octo reads any .mpp without Project installed, checks the critical path on its own, measures baseline against actual, builds the S-curve and inventories the plans that were left scattered. The one who approves the schedule, saves the baseline and answers for the deadline is the project manager.
Six possible deliverables, drawn from the research. All of them start by reading a copy, none of them changes the .mpp without approval, and all of them go to review by whoever manages the project.
.mppWith the open library MPXJ, it opens .mpp from any version, Project XML, and Primavera XER and PMXML, without Project installed, and saves a copy in XML and a table per task.
Recalculates the CPM with durations and links only (FS, SS, FF, SF, with lag) and compares it with what Project flagged. Each difference becomes a question: a deliberate constraint or a patch?
Deliverable: list of differences for the managerCompares the approved baseline with the current dates and measures the finish variance in business days, with the critical path tasks at the top of the report.
Deliverable: weekly variance reportKeeps one Project XML per Friday, at the status date, and builds cumulative planned progress against actual, ready for Excel or Power BI.
Deliverable: historical series in CSVPlanner basic plans through Microsoft Graph, premium plans through Dataverse and files exported before the retirement, in a single inventory. Read-only.
Deliverable: portfolio map and what is left to migrateOn the manager's workstation, through COM, it exports the day's XML; saving a baseline only happens when the name of the approver is given, and it goes into a log next to the file.
Deliverable: baseline saved with a logThe same Octo cycle, applied to the schedule. Each arm has a narrow role; the ones who approve the plan, save the baseline and answer for the deadline are people.
Project versions in use, where the .mpp files are, what is left of Project Online, which plans are basic and which are premium.
Durations, links, baselines, progress and the weekly history, in a structure that Excel and Power BI can read.
Minimum permission (Tasks.Read), token off the disk, people's names and assignments flagged as personal data (LGPD).
Files and MPXJ to read, Graph for basic plans, Dataverse for premium, COM only on the workstation and only for what requires Project.
Reading, recalculation, comparison and S-curve, with the source of each constant noted in the file.
The recalculated critical path, the baseline dates and the S-curve totals. "The script ran" is not a check.
CSV and report in an agreed folder. Saving the baseline and publishing to the executives stays with the manager.
Versions, licenses, measured limits, who approved each baseline and where each number came from.
Octo works with reads and copies; it saves only what was approved, and in the name of the approver. It does not approve schedules, does not resave baselines on its own and does not answer for the deadline.
The criteria Octo uses to choose, with the products that still exist on Oct 30, 2026.
| Task | Path | Needs Project? |
|---|---|---|
Read .mpp from any version | MPXJ, UniversalProjectReader | No |
| Convert to XML, MPX or XER | MPXJ, UniversalProjectWriter | No (MPXJ does not write .mpp) |
| Recalculate critical path and float | Script over the Project XML | No |
| Baseline against actual | The XML Baseline element | No |
| Weekly S-curve | Dated XML every Friday + script | Only to export |
| Save a baseline | COM, BaselineSave | Yes, on the manager's workstation |
| Inventory Planner basic plans | Graph, Tasks.Read | No |
| Inventory premium plans | Dataverse Web API | No |
| Change a premium schedule | msdyn_CreateOperationSetV1 + msdyn_Pss* | No, but with a licensed person |
| Read a Primavera P6 schedule | MPXJ (XER, PMXML) | No |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Octo reads the schedules that exist and shows what the critical path really says, without writing anything.
.mppEvery Friday, an XML at the status date, the variance against the baseline and the updated S-curve.
Basic plans, premium plans and files in a single dashboard, with each baseline approved and logged.
Every point below has a source published by Microsoft (Learn and Support), by the package's official repository (PyPI, NuGet, PowerShell Gallery) or in Brazilian federal law. The examples are scripts to follow, not runs. The sources are in the next section.
7
points with a published source, each with its reference shown alongside.
.mppmsdyn_progress (a fraction from 0 to 1) and the project finish is msdyn_finish, which replaced msdyn_scheduledend; the example on the schedule APIs page still uses the old names on the task.Source: learn.microsoft.com, "Update the progress of a task" and "Feature changes from Project Service Automation to Project Operations"Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, organizes and produces the files: documents, spreadsheets, presentations, schedules, inventories and check reports, on file and through the APIs, without sending or publishing anything.
Deliverable: material ready to checkWhoever is accountable for the document, the spreadsheet or the schedule checks what Octo delivered before approving. If something doesn't add up, it goes back to Octo with the correction.
Step: checked by the person accountableOcto does not sign, approve or send. The document owner reviews and signs; the project manager approves the baseline; the Microsoft 365 administrator grants consent for permissions; the data protection officer approves anything that goes out with personal data.
Approval: document owner and 365 administratorMicrosoft lifecycle pages, service descriptions and API references, and the MPXJ site and package, consulted on Oct 31, 2026.
msdyn_progress, from 0 to 1msdyn_finish in place of msdyn_scheduledendThe assessment starts by reading the schedules you already have and what is left of Project Online, read-only. You get the critical path checked, the variance against the baseline and the questions only your team can answer, and you decide with that in hand.