Living Documentation

Your FileMaker solution, documented — and kept current.

Most custom solutions live in one developer's head. FM Dojo turns yours into clear, readable documentation that explains every table, field, calculation, relationship, and script in plain language — and regenerates it from the real schema each time something changes, so the knowledge never goes stale.

Why it matters

Documentation that owners can actually read

Good documentation is not a one-time export that ages out of date. It is a faithful, current description of how the solution works — useful the day you onboard a new developer, hand off to a partner, or simply want to understand what you own.

Knowledge out of one head

When only one developer understands the solution, every change is a risk. Documentation makes the design readable by anyone on the team.

Always current, never stale

Each new snapshot regenerates the document from the real schema, so the documentation describes what the solution is today — not what it was a year ago.

Plain language, not jargon

Tables, fields, calculations, and relationships are explained in clear sentences, so owners and new hires can follow how the solution fits together.

A real sample

This is the actual output — not a mockup

Below is documentation generated from a small example solution: a customer database with companies, contacts, and invoices. Every line is produced from the schema itself, so it is accurate by construction and never invented.

Overview

  • File: Acme CRM
  • FileMaker version: FileMaker Pro 22.0
  • XML export version: 1.0
  • Snapshot: version 1

This solution contains 3 tables, 17 fields, 3 table occurrences, 2 scripts, 2 relationships, 3 layouts, 2 value lists and 1 custom function.

Data Model

Invoices

Technical ID: 3

FieldTypeDetails
InvoiceIDNumberTechnical ID: 301
Primary key for the invoice.
Auto-enter serial number (next 20460, +1, OnCreation), cannot modify
Validation: not empty, unique, always
Index: All
CompanyIDNumberTechnical ID: 302
The company being billed.
Validation: not empty, during data entry
Index: All
InvoiceDateDateTechnical ID: 303
Auto-enter creation date
Index: All
SubtotalNumberTechnical ID: 304
Sum of line items, entered before tax.
TaxRateNumberTechnical ID: 305
Decimal tax rate, e.g. 0.0825 for 8.25 percent.
GrandTotalNumber (Calculated)Technical ID: 306
Subtotal plus tax, rounded to cents. Always current.
StatusTextTechnical ID: 307
Where the invoice sits in the billing cycle.
Validation: member of "Invoice Status", during data entry
Index: All

GrandTotal calculations

Field calculation

Round ( Subtotal * ( 1 + TaxRate ) ; 2 )

Relationships

  • Companies relates to Contacts where CompanyID = CompanyID. Relationship: Companies→Contacts; ID: r1.
  • Companies relates to Invoices where CompanyID = CompanyID. Relationship: Companies→Invoices; ID: r2.

The full document also covers every table, the complete script inventory, value lists, and custom functions.

What the document covers

A complete, plain-language map of your solution

Every table and field, with types and developer notes
Calculations shown with their actual formulas
How tables relate to each other, in plain sentences
A script inventory, value lists, and custom functions
A faithful record you can hand to an auditor or a new developer

Stop documenting by hand. Let it keep itself current.

Get clear, always-current documentation for your own FileMaker solution, so the knowledge lives with the team instead of in one person's memory.

See plans and pricing