Skip to content

Project & Entity

These two objects answer "what are we receiving, and for whom?"

Project

A Project is the container for one intake use case. It groups everything needed to receive and process a class of deliveries:

  • the Entities that define the target shape (assigned by role),
  • the DataContracts suppliers deliver against,
  • Transformers that map contracts onto entities,
  • project-level Business Rules and Catalogs,
  • the output format for export,
  • the Data Providers granted access.

A project also carries operational settings such as the approval mode (auto, single, or dual approval) and how sessions may be created (by your org, by providers, or both).

Entity

An Entity is the target schema — the table your normalized data lands in. It declares columns and their types, and holds row-level validation rules.

Entities are two-tier:

  • Org-level entities (project_id is null) are reusable across projects.
  • Project-scoped entities live in one project. A project-scoped entity overrides an attached org-level entity of the same name.

Within a project, entities are attached through a join table that assigns each one a role (unique per project), so a transformer and the export format know which entity is which.

Why they are separate

The Project is the organizing unit; the Entity is the data contract for your output. Keeping them separate lets one entity definition serve many projects, and lets a project compose several entities (for multi-file deliveries that must reconcile against each other).