XER File Won't Import
Last reviewed 9 September 20261,841 words8 min read
Common causes and fixes
๐ฉ In one line: Nine times out of ten an XER that won't import has one of five problems โ a newer version number in the header, a bloated POBS table, a file edited and saved in the wrong encoding, a duplicate Project ID, or a truncated file โ and all five are fixed in a text editor in under ten minutes.
๐ค Who this is for: Anyone who has stared at "Import failed" with a submission deadline in an hour. Juniors get the checklist; mid and senior planners get the reasons, so the fix is deliberate rather than lucky. You should know what the XER tables are (see what-is-an-xer-file).
First, let's be honest about why this page exists
P6's import error messages are unhelpful. "An error occurred while importing" tells you nothing; a line number, when you get one, is the only clue. So people re-export, re-email, reinstall, and blame the other side's software, when the file itself would have told them the problem in the first line.
The cost is real: a monthly update rejected as "not received" because the client's planner couldn't open it, and a 28-day clock nobody noticed was running. Learn the five faults and you stop losing days to them.
๐จ The standard โ what "good" looks like
| Source | Relevance |
|---|---|
| Oracle P6 Professional User Guide, Import/Export chapter | Import actions, import configuration, version compatibility |
| Oracle Knowledge documents on XER import errors | Version-header editing and POBS removal are documented Oracle-acknowledged workarounds (check current document numbers) |
| Client schedule specification | Usually names the P6 version the client runs โ export to that version or lower |
| FIDIC 1999 Cl 8.3 / 2017 Cl 8.3 (check the edition in your contract) | Programme submission obligation is not discharged by an unreadable file; the burden is on the sender |
๐ข Rule to remember: before you email an XER, open it in a text editor and read the first line and the last line. If both are right, most import problems are already gone.
How it actually works
The diagnostic sequence. Work top to bottom; stop at the first hit.
| Step | Check | Where | Fault it finds |
|---|---|---|---|
| 1 | First line begins ERMHDR and the version number โค your P6 version | Text editor, line 1 | Version mismatch; corrupted header; UTF-8 byte-order mark in front of ERMHDR |
| 2 | Last line is %E | End of file | Truncated file (email size limit, interrupted download, bad zip) |
| 3 | File size and line count sensible; search for %T POBS | Text editor | POBS bloat (tens of thousands of lines) โ hangs or fails import |
| 4 | Encoding shown as ANSI / Windows-1252 (or matches original), line endings CRLF, tabs intact | Editor status bar | File saved as UTF-8 with BOM, tabs converted to spaces, Mac line endings |
| 5 | proj_short_name in PROJECT table | Search %T PROJECT | Duplicate Project ID in the target database |
| 6 | CURRTYPE base currency vs your database | Search %T CURRTYPE | Currency prompt or failure |
| 7 | FINDATES present and different from your database | Search %T FINDATES | Financial period conflicts |
| 8 | Any %R row with a different tab count from its %F | Editor or parser | Hand-edited or tool-generated row; import stops at that line |
The five common faults and their fixes.
| Fault | Symptom | Fix | Risk |
|---|---|---|---|
| Version mismatch โ file from 22.12, you run 19.12 | "File version not supported" or import refuses | Edit the version field on the ERMHDR line to your version (e.g. 22.12 โ 19.12). Save as ANSI | Fields introduced after your version are ignored; project data imports intact. Newer features (some UDF types, new scheduling flags) may be lost silently โ note it |
| POBS bloat | Import runs for 30+ minutes then fails or hangs; file is 50โ200 MB for a 3,000-activity project | Delete from the %T POBS line down to (not including) the next %T. Save | None for scheduling; POBS is not used by the project |
| Wrong encoding after editing | Fails immediately, sometimes "line 1" error | Re-save as ANSI (Windows-1252) without BOM; confirm tabs are real tabs; CRLF line endings | Arabic or accented characters may need the original code page โ keep an untouched copy |
| Duplicate Project ID | Prompt to rename, or "Project ID already exists" | Choose Create New Project and accept the renamed ID, or edit proj_short_name in the PROJECT table before import | Renaming loses the link for Update Existing Project; decide which you want |
| Truncated file | Fails partway; last line is not %E | Get a fresh export; zip before sending; check size matches sender's | Never append %E yourself โ the missing rows are gone |
The dialog itself. File > Import > Import Format: Primavera PM (XER) > select file > select project and Import Action:
| Import action | Effect | When to use |
|---|---|---|
| Create New Project | New project under the EPS node you choose | Almost always for a received file |
| Update Existing Project | Merges into a project with the same ID, per the import configuration | Only for your own project round-tripping; dangerous with someone else's file |
| Replace Existing Project | Deletes and recreates | Rarely; loses baselines assigned to the old project |
| Ignore this project | Skips it | Multi-project files where you only want one |
Then Modify Import Configuration sets, per data type (calendars, resources, codes, UDFs, etc.), whether to Keep Existing, Update Existing, Insert New or Do Not Import. The Delete tick box in that dialog removes data in your database not present in the file. Leave it unticked unless you are certain.
Less common causes.
| Cause | Clue | Fix |
|---|---|---|
| Insufficient database privilege | Import greyed out or fails at commit | Admin > Users > Global Privileges: Import/Export |
| Standalone SQLite database and very large file | Slow, then fails | Import on a server database; or split resources/UDFs out via import configuration |
| Financial period data in file | Warning about periods not existing | Set Financial Period data to Do Not Import, or create matching periods first |
| Regional decimal separator | Odd numbers, rare failure | XER uses a point; Windows set to comma can misread in some versions โ test on a machine with point separator |
| File generated by third-party tool | Rows with wrong field counts, orphan integer IDs | Validate with a parser first; ask for a P6-exported file |
๐ฅ Where people go wrong
- Changing the header version and not telling anyone. It works, but a 22.12 file downgraded to 19.12 may drop fields. Note "header edited for compatibility, no data altered" in the transmittal. Better: ask the sender to export to your version.
- Editing in Word or Excel. Both change tabs, quotes and encoding. Use Notepad++, or the built
๐ฅ Where people go wrong
- Changing the header version and not telling anyone. It works, but a 22.12 file downgraded to 19.12 may drop fields. Note "header edited for compatibility, no data altered" in the transmittal. Better: ask the sender to export to your version.
- Editing in Word or Excel. Both change tabs, quotes and encoding. Use Notepad++ or a plain text editor, and always work on a copy.
- Using Update Existing on a file that isn't yours. The subcontractor's revised programme overwrites your activities of the same ID, and the Delete tick box quietly removes everything they left out. Create New Project, always, for received files.
- Blaming the sender before reading line 1. Half the "your file is corrupt" emails are a version number. Check it before you reply.
- Emailing a 120 MB XER and assuming it arrived whole. Mail servers truncate or reject silently. Zip it, quote the size in the transmittal, and use a file-transfer link for anything over 20 MB.
- Importing straight into the enterprise database to "see if it opens". It opens, and now 300 global resources and 14 calendars are in production. Open received files in a sandbox database first โ see cleaning-an-xer-before-import.
โ๏ธ When you're challenged
"Your file is corrupt. Resend." "Can you tell me the P6 version you're running? The header shows 22.12; if you're on an earlier version that's the whole problem. I'll export to your version now."
"You edited the file โ how do we know the data wasn't changed?" "Only the version number on line 1 was changed. I've kept the original alongside the edited copy and both are in the transmittal. Run Schedule Comparison against the last accepted update if you want it confirmed."
"The import took forty minutes and failed. Is your schedule too big?" "It's 4,200 activities โ not big. The file has a POBS table of 90,000 rows that P6 adds on export. Delete that block and it imports in two minutes; nothing in the project uses it."
"Why is it prompting me about financial periods and currency?" "Your database has different periods and a different base currency. Set Financial Period data to Do Not Import and accept the currency prompt โ neither affects dates or logic."
๐ Related pages
- What Is an XER File โ the header and tables this page assumes
- Cleaning an XER Before Import โ what to strip before the file enters your database
- Importing and Exporting XER โ import configuration options in full
- P6 database corruption signs โ when the problem isn't the file
- Notice Requirements and Records โ why a rejected submission matters contractually
โ๏ธ Worked example
A car park in Riyadh. The consultant reports the contractor's Update 07 "will not import" and treats the submission as not received. The contractor's planner opens the file:
| Check | Finding | Action |
|---|---|---|
| Line 1 | ERMHDR 21.12 ... โ consultant runs 18.8 | Edit to 18.8, save as ANSI |
| Last line | %E present | OK |
| POBS | 68,400 rows; file 84 MB | Delete block; file now 3.1 MB |
| PROJECT | proj_short_name = CP-RUH, same as Update 06 in consultant's database | Advise consultant to Create New Project as CP-RUH-U07 |
| CURRTYPE | Base SAR; consultant base USD | Note in transmittal; no data effect |
Reissued within the hour with a note listing the two edits. Submission date held; the 28-day clock question never arose.
๐ References
- Oracle, P6 Professional User Guide โ Importing and Exporting, Import Configuration
- FIDIC 1999 Cl 8.3 / FIDIC 2017 Cl 8.3 (check the edition in your contract)
From the field
Experience from working planners. Unreviewed โ read it as experience, not guidance.
Add what you know about xer file won't import. What worked, what the consultant pushed back on, what you would do differently next time. A paragraph is plenty.
Contributors get their name and one link on the site โ your own templates, course or consultancy. We take nothing and hold nothing.
Add your experience