AlphaCount Developers
Webhooks

Events

Every event, when it happens, and what its data holds.

Every event has the envelope around its data. In data, amounts are numbers with two decimals next to currency, dates are YYYY-MM-DD, an unknown value is null, and url opens the record in the app. The examples below are built by the same code that builds the real events.

Invoices

invoice.issued

An outgoing invoice got its number โ€” or a cancellation invoice (`type: "storno"`) that reverses one did. Every `invoice.*` event carries the same `data`; the type says what happened.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "invoice.issued",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
    "number": "RE-2026-0042",
    "type": "invoice",
    "status": "issued",
    "date": "2026-10-13",
    "due_date": "2026-10-27",
    "service_period_start": "2026-10-01",
    "service_period_end": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "number": "10001",
      "name": "Musterschule gGmbH"
    },
    "external_source": "alphalearn",
    "external_ref": "order-2026-0815",
    "customer_external_ref": "org-17",
    "net_amount": 1059.7,
    "tax_amount": 194.18,
    "gross_amount": 1253.88,
    "amount_paid": 0,
    "currency": "EUR",
    "sent_at": null,
    "paid_at": null,
    "dunning_level": null,
    "cancels_invoice": null,
    "cancelled_by": null,
    "booking_id": "9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a",
    "url": "https://app.alphacount.ai/invoicing?highlight=0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"
  }
}

invoice.sent

The invoice was mailed to the customer for the first time (`issued โ†’ sent`). Mailing it again is not reported.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "invoice.sent",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
    "number": "RE-2026-0042",
    "type": "invoice",
    "status": "sent",
    "date": "2026-10-13",
    "due_date": "2026-10-27",
    "service_period_start": "2026-10-01",
    "service_period_end": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "number": "10001",
      "name": "Musterschule gGmbH"
    },
    "external_source": "alphalearn",
    "external_ref": "order-2026-0815",
    "customer_external_ref": "org-17",
    "net_amount": 1059.7,
    "tax_amount": 194.18,
    "gross_amount": 1253.88,
    "amount_paid": 0,
    "currency": "EUR",
    "sent_at": "2026-10-13T09:12:44Z",
    "paid_at": null,
    "dunning_level": null,
    "cancels_invoice": null,
    "cancelled_by": null,
    "booking_id": "9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a",
    "url": "https://app.alphacount.ai/invoicing?highlight=0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"
  }
}

invoice.paid

The invoice is paid in full โ€” by a bank payment the matcher booked, a payment recorded by hand, or an early-payment discount remainder a person closed. A partial payment is no event; `amount_paid` says how far it got.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "invoice.paid",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
    "number": "RE-2026-0042",
    "type": "invoice",
    "status": "paid",
    "date": "2026-10-13",
    "due_date": "2026-10-27",
    "service_period_start": "2026-10-01",
    "service_period_end": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "number": "10001",
      "name": "Musterschule gGmbH"
    },
    "external_source": "alphalearn",
    "external_ref": "order-2026-0815",
    "customer_external_ref": "org-17",
    "net_amount": 1059.7,
    "tax_amount": 194.18,
    "gross_amount": 1253.88,
    "amount_paid": 1253.88,
    "currency": "EUR",
    "sent_at": "2026-10-13T09:12:44Z",
    "paid_at": "2026-10-20T07:00:11Z",
    "dunning_level": null,
    "cancels_invoice": null,
    "cancelled_by": null,
    "booking_id": "9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a",
    "url": "https://app.alphacount.ai/invoicing?highlight=0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"
  }
}

invoice.overdue

The daily check (07:30 Berlin time) found the invoice past its due date and unpaid โ€” once per invoice. A cancellation invoice is never overdue.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "invoice.overdue",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
    "number": "RE-2026-0042",
    "type": "invoice",
    "status": "sent",
    "date": "2026-10-13",
    "due_date": "2026-10-27",
    "service_period_start": "2026-10-01",
    "service_period_end": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "number": "10001",
      "name": "Musterschule gGmbH"
    },
    "external_source": "alphalearn",
    "external_ref": "order-2026-0815",
    "customer_external_ref": "org-17",
    "net_amount": 1059.7,
    "tax_amount": 194.18,
    "gross_amount": 1253.88,
    "amount_paid": 0,
    "currency": "EUR",
    "sent_at": "2026-10-13T09:12:44Z",
    "paid_at": null,
    "dunning_level": null,
    "cancels_invoice": null,
    "cancelled_by": null,
    "booking_id": "9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a",
    "url": "https://app.alphacount.ai/invoicing?highlight=0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"
  }
}

invoice.dunning_sent

A payment reminder or dunning notice went out by mail. `data` carries one field more, `dunning`: the level (0 is the reminder), date, fee, interest and the total it asks for.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "invoice.dunning_sent",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
    "number": "RE-2026-0042",
    "type": "invoice",
    "status": "sent",
    "date": "2026-10-13",
    "due_date": "2026-10-27",
    "service_period_start": "2026-10-01",
    "service_period_end": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "number": "10001",
      "name": "Musterschule gGmbH"
    },
    "external_source": "alphalearn",
    "external_ref": "order-2026-0815",
    "customer_external_ref": "org-17",
    "net_amount": 1059.7,
    "tax_amount": 194.18,
    "gross_amount": 1253.88,
    "amount_paid": 0,
    "currency": "EUR",
    "sent_at": "2026-10-13T09:12:44Z",
    "paid_at": null,
    "dunning_level": 1,
    "cancels_invoice": null,
    "cancelled_by": null,
    "booking_id": "9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a",
    "url": "https://app.alphacount.ai/invoicing?highlight=0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
    "dunning": {
      "level": 1,
      "date": "2026-11-10",
      "fee": 40,
      "interest": 2.31,
      "total_due": 1296.19
    }
  }
}

invoice.cancelled

The invoice was reversed by a cancellation invoice. `status` is `cancelled`, `cancelled_by` names the cancellation invoice โ€” which is reported on its own as `invoice.issued` with `type: "storno"`.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "invoice.cancelled",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
    "number": "RE-2026-0042",
    "type": "invoice",
    "status": "cancelled",
    "date": "2026-10-13",
    "due_date": "2026-10-27",
    "service_period_start": "2026-10-01",
    "service_period_end": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "number": "10001",
      "name": "Musterschule gGmbH"
    },
    "external_source": "alphalearn",
    "external_ref": "order-2026-0815",
    "customer_external_ref": "org-17",
    "net_amount": 1059.7,
    "tax_amount": 194.18,
    "gross_amount": 1253.88,
    "amount_paid": 0,
    "currency": "EUR",
    "sent_at": "2026-10-13T09:12:44Z",
    "paid_at": null,
    "dunning_level": null,
    "cancels_invoice": null,
    "cancelled_by": {
      "id": "1c9b8a7d-6e5f-4b4a-8d3c-2f1e0a9b8c7d",
      "number": "RE-2026-0051"
    },
    "booking_id": "9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a",
    "url": "https://app.alphacount.ai/invoicing?highlight=0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"
  }
}

Revenue share

commission_statement.issued

A statement to a partner โ€” self-billed invoice, settlement or notice โ€” got its number, its document and its booking.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "commission_statement.issued",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f",
    "number": "GS-2026-0007",
    "kind": "self_billing",
    "status": "issued",
    "date": "2026-11-03",
    "period_end": "2026-10-31",
    "partner": {
      "id": "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d",
      "name": "Lernlink GmbH",
      "external_source": "alphalearn",
      "external_ref": "lernlink"
    },
    "net_amount": 150,
    "tax_amount": 28.5,
    "gross_amount": 178.5,
    "currency": "EUR",
    "entries": 3,
    "cancels_statement": null,
    "cancelled_by": null,
    "objected_at": null,
    "sent_at": null,
    "paid_at": null,
    "url": "https://app.alphacount.ai/partners?highlight=7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f"
  }
}

commission_statement.sent

The statement was mailed to the partner.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "commission_statement.sent",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f",
    "number": "GS-2026-0007",
    "kind": "self_billing",
    "status": "sent",
    "date": "2026-11-03",
    "period_end": "2026-10-31",
    "partner": {
      "id": "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d",
      "name": "Lernlink GmbH",
      "external_source": "alphalearn",
      "external_ref": "lernlink"
    },
    "net_amount": 150,
    "tax_amount": 28.5,
    "gross_amount": 178.5,
    "currency": "EUR",
    "entries": 3,
    "cancels_statement": null,
    "cancelled_by": null,
    "objected_at": null,
    "sent_at": "2026-11-03T08:00:05Z",
    "paid_at": null,
    "url": "https://app.alphacount.ai/partners?highlight=7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f"
  }
}

commission_statement.cancelled

The statement was cancelled by a cancellation statement; its entries are open again and will be in the next statement.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "commission_statement.cancelled",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f",
    "number": "GS-2026-0007",
    "kind": "self_billing",
    "status": "cancelled",
    "date": "2026-11-03",
    "period_end": "2026-10-31",
    "partner": {
      "id": "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d",
      "name": "Lernlink GmbH",
      "external_source": "alphalearn",
      "external_ref": "lernlink"
    },
    "net_amount": 150,
    "tax_amount": 28.5,
    "gross_amount": 178.5,
    "currency": "EUR",
    "entries": 3,
    "cancels_statement": null,
    "cancelled_by": "0f1a2b3c-4d5e-4f6a-8b7c-9d0e1f2a3b4c",
    "objected_at": null,
    "sent_at": null,
    "paid_at": null,
    "url": "https://app.alphacount.ai/partners?highlight=7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f"
  }
}

commission_statement.objected

The partner objected to a self-billed invoice. The amount stays owed; the partner now invoices themselves.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "commission_statement.objected",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f",
    "number": "GS-2026-0007",
    "kind": "self_billing",
    "status": "objected",
    "date": "2026-11-03",
    "period_end": "2026-10-31",
    "partner": {
      "id": "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d",
      "name": "Lernlink GmbH",
      "external_source": "alphalearn",
      "external_ref": "lernlink"
    },
    "net_amount": 150,
    "tax_amount": 28.5,
    "gross_amount": 178.5,
    "currency": "EUR",
    "entries": 3,
    "cancels_statement": null,
    "cancelled_by": null,
    "objected_at": "2026-11-05T16:20:00Z",
    "sent_at": null,
    "paid_at": null,
    "url": "https://app.alphacount.ai/partners?highlight=7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f"
  }
}

commission_statement.paid

The bank statement shows the payout of the statement (`paid_at`).

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "commission_statement.paid",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f",
    "number": "GS-2026-0007",
    "kind": "self_billing",
    "status": "paid",
    "date": "2026-11-03",
    "period_end": "2026-10-31",
    "partner": {
      "id": "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d",
      "name": "Lernlink GmbH",
      "external_source": "alphalearn",
      "external_ref": "lernlink"
    },
    "net_amount": 150,
    "tax_amount": 28.5,
    "gross_amount": 178.5,
    "currency": "EUR",
    "entries": 3,
    "cancels_statement": null,
    "cancelled_by": null,
    "objected_at": null,
    "sent_at": null,
    "paid_at": "2026-11-12T09:00:00Z",
    "url": "https://app.alphacount.ai/partners?highlight=7c8d9e0f-1a2b-4c3d-9e4f-5a6b7c8d9e0f"
  }
}

Quotes

quote.sent

A quote was mailed to the customer.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "quote.sent",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "8d9e0f1a-2b3c-4d4e-8f5a-6b7c8d9e0f1a",
    "number": "AN-2026-0012",
    "title": "Schullizenz 2027",
    "status": "sent",
    "date": "2026-10-01",
    "valid_until": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "name": "Musterschule gGmbH",
      "external_source": "alphalearn",
      "external_ref": "org-17"
    },
    "one_off_net_amount": 500,
    "recurring_net_amount": 1000,
    "billing_interval": "month",
    "currency": "EUR",
    "sent_at": "2026-10-01T10:00:00Z",
    "accepted_at": null,
    "accepted_channel": null,
    "declined_at": null,
    "invoice_id": null,
    "contract_id": null,
    "external_source": "alphalearn",
    "external_ref": "offer-2027-17",
    "url": "https://app.alphacount.ai/invoicing?highlight=8d9e0f1a-2b3c-4d4e-8f5a-6b7c8d9e0f1a"
  }
}

quote.accepted

The customer accepted the quote โ€” on its acceptance page, or a person recorded it. `invoice_id` names the invoice draft of its one-off lines, `contract_id` the contract of its recurring ones.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "quote.accepted",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "8d9e0f1a-2b3c-4d4e-8f5a-6b7c8d9e0f1a",
    "number": "AN-2026-0012",
    "title": "Schullizenz 2027",
    "status": "accepted",
    "date": "2026-10-01",
    "valid_until": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "name": "Musterschule gGmbH",
      "external_source": "alphalearn",
      "external_ref": "org-17"
    },
    "one_off_net_amount": 500,
    "recurring_net_amount": 1000,
    "billing_interval": "month",
    "currency": "EUR",
    "sent_at": "2026-10-01T10:00:00Z",
    "accepted_at": "2026-10-09T14:31:02Z",
    "accepted_channel": "link",
    "declined_at": null,
    "invoice_id": "0b8a7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
    "contract_id": "4f5a6b7c-8d9e-4f0a-9b1c-2d3e4f5a6b7c",
    "external_source": "alphalearn",
    "external_ref": "offer-2027-17",
    "url": "https://app.alphacount.ai/invoicing?highlight=8d9e0f1a-2b3c-4d4e-8f5a-6b7c8d9e0f1a"
  }
}

quote.declined

The customer declined the quote.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "quote.declined",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "8d9e0f1a-2b3c-4d4e-8f5a-6b7c8d9e0f1a",
    "number": "AN-2026-0012",
    "title": "Schullizenz 2027",
    "status": "declined",
    "date": "2026-10-01",
    "valid_until": "2026-10-31",
    "customer": {
      "id": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
      "name": "Musterschule gGmbH",
      "external_source": "alphalearn",
      "external_ref": "org-17"
    },
    "one_off_net_amount": 500,
    "recurring_net_amount": 1000,
    "billing_interval": "month",
    "currency": "EUR",
    "sent_at": "2026-10-01T10:00:00Z",
    "accepted_at": null,
    "accepted_channel": null,
    "declined_at": "2026-10-12T11:00:00Z",
    "invoice_id": null,
    "contract_id": null,
    "external_source": "alphalearn",
    "external_ref": "offer-2027-17",
    "url": "https://app.alphacount.ai/invoicing?highlight=8d9e0f1a-2b3c-4d4e-8f5a-6b7c8d9e0f1a"
  }
}

Documents

document.processed

A document finished processing and its result was written โ€” once per run. Also sent for a document that needs review (`status` says so) and for a bank statement whose rows were imported. Not sent when a run extracted nothing.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "document.processed",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a",
    "document_type": "incoming_invoice",
    "status": "completed",
    "document_number": "R-2026-17",
    "document_date": "2026-10-01",
    "due_date": "2026-10-15",
    "counterparty": "Hosting AG",
    "net_amount": 100,
    "tax_amount": 19,
    "gross_amount": 119,
    "currency": "EUR",
    "account": {
      "number": "4964",
      "name": "Hosting"
    },
    "url": "https://app.alphacount.ai/documents?highlight=2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a"
  }
}

document.review_needed

A processed document is flagged for a person: processing was not confident enough, or it raised the flag itself (directly or through the tax verdict). One event per document and run, however many reasons there are, sent in addition to `document.processed` with its own id. Same `data`, with `status: "review_needed"`.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "document.review_needed",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a",
    "document_type": "incoming_invoice",
    "status": "review_needed",
    "document_number": "R-2026-17",
    "document_date": "2026-10-01",
    "due_date": "2026-10-15",
    "counterparty": "Hosting AG",
    "net_amount": 100,
    "tax_amount": 19,
    "gross_amount": 119,
    "currency": "EUR",
    "account": {
      "number": "4964",
      "name": "Hosting"
    },
    "url": "https://app.alphacount.ai/documents?highlight=2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a"
  }
}

Bank

transaction.matched

A bank transaction got its match โ€” a document or an account โ€” from a person or from the matcher. Sent again when the match is replaced; not sent when an existing match is merely accepted.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "transaction.matched",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "3e4f5a6b-7c8d-4e9f-8a1b-2c3d4e5f6a7b",
    "date": "2026-10-02",
    "amount": -119,
    "currency": "EUR",
    "counterparty": "Hosting AG",
    "match_type": "document",
    "matched_by": "system",
    "accepted": true,
    "document": {
      "id": "2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a",
      "number": "R-2026-17"
    },
    "account": null,
    "url": "https://app.alphacount.ai/transactions?highlight=3e4f5a6b-7c8d-4e9f-8a1b-2c3d4e5f6a7b"
  }
}

Bookkeeping

booking.created

A journal entry came into being โ€” from a document, a transaction, by hand, as a correction or a reversal, from invoicing, assets or a year-end closing. Sent once, whatever its `status`; a draft confirmed later is not sent again. Payroll entries are never sent.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "booking.created",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "id": "9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a",
    "number": 42,
    "date": "2026-10-02",
    "document_date": "2026-10-01",
    "document_number": "R-2026-17",
    "counterparty": "Hosting AG",
    "amount": 119,
    "net_amount": 100,
    "tax_amount": 19,
    "tax_rate": 19,
    "currency": "EUR",
    "status": "confirmed",
    "source": "document",
    "review_needed": false,
    "reverses_booking_id": null,
    "document_id": "2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a",
    "transaction_id": null,
    "lines": [
      {
        "side": "debit",
        "account": "4964",
        "account_name": "Hosting",
        "amount": 100
      },
      {
        "side": "debit",
        "account": "1576",
        "account_name": "Vorsteuer 19 %",
        "amount": 19
      },
      {
        "side": "credit",
        "account": "70001",
        "account_name": "Hosting AG",
        "amount": 119
      }
    ],
    "url": "https://app.alphacount.ai/buchhaltung?highlight=9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a"
  }
}

Test

webhook.test

Sent by the test button only; nobody subscribes to it. `data` names the webhook being tested.

{
  "id": "e1d2c3b4-a5f6-4e7d-8c9b-0a1f2e3d4c5b",
  "type": "webhook.test",
  "api_version": "2026-10-07",
  "created_at": "2026-10-20T07:00:12Z",
  "legal_entity": {
    "id": "4b7d1c9e-2a6f-4e3b-9c1d-8f0a2b3c4d5e",
    "name": "Alpha Akademie GmbH"
  },
  "data": {
    "webhook_id": "6b7c8d9e-0f1a-4b2c-8d3e-4f5a6b7c8d9e"
  }
}

On this page