Skip to content

Data Model: Investment

Purpose: The Investment entity is a transactional record that represents a single investor's financial commitment to a specific Offer. It acts as the central hub for linking a Profile to an Offer, tracking the investment amount, the status of the legal documentation, and the complete lifecycle of the funding process.

Fields/Attributes

NameTypeDescriptionValidation Rules
Core Identification
idUnique IdentifierThe primary internal system ID for the investment.• Required • System-generated, Read-only
public_idTextA user-facing, non-sequential identifier for the investment.• Required, Unique • System-generated
Key Associations
offer_idForeign KeyA reference to the Offer invested in.• Required
profile_idForeign KeyA reference to the Profile making the investment.• Required
user_idForeign KeyA reference to the User who initiated the investment.• Required
Status & Progress
statusChoiceThe overall status of the investment application and its lifecycle.• Required • Must be one of: NEW, CONFIRMED, LEGALLY_CONFIRMED, CLOSED_SUCCESSFULLY, CLOSED_UNSUCCESSFULLY, CANCELLED_BY_MANAGER, CANCELLED_BY_INVESTOR. See investment status lifecycle.
current_stepChoiceThe last completed step in the multi-step investment user flow. Used to allow users to resume.• Required • Must be one of: SETUP, SIGNATURE, REVIEW
Financial Details
amountCurrencyThe total monetary value of the investment.• Required • Must be a positive number
shares_purchasedIntegerThe number of shares or tokens this investment represents.• Read-only • Calculated: amount / Offer.price_per_share
Funding & Payment Details
funding_methodChoiceThe payment method selected by the investor.• Required • Must be one of: WALLET, CRYPTO WALLET, BANK_ACCOUNT, ACH, WIRE
payment_providerChoiceThe payment provider processing the funds for this investment.• Required • Must be one of: DWOLLA, NORTH_CAPITAL, EVM
funding_statusChoiceThe granular, real-time status of the payment transaction.• Required • System-managed • Must be one of: INITIALIZED, IN_PROGRESS, RECEIVED, SETTLED, CANCELLED, FAILED, etc.
payment_provider_transfer_idTextThe unique transaction ID from the external payment provider's system.• System-set
Legal & Timestamps
signature_statusChoiceThe status of the e-signature on the investment agreement.• Required • Must be one of: PENDING, SIGNED
signed_agreement_urlURLA link to the fully executed, legally binding investment agreement document.• System-set after signing
submitted_atTimestampThe exact date and time the investor completed the final "review" step.• System-set
created_atTimestampThe date and time the investment record was first created.• Read-only
updated_atTimestampThe date and time the investment was last modified.• Read-only

Key Relationships

  • Offer: An Investment belongs to exactly one Offer (a many-to-one relationship).

  • Profile: An Investment is made by exactly one Profile (a many-to-one relationship).

  • User: An Investment is owned by one User account (a many-to-one relationship).

  • Transactions: An Investment can have one or more Transaction and EVM-Transfer records associated with it, detailing the movement of funds (e.g., payment, refund) (a one-to-many relationship).

Auditing & Event History

Every significant action or change made to an Investment is recorded as an immutable entry in a system-wide EventLog. This creates a complete and tamper-proof audit trail for compliance and operational tracking.