Skip to content

Entry

An Entry is one line of a double-entry posting: an amount to one account in the chart of accounts, caused by one Event.

Properties

PropertyTypeRequiredDescription
accountstringrequiredThe code of the account in the chart of accounts, such as revenue or cash.
amountmoneyrequiredThe amount and currency.
directionstringrequiredOne of debit or credit.
startupStartuprequiredThe Startup whose books the Entry belongs to.
counterpartyStartupThe sibling Startup on the other side of an intercompany Entry; empty for outside parties.

Object

JSON
{
  "$id": "https://api.sb/tutorloop.com/entries/entry_1",
  "$type": "Entry",
  "account": "cash",
  "amount": {
    "amount": 60,
    "currency": "USD"
  },
  "direction": "debit",
  "startup": "startup_1",
  "counterparty": "startup_1"
}

Relationships

  • An Entry is caused by one Event: every ledger Entry traces to the one Event that caused it, such as Order.paid. causedBy, inverse causes.
  • An Entry falls in one Period: an Entry posts to the month its Event happened; closing the Period locks it. fallsIn, inverse entries.
  • An Entry posts to one Account: each Entry posts to one Account, and an Account’s balance is the sum of its Entries. postsTo, inverse entries.
  • An Entry is reconciled by many Transactions: the ledger Entries the Transaction settles, matched during reconciliation. reconciledBy, inverse reconciles.

Verbs

  1. getReturns one Entry by id.
    GET /{namespace}/entries/{id}readNo Event
  2. listReturns Entries, newest first, one page at a time.
    GET /{namespace}/entriesreadNo Event
  3. postPost records a manual Entry pair that no Verb caused, once a second Role approves it.
    POST /{namespace}/entries/postdoEntry.posted
  4. settleSettle nets a Period’s intercompany Entries between two Companies into one transfer through Stripe and reconciles both sides.
    POST /{namespace}/entries/settledoEntry.settled

An Entry is kept forever and never edited: it has no update or delete.

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Entry.getYesYesYesYes
Entry.listYesYesYesYes
Entry.postYesNoNoNo
Entry.settleYesNoNoNo

Call it

Text
Post the latest entry.

Example

A $49 payment posts two Entries: $49 to cash and $49 to revenue. The Invoice.paid Event causes both.