P6 and Microsoft Project
P6 Baseline ≠ MSP Baseline Start
P6 baseline is a project copy; target_* ≠ MSP Baseline Start

What each actually is
P6: a baseline is a copy of a project (or another project you convert, which then leaves the EPS). Many can exist; only four are used at once (Project Baseline + user Primary / Secondary / Tertiary). TASK.target_start_date / target_end_date are Planned Start / Planned Finish, not baseline dates. PROJECT.sum_base_proj_id is a pointer to which project is the Project Baseline. See baselines.md.
MSP: a baseline is fields on the task (Baseline plus Baseline1–10): start, finish, duration, work, cost. An interim plan is only Start/Finish 1–10. Set Baseline copies current values onto those fields. It does not create a second project.
XER vs XML
Professional table: XER does not export or import baselines. P6 XML does. EPPM XER import help still has a “Select which Baselines to import” picker. Write both. A typical XER a Viewer opens has target_* and maybe sum_base_proj_id, not BL bars.
What Do not treat as the same
- Do not map
target_start_date/target_end_dateto MSPDI BaselineStart / BaselineFinish. Those are Planned dates. Planned ≠ Baseline. - Do not map P6 BL1 Start (a read from the assigned baseline project) to MSP Baseline1 Start as if they were the same store. One is a display against another project; the other is a field on the task.
- Do not invent a
BASELINEXER table or write baseline bars from a file that only has TASK. - Do not claim MPXJ (or SAL) can emit a real MPP baseline snapshot. Write MSPDI fields if you write anything. See mpxj.md.
- Do not treat “current project used as baseline” as a second copy you can export.