Entity pillar · v0.8.1

entity Entity

Company profile aligned with schema.org Organization and GLEIF LEI reference data.

$id · https://corpospec.com/schemas/v0.8.1/entity.schema.json

Fields

Field Type Required Description
functional_currency IsoCurrency yes Functional (reporting) currency of the entity. ISO 4217. Canonical default for any monetary value elsewhere in the corpus that does not carry its own currency declaration.
id PathRef yes PathRef identifier for this entity within the corpus, e.g. `entity/unstarter-gmbh`. Must be unique across the repository.
jurisdiction IsoCountry yes ISO 3166-1 alpha-2 country code of the jurisdiction under whose laws the entity is incorporated.
legal_name string yes Full legal name as it appears in the commercial register (Handelsregister / Companies House / State filing), including the legal-form suffix (e.g. "Unstarter GmbH", "Beevelop UG (haftungsbeschränkt)", "Acme Corp, Inc.").
status StatusActive yes Operational status of the entity (active / pre-incorporation / dissolved / ...). See `StatusActive` for the full enum.
type EntityType yes Legal form category — the kind of legal vehicle this entity is (corporation, LLC, partnership, etc.). Used for schema.org Organization subtyping and downstream reporting.
address PostalAddress? Primary operating address. May differ from `registered_seat` when the entity operates from a different location than its legal seat. Structured per schema.org PostalAddress.
company_purpose string? Corporate purpose (Unternehmensgegenstand) — statutory object clause describing what the entity does. For German GmbH/UG this is the `Gegenstand des Unternehmens` recorded in the notary deed and Handelsregister; for US corporations it mirrors the certificate of incorporation's purpose clause. Free-form prose.
contact Contact? Public contact endpoint (email / phone) for external parties.
custom EntityCustom? Jurisdiction-specific and entity-specific extension fields that do not fit the canonical schema. Kept as a strongly typed union rather than `serde_json::Value` so report generators can consume these fields without dynamic parsing.
date_of_incorporation IsoDate? ISO 8601 date on which the entity was legally formed. For German GmbH/UG this is the Handelsregister entry date, not the notary deed date. Optional to accommodate entities in formation; once incorporation completes, this field should be populated and the corresponding `target_incorporation` targets become historical.
founders PathRef[] PathRefs into `people/**` for the founder(s) of the entity. Authoritative founder attribution lives on the person records; this list provides the reverse index.
legal_form string? Free-form legal-form designation as registered locally (e.g. "GmbH (Gesellschaft mit beschränkter Haftung)", "UG (haftungsbeschränkt)", "C-Corp", "LLC"). Complements the coarse-grained `entity_type` enum with the precise local label used in official documents.
lei Lei? Legal Entity Identifier (ISO 17442) — 20-character alphanumeric code issued by a GLEIF-accredited LOU. Required for entities subject to financial-market reporting (EMIR, MiFID II, Dodd- Frank); optional otherwise.
number_of_employees EmployeeCount? Current employee headcount with the date the snapshot was taken.
parent_organization PathRef? PathRef of the parent organisation, when this entity is a wholly or majority owned subsidiary. For minority investments use the relevant equity / cap-table pillar instead.
registered_seat string? Registered seat (Sitz der Gesellschaft) — the city or municipality recorded in the commercial register as the entity's legal seat, e.g. "Berlin", "Dobel, Germany". Free-form by design: the seat is often just a municipality name, not a full postal address, and can diverge from the operating address (`address`). For the structured operating address use `address` instead.
registration_authority string? Name of the authority that maintains the registration (e.g. "Amtsgericht Stuttgart", "Delaware Division of Corporations", "Companies House"). Paired with `registration_number` to locate the authoritative public record.
registration_number string? Identifier assigned by the registration authority — e.g. German Handelsregister `HRB 765497`, Delaware file number `7891234`, UK Companies House number `12345678`. Include the prefix where it is part of the canonical identifier (e.g. `HRB`).
subsidiaries PathRef[] PathRefs of subsidiary entities. Mirrors each subsidiary's `parent_organization` — both sides of the relation should be kept in sync.
tax_ids TaxId[] Tax identification numbers issued by various authorities, each typed (`Steuernummer`, `USt-IdNr`, `EIN`, `DUNS`, etc.) and optionally scoped to a country.
trade_name string? Operating / trade name used for branding and marketing, without the legal-form suffix (e.g. "Unstarter", "Acme"). Omit when the trade name equals the legal name.
url string? Primary public website of the entity (absolute URL).

Definitions

Shared types referenced within this schema.

AccidentInsurance
Accident insurance registration (VBG).
type: object
BankingInfo
Banking information — primary operating bank account of the entity. Treated as sensitive data; exclude from publicly rendered reports unless the entity has chosen to disclose it (typical for the Imprint / Handels- register extract). An entity with multiple accounts should list the authoritative operating account here.
type: object
CapitalFlow
Capital flow between entities — narrative description of where equity or working capital originates and how it is deployed across the group structure. Intended for human-readable disclosure (investor decks, tax filings, due diligence), not for machine reconciliation. For machine-reconcilable money movement, use the relevant finance pillar.
type: object
Contact
Contact information.
type: object
EmployeeCount
Employee count snapshot.
type: object
EntityCustom
Typed extension fields for Entity. Union of all jurisdiction-specific fields observed in .corpospec/ YAML data.
type: object
EntityType
Entity type discriminator.
enum: "corporation", "llc", "partnership", "sole-proprietorship", "non-profit", "cooperative", "trust", "foundation", "lp", "llp", "joint-venture", "association", "reit", "pbc"
IncorporationTimeline
Incorporation timeline targets — planned milestones for bringing a pre-incorporation entity to fully-registered and funding-ready status. All dates are ISO 8601 (`YYYY-MM-DD`) and represent targets, not confirmations. Move a target into the main `Entity` record (e.g. `date_of_incorporation`) once the milestone is achieved.
type: object
IsoCountry
ISO 3166-1 alpha-2 country code.
pattern: ^[A-Z]{2}$
IsoCurrency
ISO 4217 currency code.
pattern: ^[A-Z]{3}$
IsoDate
ISO 8601 date (YYYY-MM-DD).
type: string
LaborRegistration
Labor registration details (German Betriebsnummer) — identifiers issued by the Bundesagentur für Arbeit when an entity first employs staff subject to social-insurance contributions.
type: object
Lei
ISO 17442 Legal Entity Identifier (20-character alphanumeric).
pattern: ^[A-Z0-9]{18}[0-9]{2}$
PathRef
Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
pattern: ^[a-z0-9_-]+(/[a-z0-9_.-]+)+$
PlannedSubsidiary
Planned subsidiary entity.
type: object
PostalAddress
Physical address aligned with schema.org PostalAddress.
type: object
ReorganizationPlan
Corporate reorganization plan.
type: object
StatusActive
Lifecycle status for entities.
enum: "active", "inactive", "dissolved", "pre-incorporation", "planned"
TaxId
Tax identification number with type discriminator.
type: object
TaxStructure
Tax structure configuration.
type: object

Reference in your YAML

# yaml-language-server: $schema=https://corpospec.com/schemas/v0.8.1/entity.schema.json