> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getenso.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating manual revenue

> Add a revenue row directly against an invoice line item.

Alongside automatic generation, you can create a revenue row by hand against a
specific invoice line item — useful for adjustments, one-off recognition, or
deferrals.

In the app: **Recognition → Create revenue**. Via the API:
[`POST /revenue`](/api-reference/endpoint/post-revenue).

***

## Fields

| Field                   | Required      | Notes                                                                                                        |
| ----------------------- | ------------- | ------------------------------------------------------------------------------------------------------------ |
| `invoiceItemId`         | yes           | The line item the revenue is recognized against.                                                             |
| `value`                 | yes           | The recognized amount (may be negative for adjustments).                                                     |
| `type`                  | yes           | `billed`, `unbilled`, or `deferred_without_date`.                                                            |
| `startDate` / `endDate` | conditionally | Required for dated types; omit both for `deferred_without_date`. `startDate` must be on or before `endDate`. |

***

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.getenso.ai/revenue \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/json' \
    --data '{
      "invoiceItemId": "iim_...",
      "value": 500,
      "type": "billed",
      "startDate": "2026-03-01",
      "endDate": "2026-03-31"
    }'
  ```
</CodeGroup>

<Note>
  Required policy action: `RevenueService:createRevenue` (granted to both
  `AdminAccess` and `SystemAccess`).
</Note>

<Warning>
  Manual `billed` rows on a line item can be overwritten when that line item is
  re-synced (see [How revenue is generated](/docs/revenue-recognition/automatic-generation)).
  Use `unbilled` / `deferred_without_date` for adjustments you want preserved.
</Warning>

To change or remove an existing row afterwards, see
[Editing & deleting revenue](/docs/revenue-recognition/editing-deleting).
