# Entry methods: post, settle

URL: /code/sdk/entry/verbs · Id: `page:code/sdk/entry/verbs`

> The Entry Verbs post, settle as typed SDK methods, with inputs, result, refusals and an example.

Reference for [Entry](/business/nouns/entry), one group of [Entry methods](/code/sdk/entry).

### Entry.post
Post records a manual Entry pair that no Verb caused, once a second Role approves it. [Verb page](/business/nouns/entry/post?interface=sdk).

```ts
interface EntryVerbs {
  post(input: EntryPostInput, options?: SB.CallOptions): SB.Call<Entry>
}
```

Emits [`Entry.posted`](/business/events/Entry.posted).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `debit` | `string` | Yes | The account code debited, such as `expense.hosting`. |
| `credit` | `string` | Yes | The account code credited. |
| `amount` | `money` | Yes | The amount and currency. |
| `memo` | `text` | Yes | Why the Entry exists. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `entry` | [Entry](/business/nouns/entry) | Yes | The debit Entry; its credit pair links to it. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```ts
import { $ } from 'startup-builder'

const entry = await $.Entry.post({ debit: 'Example debit', credit: 'Example credit', amount: { amount: 29, currency: 'USD' }, memo: 'Example memo' })
```

### Entry.settle
Settle nets a Period’s intercompany Entries between two Companies into one transfer through Stripe and reconciles both sides. [Verb page](/business/nouns/entry/settle?interface=sdk).

```ts
interface EntryVerbs {
  settle(input: EntrySettleInput, options?: SB.CallOptions): SB.Call<EntrySettleOutput>
}
```

Emits [`Entry.settled`](/business/events/Entry.settled).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `period` | [Period](/business/nouns/period) | Yes | The closed Period whose intercompany pairs settle. |
| `from` | [Company](/business/nouns/company) | Yes | The Company that owes the net amount. |
| `to` | [Company](/business/nouns/company) | Yes | The Company that receives it. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `transaction` | [Transaction](/business/nouns/transaction) | Yes | The one transfer that settles every pair. |
| `entry` | [Entry](/business/nouns/entry) | Yes | The intercompany Entry, now settled. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```ts
import { $ } from 'startup-builder'

const { transaction, entry } = await $.Entry.settle({ period: 'period_VEVuYACTsH', from: 'company_28zYNZEno0', to: 'company_28zYNZEno0' })
```