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.
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
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"
}'
Required policy action: RevenueService:createRevenue (granted to both
AdminAccess and SystemAccess).
Manual billed rows on a line item can be overwritten when that line item is
re-synced (see How revenue is generated).
Use unbilled / deferred_without_date for adjustments you want preserved.
To change or remove an existing row afterwards, see
Editing & deleting revenue.