Attribute · Import & MIDP Audit
Audit your MIDP. Then push the gaps into Forma.
Upload your MIDP, register, or any spreadsheet. Foreman matches every row to a file in Forma, surfaces what's missing on both sides, and shows you exactly what would change — before anything is written. When you're ready, one click commits the values.
9 sheets
Dry-run report
6 types
Auto-create attrs
Both sides
Of the gap
No writes
Until you say so
Sound familiar · Today
The MIDP says one thing. Forma says something else.
Every team that runs a CDE eventually hits the same problem: a spreadsheet you can trust and a Forma project that drifts.
!Pain · 01
Hand-typing values into Forma
A doc controller copying Discipline, Status, and Suitability across hundreds of files — one custom-attribute panel at a time.
!Pain · 02
MIDP rows for files that aren't there
Your delivery plan lists deliverables; half of them haven't been uploaded yet — and you only find out at the milestone review.
!Pain · 03
Forma files the MIDP forgot
New files land in the CDE that nobody added to the register. They don't get tracked, reviewed, or counted toward delivery.
!Pain · 04
No way to preview before writing
You either trust the script and run it on production data, or you don't run it at all. There's no middle option.
Two-way
Gap detection
9-sheet
XLSX dry-run report
6 types
text · num · date · select…
Auto-create
Missing attributes
Use cases · Who it's for
Built for the people who keep Forma honest.
Whether you're auditing the register, onboarding a project, or running pre-handover checks — the dry-run is your safety net.
Document Controllers
Audit your MIDP every week without writing anything. Find rows for missing files, find files missing from rows, fix the spreadsheet at source — then commit values when the register is clean.
Project Managers
Onboarding a new project? Bulk-set Discipline, Package, Stage, and Suitability for every file from one register. Re-run the dry-run after every milestone to keep the register in sync.
BIM Managers
Standardise custom attributes across projects without using the API. Define them once in your register, let Foreman create them in Forma, then push values to every model file in one go.
Quality & Compliance
Pre-handover audits. Send the dry-run report to the client showing every file's MIDP coverage. Run again after the team fixes gaps. Walk into the milestone with a number you can defend.
Hook · MIDP audit
See the gap on both sides.
Every other tool tells you what's wrong with your spreadsheet. The dry-run report tells you what's wrong with your spreadsheet and with your CDE — without changing either. Download a 9-sheet XLSX, hand it to your team, fix the gaps at source.
MIDP coverage %, in one number
Your spreadsheet covers 42 of 60 files in this folder (70%). 18 ACC files have no row in the MIDP — see report sheet 'Files not in spreadsheet'.
Rows that don't match a file
Typos, files not yet uploaded, files in a different folder. Each gets a row with the original cell contents so you can fix the spreadsheet without re-opening it.
Files that nobody mentioned
Every file in the destination folder that no MIDP row references — with their current attribute values, so you can decide whether to add them to the register or remove them from Forma.
Per-attribute coverage stats
For each mapped attribute: how many rows have a value, how many would apply, how many would be skipped, and how many files in Forma already have a value vs. blank.
MIDP Dry-run Report
midp-2026-04.xlsx · No changes applied
How it works · Six steps
Six steps from spreadsheet to written values.
Each step is reversible. Nothing is written to Forma until step six — and even then, only when you click Run import.
1Step · 01
Upload spreadsheet
Drop in your MIDP, register, or any XLSX or CSV. Up to 50 MB. Pick the sheet and tell us which row is the header.
2Step · 02
Pick the destination folder
Hub → Project → folder. The destination is scanned recursively so files in sub-folders match too.
3Step · 03
Map columns to attributes
One column becomes the file-name match key. Other columns map to existing custom attributes — or click Create new and define a new attribute on the spot.
4Step · 04
Choose conflict policy
Per-attribute: overwrite, skip if existing, or fill blanks only. Default is fill blanks only — your spreadsheet won't accidentally overwrite curated data.
5Step · 05
Read the dry-run report
Coverage %, will-apply counts, orphaned rows, files not in spreadsheet, per-attribute breakdown. Download the 9-sheet XLSX. Walk away if you want — nothing has been written.
6Step · 06
Run import
When you're satisfied, click Run import. Live progress, live counters, cancel mid-flight, full audit log. Re-run the dry-run after to confirm.
Audit your MIDP without writing a single value to Forma. See the gaps. Then decide.
Start 14-day trial14-day trial · Full access · No card on file
Capabilities · What's included
Everything you'd want from a serious import + audit tool.
Dry run by default
Step six is a report, not a button. The same logic that would write data is run end-to-end with no API mutations. Walk away whenever.
Two-way gap detection
Rows without a matching file. Files without a matching row. Both sides surface in the report — most tools only catch one direction.
Auto-create missing attributes
Map a column to a custom attribute that doesn't exist yet. Pick the type — text, numeric, true/false, date, list. Foreman creates it in Forma the moment you confirm.
9-sheet XLSX report
Summary · Will apply · Skipped · Errors · Orphaned rows · Ambiguous · Files not in spreadsheet · Attribute coverage · New attributes. Hand it to your team.
Smart filename matching
Match by exact filename, with extension-stripped fallback. Files with the same name in different folders are flagged as ambiguous, not silently overwritten.
Three conflict policies
Per-mapping: overwrite, skip if existing, or fill blanks only. Default is fill blanks only — re-running the import is always safe.
Six APS data types
text · numeric · true/ false · date · list. Excel dates auto-detected as ISO. Boolean accepts true/false/yes/no/1/0. Select / list validated against allowed values.
Saved mappings
Re-run the same MIDP shape every month without re-mapping columns. Save the mapping once, load it next time, change the file.
Live progress + audit log
Watch a progress ring, applied/skipped/failed counters, current file, recent errors. Every run lands in the audit log with applied/failed counts.
Before · After
Manual process vs Foreman.
| Task | Manual | Foreman |
|---|---|---|
| Push 200 rows of metadata into Forma | 2-3 hours of clicking | < 90 seconds |
| Find files in the MIDP that don't exist in Forma | Eyeball the register | Orphaned rows sheet |
| Find files in Forma not in the MIDP | Not possible without a script | Files-not-in-spreadsheet sheet |
| Preview before writing | Run the script and pray | Dry-run report — zero writes |
| Create a new custom attribute first | Project admin → Custom attributes | Inline, during column mapping |
| Coverage % across the project | Not possible without a script | One number, one click |
| Re-run the same import next month | Re-do everything | Saved mapping + new file |
| Audit trail of who imported what | None | Every run logged + emailed |
Schema · Auto-create
Define the schema while you map.
Map a spreadsheet column to a custom attribute that doesn't exist yet, pick a type, and Foreman creates it in Forma during the import. No project-admin round-trip, no API calls, no waiting on someone else.
Six APS data types
text, numeric, boolean, date, select, multi_select. Type chosen at mapping time, locked once created — same as Forma's own behaviour.
Allowed values for select / multi_select
Define the dropdown list inline. Multi_select cells are split on comma or semicolon and validated against the allowed values before anything is written.
Confirm before creating
The dry-run report lists every new attribute pending. The import can't run until each one is explicitly ticked. A typo in a column header won't pollute your project schema.
Locale-stable type coercion
Excel serial dates parsed to ISO 8601. Numbers parsed with invariant culture so a German-locale CSV doesn't become a string. Booleans accept yes/no, true/false, 1/0.
| Column | Mapped to |
|---|---|
| File Name | Match key · file lookup |
| Discipline | Existing · text |
| Status | New · select New |
| Issued Date | New · date New |
| Suitability | Existing · select |
FAQ · Questions from the field
Frequently asked questions.
Q · 01
What is Attribute Import?
Attribute Import lets you push file metadata into Autodesk Forma from a spreadsheet — XLSX or CSV. Map columns to existing custom attributes or create new ones inline. Run a dry-run first to see what would change before anything is written.
Q · 02
What is the MIDP gap report?
The dry-run produces a 9-sheet XLSX report covering: matched rows, rows that didn't match a file, files that no row referenced, ambiguous matches, type-coercion errors, per-attribute coverage stats, and any new attributes that would be created. Coverage is shown as a single percentage so you can track MIDP completeness over time.
Q · 03
Will running it change anything in Forma?
Not until you click Run import. The dry-run is a read-only report — it loads files from the destination folder, fetches existing custom attribute values, classifies every cell, and writes nothing. You can download the report and walk away.
Q · 04
Can it create custom attributes that don't exist yet?
Yes. Map a column to 'Custom: Create new', pick a type (text, numeric, boolean, date, select, multi_select), and Foreman creates the attribute in Forma when you run the import — but only after you tick a confirmation checkbox in the dry-run report. Typos in column headers won't pollute your project schema.
Q · 05
How are spreadsheet rows matched to ACC files?
By the column you tag as 'Match: File name'. Foreman scans the destination folder recursively, matches each row first by exact filename, then by filename without extension as a fallback. If the same name exists in multiple sub-folders, the row is flagged as ambiguous and skipped — the report lists every candidate path.
Q · 06
What about overwriting existing values?
Three policies, set per attribute: overwrite (always write the spreadsheet value), skip if existing (never write if a value is already there), or fill blanks only (default — only write where the attribute is empty). Default is fill blanks only so re-running the import is always safe.
Q · 07
Can I save a mapping for next month?
Yes. Save your column-mapping configuration once — sheet name, header row, role per column, conflict policy per column — and load it next month with the new spreadsheet. The Saved Mappings tab on the import page lists everything you've saved.
Q · 08
Is there an audit trail?
Every import run is logged with applied / skipped / failed counts and the source filename. The dry-run report download is also logged. Both events surface in the organisation activity feed and the per-tenant admin audit view.
Free resource · BIM managers
MIDP Template (Excel)
A ready-to-use Master Information Delivery Plan template. Use it as the source for your first dry-run audit, then run the import to push values into Forma. Pairs with both Attribute Import and Attribute Extract.
Audit your MIDP. Push the gaps. Both directions.
Dry-run report, two-way gap detection, auto-created attributes — all without leaving Foreman.
14-day trial · Full access · No card on file
MIDP template
A ready-to-use master information delivery plan to feed your first audit.