🚨 This documentation is out of date.
View our New Documentation!
Open Collective Docs
Go back to Open Collective
  • Welcome
  • About
    • Introduction
    • Documentation
    • Terminology
    • Company
    • Pricing
    • Team
    • The Open Collective Way
      • Mission and Values
      • Community Guidelines
    • Hiring
    • Investors
    • Contributing
    • Refund Policy
    • Contact Us
  • Product
    • Features
    • Roadmap
    • Comparison
    • User Profile
    • Dashboard
      • Preview Features
    • Currencies
    • Log-in System
    • Privacy Policy
    • Moderation
    • Security
    • Ledger
      • Individual Transactions
      • Transaction Pairs, Groups & Perspectives
      • Viewing Transactions
      • Exporting Transactions
      • Fiscal Host Ledger Perspective
      • Contributions in the Ledger
      • Added Funds in the Ledger
      • Expenses in the Ledger
      • Ledger Changelog
    • Notifications
    • Two-factor Authentication
    • Activity Log
  • Collectives
    • Collectives FAQ
    • Creating a Collective
    • Quick Start Guide
    • Collective Settings
      • Customize Collective
      • Team
      • Collective Goals & Tiers
      • Expense Policy
      • Data Export
      • Security
      • Integrations
      • Zero Collective Balance
      • Closing a Collective
    • Add Fiscal Host
    • Change Fiscal Host
    • Open Source Collectives
      • Setting up GitHub Sponsors
    • Transparent Budget
    • Expenses
    • Updates & Comms
    • Custom Email
    • Moderation
    • Conversations
    • Events
    • Projects
    • Funding Options
    • Buttons & Banners
    • Connected Collectives
    • Contribution flow
  • Financial Contributors
    • Financial Contributors FAQ
    • Guest contributions
    • Payments
    • Platform Tips
    • Website Badge
    • Receipts
    • Collective to Collective
    • Organizations
      • Organization FAQ
      • Funds
      • Bulk Transfers
      • Gift Cards
      • Sustainer Resources
  • Expenses & Getting Paid
    • Expenses FAQ
    • Submitting Expenses
      • Inviting a third-party to submit an Expense
    • Expense Comments
    • Edit or Download an Expense
    • Receiving payment through Payoneer or Wise
    • Tax Information
  • Fiscal Hosts
    • Fiscal Hosts FAQ
    • Becoming a Fiscal Host
    • Creating a Fiscal Host
    • Organisation Settings
      • Info
      • Customize Profile Page
      • Connect external accounts
      • Accounting Categories
      • Security
      • Manage updates
      • Policies
    • Fiscal Host Dashboard
      • Expenses
      • Financial contributions
      • Pending applications
      • Hosted Collectives
      • Vendors
      • Transaction Report
        • Reports
    • Receiving Money
      • Bank Transfers
      • Credit Card
      • Add Funds Manually
      • Expected Funds
    • Payouts
      • Virtual Card Settings
      • Payouts with PayPal
      • Payouts with Wise
      • Two-factor authentication for payouts
      • Refunds
    • Host Fees
    • Local Tax Support
    • Agreement Templates
  • Independent Collectives
    • About Independent Collectives
    • Create an Independent Collective
      • Migrate from Self-Hosted to Independent Collective
      • Migrate from a Fiscal Host to Independent Collective
    • Independent Collective Setup
    • Independent Collective Management
      • Money coming in: Contributions
      • Money going out: Expenses
    • Close an Independent Collective
  • Contributing
    • Design
      • Design Workflow
      • Design Contribution Guidelines
    • Development
      • Contribution Guide
      • Best Practice Guidelines
      • Bounties
      • Architecture
      • API
        • Members
        • Collectives
        • Events
      • README Integration
      • PayPal
      • TransferWise
      • Post-Donation Redirect
      • Manual Reporting
      • GitHub Permissions
      • Internationalization (i18n) system
      • Testing with Cypress
      • Testing features
        • Conversations
      • Collective's locations
      • Virtual Cards
    • Documentation
      • Resources for documentarians
      • Style guide
      • Suggesting changes
    • Translation
  • Developers
    • OAuth
    • Personal Tokens
Powered by GitBook

Helpful Links

  • Website
  • Blog
  • Contact
  • Slack

â’¸ Open Collective 2024

On this page
  • Collectives
  • Members
  • Orders
  • Transactions

Was this helpful?

Edit on GitHub
Export as PDF
  1. Contributing
  2. Development

Architecture

PreviousBountiesNextAPI

Last updated 3 years ago

Was this helpful?

Collectives

In Open Collective, every entity is a collective and can be accessed publicly via their unique slug https://opencollective.com/:slug. In our public API, Collectives are usually refered to as Accounts. You can think about it like "profiles" that's what we really store in that table.

A Collective can be of type:

  • COLLECTIVE e.g.

  • EVENT e.g.

  • ORGANIZATION e.g. , , etc.

  • USER e.g.

  • PROJECT

  • FUND

Members

A Member connects two profiles together. It can have multiple roles (one role per row):

  • HOST legal holder of the bank account that holds the money on behalf of the collective

  • ADMIN users who can approve expenses for the collective

  • MEMBER aka core contributors

  • BACKER users who gave money to the collective

Orders

An Order is the intent to give money to an Account. It is created by a UserId on behalf of a collective (which can be their own UserCollective or any other Collective that they are a member of).

Attributes:

Attribute

Definition

Example

UserCollectiveId

User who created the order

/xdamman

FromCollectiveId

Source of the money

/digitalocean

CollectiveId

Destination of the money

/webpack

currency

currency of the ToCollectiveId

USD

amount

amount in cents

10000

SubscriptionId

References recurring subscription

status

status of the order

PENDING -> APPROVED|REJECTED -> PAID

Transactions

Attribute

Definition

Example

OrderId

References the order

1

FromCollectiveId

Source of the money (virtual account)

/webpack

ToCollectiveId

Destination of the money (virtual account)

/wwcodeberlin

PaymentMethodId

Payment method (e.g. if there wasn't enough funds in the FromCollectiveId)

NULL

FromHostId

Source of the money

/opensource

ToHostId

Destination of the money

/wwcode

FromHostAmount

total amount in cents paid by the host of the FromCollectiveId in the currency of the host

-11481 (-$114.81)

FromCollectiveAmount

total amount that increases/decreases the balance of the FromCollectiveId in the currency of the FromCollectiveId

-11481

paymentProcessorFeesInHostCurrency

fees for the payment processor in cents

hostFeesInHostCurrency

fees for the host in cents in the currency of the host (which might be different than the currency of the collective, e.g. WWCode (USD) and WWCode Berlin (EUR)

574 (5% of €100 in USD)

platformFeesInHostCurrency

fees for the platform (Open Collective)

574 (5% of €100 in USD)

ToHostAmount

net amount in cents received by the host of the ToCollectiveId in the currency of the ToHostId

9630 (€100 - (2.9% + $0.30) - €5 platform fee)

ToCollectiveAmount

total amount that increases/decreases the balance of the ToCollectiveId in the currency of the order

9580 (€96.30 - €5 host fee)

FromHostCurrency

currency of the FromHostId

USD

FromCollectiveCurrency

currency of the FromCollectiveId

USD

ToCollectiveCurrency

currency of the collective that receives the money

EUR

ToHostCurrency

currency of the order (currency of the ToCollectiveId)

USD

fxrate

Foreign eXchange Rate from the currency of the order (ToCollectiveCurrency) to the currency of the host of the FromCollectiveId (float)

1.15

Note: The Collective currency might be different than the Host Currency (both for the source "From" and the recipient "To"). The fxrate only takes into account the conversion between ToCollectiveCurrency to ToHostId.

A Transaction records money moving from one account to another ac. In this example, a collective is giving €100 to hosted by .

Webpack
BrusselsTogether Meetup 4
iDoneThis
DigitalOcean
xdamman
webpack
Women Who Code Berlin
Women Who Code 501(c)(3)