Sample Report

FMSchemaIQ Report

SalesPlatform.fmp12 · Analyzed

Upload another

Parsing Summary

Validation snapshot of the uploaded DDR.

Success
File name
SalesPlatform.fmp12
File size
18.5 KB
Date analyzed
Sections detected
7 / 7

Detected Sections

Which DDR sections the parser recognized in your file.

  • Tables
    Detected
  • Fields
    Detected
  • Scripts
    Detected
  • Layouts
    Detected
  • Relationships
    Detected
  • Value Lists
    Detected
  • Custom Functions
    Detected
  • Accounts
    Detected
  • Privilege Sets
    Detected
  • Data Sources
    Not found
  • Plugins
    Not found
  • File References
    Not found

Overall Health Score

74/ 100

Excellent

Critical Issue: Broken References Detected

This DDR contains missing fields, tables, scripts, layouts, or related references that may cause calculations, scripts, layouts, or workflows to fail.

7 occurrences · 7 issue groups

Full Analysis

Errors, unreferenced objects, warnings, and performance flags by category. Click any number to see the affected items.

Elements
301
Errors
6
Unreferenced
88
Warnings
41
Performance
0
CategoryCountErrorsUnreferencedWarningsPerformance
Calculations
Custom Functions
Data Sources
Variables
Tables
Table Occurrences
Fields
Relationships
Layouts
Layout Objects
Themes
Styles
Scripts
Script Steps
Privilege Sets
Accounts
Extended Privileges
Menus
Value Lists
Total301688410

Score Breakdown

Each category starts at 100 and loses points per finding.
Structure77

Mostly organized schema with a few structural gaps

Performance100

Efficient queries with minimal performance bottlenecks

Reliability57

High script complexity and broken references increase risk

Maintainability100

Consistent naming and modular design patterns

Security100

Strong access control with minimal exposure risks

Statistics

Functionality access by privilege set

No extended-privilege assignments were found in this DDR.

Counts reflect how many privilege sets have each extended privilege enabled. Review carefully, broadly-granted access (e.g. Data API or WebDirect on multiple sets) can be a security risk.

Complexity Summary

At-a-glance view of complexity hotspots, derived from the same script intelligence used by the flow map.

Most complex script

Daily Reconciliation

42 steps · score 0

Most dependencies

Commit Transaction

2 callers · calls 0

Scripts with issues

0

of 19 total

Missing references

0

None detected

Script Flow Map

Interactive call-chain visualization. Highlights loops and missing scripts.

10 nodes9 edges
Drag to pan · Scroll to move · Hover a node for full name
Create New OrderCreate New OrderRoot · SalesPlatform.f…Validate CustomerValidate CustomerUtility · SalesPlatform.f…Create Order HeaderCreate Order HeaderData Entry · SalesPlatform.f…Add Default Line ItemsAdd Default Line ItemsData Entry · SalesPlatform.f…Calculate Order TotalsCalculate Order TotalsUtility · SalesPlatform.f…Check Customer StatusCheck Customer StatusOther · SalesPlatform.f…Generate Order NumberGenerate Order NumberOther · SalesPlatform.f…Lookup Product PricingLookup Product PricingOther · SalesPlatform.f…Update Inventory ReservationUpdate InventoryReservationData Entry · SalesPlatform.f…Apply Tax RulesApply Tax RulesOther · SalesPlatform.f…

Security Review

Account- and privilege-level checks based on the DDR.

Accounts detected

Yes

Total accounts

4

Full Access accounts

2

Admin account

No password (confirmed)

CriticalSecurityConfirmed

Full Access Account May Not Have a Password

A Full Access account appears to have no password. This is a serious security risk.

Recommendation: Open FileMaker Pro, go to File > Manage > Security, and set a strong password immediately or disable the account if it is not required.
WarningSecurityConfirmed

Multiple Full Access Accounts

Multiple accounts appear to have Full Access privileges.

2 Full Access accounts

Recommendation: Review whether each Full Access account is required and ensure access is limited to trusted administrators only.

Fix These First

Highest-impact improvements to focus on first.

StructureHigh ImpactMedium Effort

Broken References Detected

Missing references can cause scripts, calculations, layouts, or workflows to fail unexpectedly.

SecurityHigh ImpactMedium Effort

Full Access Account May Not Have a Password

A Full Access account appears to have no password. This is a serious security risk.

SecurityHigh ImpactMedium Effort

Multiple Full Access Accounts

Multiple accounts appear to have Full Access privileges.

Reference Integrity Summary

Roll-up of Broken References by category.SalesPlatform.fmp12

CategoryTotalCriticalWarningResolvedRemaining
Invalid Field Bindings555
Other Missing References222
Total7527

Broken References

7 total · 0 resolved · 7 remaining

7

remaining

0% resolved0 / 7
0 resolved7 remaining5 critical unresolved2 warning unresolved

Invalid Field Bindings

5 total · 0 resolved · 5 remaining
  • CriticalMissing Invalid Field Binding· File: SalesPlatform.fmp12· Relationship: Customers ↔ Orders_byCustomer1 remaining
    Missing Invalid Field BindingFile: SalesPlatform.fmp12Relationship: Customers ↔ Orders_byCustomer

    Customers:: Equal Orders_byCustomer::

    1 total · 0 resolved · 1 remaining
  • CriticalMissing Invalid Field Binding· File: SalesPlatform.fmp12· Relationship: Orders ↔ OrderLines1 remaining
    Missing Invalid Field BindingFile: SalesPlatform.fmp12Relationship: Orders ↔ OrderLines

    Orders:: Equal OrderLines::

    1 total · 0 resolved · 1 remaining
  • CriticalMissing Invalid Field Binding· File: SalesPlatform.fmp12· Relationship: Products ↔ OrderLines1 remaining
    Missing Invalid Field BindingFile: SalesPlatform.fmp12Relationship: Products ↔ OrderLines

    Products:: Equal OrderLines::

    1 total · 0 resolved · 1 remaining
  • CriticalMissing Invalid Field Binding· File: SalesPlatform.fmp12· Relationship: Orders ↔ Invoices1 remaining
    Missing Invalid Field BindingFile: SalesPlatform.fmp12Relationship: Orders ↔ Invoices

    Orders:: Equal Invoices::

    1 total · 0 resolved · 1 remaining
  • CriticalMissing Invalid Field Binding· File: SalesPlatform.fmp12· Relationship: Invoices_overdue ↔ ?1 remaining
    Missing Invalid Field BindingFile: SalesPlatform.fmp12Relationship: Invoices_overdue ↔ ?

    Invoices_overdue:: Equal ::

    1 total · 0 resolved · 1 remaining

Other Missing References

2 total · 0 resolved · 2 remaining
  • WarningMissing Other· File: SalesPlatform.fmp12· Script: Send Invoice Email1 remaining
    Missing OtherFile: SalesPlatform.fmp12Script: Send Invoice EmailStep: Step 2 • Perform Script

    Perform Script [ <Script is missing> ]

    1 total · 0 resolved · 1 remaining
  • WarningMissing Other· File: SalesPlatform.fmp12· Script: Archive Old Records1 remaining
    Missing OtherFile: SalesPlatform.fmp12Script: Archive Old RecordsStep: Step 4 • Perform Script

    Perform Script [ <Script is missing> ]

    1 total · 0 resolved · 1 remaining

Performance Risks

Performance Indicators highlight valid FileMaker objects that may cause slowness, complexity, or maintenance risk. These are not errors — review each finding in context.

Showing 1–5 of 5 performance indicators

Potentially Unused Objects

81 total · 0 reviewed · 81 needs review

Important: These objects have no incoming references in the parsed DDR. They may still be used dynamically (Perform Script by Name, Evaluate, GetField), triggered externally (Web/API/WebDirect), or required for data storage. Always review before deleting.
Showing 1–50 of 81 objects
  • Script

    Add Default Line Items

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Apply Tax Rules

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Archive Old Records

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Calculate Order Totals

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Check Customer Status

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Commit Transaction

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Create New Order

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Create Order Header

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Daily Reconciliation

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Generate Order Number

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Legacy Customer Import

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Log Audit Entry

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Lookup Product Pricing

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Open Customer Portal

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Refresh Dashboard Metrics

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Send Invoice Email

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Send Order Confirmation

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Update Inventory Reservation

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Script

    Validate Customer

    Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Dynamic Perform Script by Name and external triggers are not always visible in DDR.

  • Field

    AuditLog::Action

    in AuditLog · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    AuditLog::LogID

    in AuditLog · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    AuditLog::PerformedBy

    in AuditLog · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    AuditLog::Timestamp

    in AuditLog · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Customers::CreatedDate

    in Customers · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Customers::CustomerID

    in Customers · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Customers::Email

    in Customers · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Customers::FirstName

    in Customers · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Customers::FullName

    in Customers · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Customers::LastName

    in Customers · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Customers::LegacyAccountCode

    in Customers · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Customers::Phone

    in Customers · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Employees::Email

    in Employees · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Employees::EmployeeID

    in Employees · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Employees::Name

    in Employees · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Employees::Role

    in Employees · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Invoices::AmountDue

    in Invoices · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Invoices::InvoiceDate

    in Invoices · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Invoices::InvoiceID

    in Invoices · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Invoices::OrderID_fk

    in Invoices · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Invoices::Paid

    in Invoices · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    OrderLines::LineID

    in OrderLines · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    OrderLines::LineTotal

    in OrderLines · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    OrderLines::OrderID_fk

    in OrderLines · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    OrderLines::ProductID_fk

    in OrderLines · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    OrderLines::Quantity

    in OrderLines · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    OrderLines::UnitPrice

    in OrderLines · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Orders::CustomerID_fk

    in Orders · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Orders::OrderDate

    in Orders · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Orders::OrderID

    in Orders · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

  • Field

    Orders::ShippingAddress

    in Orders · Refs: 0 · Uses: 0 · No incoming references found in parsed DDR

    Needs Review

    Review before deleting. Field may still be referenced dynamically (GetField, Evaluate) or by external integrations.

Page 1 of 2

Change Impact Hotspots

Objects with the highest potential impact if changed, deleted, or renamed.

Impact is calculated from parsed DDR references. Dynamic script calls, external integrations, ExecuteSQL, plugins, API calls, or name-based references may require manual review.
Calculating impact…
Calculating impact…
Premium

Architecture Intelligence

Architectural hotspots, fragile areas, coupling, and potential technical debt indicators, derived from the parsed reference graph.

These signals are heuristic. Dynamic script calls, ExecuteSQL, plugins, and external integrations may not be visible, review recommended before changes.

Architecture Hotspots

Objects with the highest potential downstream impact.

Calculating architecture intelligence…
Calculating architecture intelligence…

Key Health Insights

Plain-English findings derived from your DDR, grouped by category.

Security

GoodSecurity

Account structure appears minimal and controlled

A small, well-scoped set of accounts reduces the attack surface and simplifies access reviews.

4 account(s) defined

Recommendation: Continue periodic reviews to keep account inventory tight.

Verification & Validation

Enter the counts you observe in FileMaker to compare against the parser's output and confirm accuracy.

Tables

Parsed: 7

Fields

Parsed: 38

Scripts

Parsed: 19

Layouts

Parsed: 8

Relationships

Parsed: 5

Value Lists

Parsed: 4

Custom Functions

Parsed: 3

Detailed DDR Inventory

Expand a category to inspect parsed item-level data from the uploaded DDR.

What would you like to do next?

A few suggestions based on this report, review at your own pace.

  • Open FileMaker Pro, go to File > Manage > Security, and set a strong password immediately or disable the account if it is not required.
  • Review whether each Full Access account is required and ensure access is limited to trusted administrators only.

Continue exploring your report

Dive deeper into your system insights and review recommendations at your own pace.

Get expert guidance

A FileMaker expert can review your system and help prioritize the most impactful improvements.

No obligation. Just clarity.

Need help implementing changes?

Get support with optimization, cleanup, or ongoing FileMaker development.

This report is generated automatically based on the uploaded DDR and is intended for informational purposes. Always validate findings, and test changes in a development or staging environment before modifying production systems.