Finances
Webhook events for invoices, costs, and incomes.
Events
| Event | Trigger |
|---|---|
finance.invoice.created | An invoice is created. |
finance.invoice.updated | An invoice is updated. |
finance.invoice.deleted | An invoice is deleted. |
finance.cost.created | A cost is created. |
finance.cost.updated | A cost is updated. |
finance.cost.deleted | A cost is deleted. |
finance.income.created | A income is created. |
finance.income.updated | A income is updated. |
finance.income.deleted | A income is deleted. |
Invoice created
finance.invoice.created
| Field | Type | Example |
|---|---|---|
invoiceId | UUID | 790cf71a-d7e3-48a9-b93d-84f3dd6b23b6 |
number | string (max 20 characters) | 123/abc |
dateSale | date | 2023-01-01 |
dateIssue | date | 2023-01-01 |
kind | string (max 20 characters) | FV |
currencyCode | string (3 characters) | EUR |
priceNet | number (decimal) | 100.0 |
priceGross | number (decimal) | 120.0 |
priceTax | number (decimal) | 20.0 |
{
"invoiceId": "790cf71a-d7e3-48a9-b93d-84f3dd6b23b6",
"number": "123/abc",
"dateSale": "2023-01-01",
"dateIssue": "2023-01-01",
"kind": "FV",
"currencyCode": "EUR",
"priceNet": 100.0,
"priceGross": 120.0,
"priceTax": 20.0
}Invoice updated
finance.invoice.updated
| Field | Type | Example |
|---|---|---|
invoiceId | UUID | 790cf71a-d7e3-48a9-b93d-84f3dd6b23b6 |
number | string (max 20 characters) | 123/abc |
dateSale | date | 2023-01-01 |
dateIssue | date | 2023-01-01 |
kind | string (max 20 characters) | FV |
currencyCode | string (3 characters) | EUR |
priceNet | number (decimal) | 100.0 |
priceGross | number (decimal) | 120.0 |
priceTax | number (decimal) | 20.0 |
{
"invoiceId": "790cf71a-d7e3-48a9-b93d-84f3dd6b23b6",
"number": "123/abc",
"dateSale": "2023-01-01",
"dateIssue": "2023-01-01",
"kind": "FV",
"currencyCode": "EUR",
"priceNet": 100.0,
"priceGross": 120.0,
"priceTax": 20.0
}Invoice deleted
finance.invoice.deleted
| Field | Type | Example |
|---|---|---|
invoiceId | UUID | 561db292-e320-47a1-aa20-2203758e0c3f |
{
"invoiceId": "561db292-e320-47a1-aa20-2203758e0c3f"
}Cost created and updated
finance.cost.created and finance.cost.updated use the same payload.
These events describe cost records, separately from invoice events. Related IDs and optional fields may be null. Amounts are in the instance currency. Project filtering is not available for these events.
| Field | Type | Description |
|---|---|---|
costId | UUID | Related record identifier. |
name | string | |
description | string / null | |
date | date | |
dateDeadline | date / null | |
priceNet | number | |
priceGross | number | |
isBilled | boolean | |
isPosted | boolean | |
projectId | UUID / null | Related record identifier. |
stageId | UUID / null | Related record identifier. |
boardId | UUID / null | Related record identifier. |
taskId | UUID / null | Related record identifier. |
contractorId | UUID / null | Related record identifier. |
taxRateId | UUID / null | Related record identifier. |
invoiceId | UUID / null | Related record identifier. |
costCategoryId | UUID / null | Related record identifier. |
costType | string | manually or from-reported-time |
{
"costId": "790cf71a-d7e3-48a9-b93d-84f3dd6b23b6",
"name": "Example cost",
"description": null,
"date": "2026-10-13",
"dateDeadline": null,
"priceNet": 100,
"priceGross": 100,
"isBilled": false,
"isPosted": false,
"projectId": null,
"stageId": null,
"boardId": null,
"taskId": null,
"contractorId": null,
"taxRateId": null,
"invoiceId": null,
"costCategoryId": null,
"costType": "manually"
}Cost deleted
finance.cost.deleted
The payload contains only the deleted record's identifier, captured before deletion.
| Field | Type | Example |
|---|---|---|
costId | UUID | 790cf71a-d7e3-48a9-b93d-84f3dd6b23b6 |
{
"costId": "790cf71a-d7e3-48a9-b93d-84f3dd6b23b6"
}Income created and updated
finance.income.created and finance.income.updated use the same payload.
These events describe income records, separately from invoice events. Related IDs and optional fields may be null. Amounts are in the instance currency. Project filtering is not available for these events.
| Field | Type | Description |
|---|---|---|
incomeId | UUID | Related record identifier. |
name | string | |
description | string / null | |
date | date | |
dateDeadline | date / null | |
priceNet | number | |
priceGross | number | |
isBilled | boolean | |
isPosted | boolean | |
projectId | UUID / null | Related record identifier. |
stageId | UUID / null | Related record identifier. |
boardId | UUID / null | Related record identifier. |
taskId | UUID / null | Related record identifier. |
contractorId | UUID / null | Related record identifier. |
taxRateId | UUID / null | Related record identifier. |
invoiceId | UUID / null | Related record identifier. |
incomeCategoryId | UUID / null | Related record identifier. |
incomeType | string | manually or from-invoice |
{
"incomeId": "790cf71a-d7e3-48a9-b93d-84f3dd6b23b6",
"name": "Example income",
"description": null,
"date": "2026-10-13",
"dateDeadline": null,
"priceNet": 100,
"priceGross": 100,
"isBilled": false,
"isPosted": false,
"projectId": null,
"stageId": null,
"boardId": null,
"taskId": null,
"contractorId": null,
"taxRateId": null,
"invoiceId": null,
"incomeCategoryId": null,
"incomeType": "manually"
}Income deleted
finance.income.deleted
The payload contains only the deleted record's identifier, captured before deletion.
| Field | Type | Example |
|---|---|---|
incomeId | UUID | 790cf71a-d7e3-48a9-b93d-84f3dd6b23b6 |
{
"incomeId": "790cf71a-d7e3-48a9-b93d-84f3dd6b23b6"
}