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

# Tax Invoice Webhooks

> Describes the event types and payloads Bolta sends for tax invoice issuance results.

For delivery method, firewall settings, and logs, see [Webhook Events](/en/docs/api-introduction/webhook-events).

## Event Types

| Event Type                     | Description        |
| ------------------------------ | ------------------ |
| `TAX_INVOICE_ISSUANCE_SUCCESS` | Issuance succeeded |
| `TAX_INVOICE_ISSUANCE_FAILURE` | Issuance failed    |

## Payload

### Issuance Success

```json theme={"dark"}
{
  "eventType": "TAX_INVOICE_ISSUANCE_SUCCESS",
  "data": {
    "issuanceKey": "IssuanceKey_0FE29D3930EF0C6F01J0XQ6WVFN3K9SB99Q6T13S50",
    "taxInvoiceUrl": "https://app.bolta.io/taxInvoices/..."
  }
}
```

| Field                | Type   | Description                 |
| -------------------- | ------ | --------------------------- |
| `eventType`          | string | Event type                  |
| `data.issuanceKey`   | string | Issuance request identifier |
| `data.taxInvoiceUrl` | string | Tax invoice URL             |

### Issuance Failure

```json theme={"dark"}
{
  "eventType": "TAX_INVOICE_ISSUANCE_FAILURE",
  "data": {
    "issuanceKey": "IssuanceKey_0FE29D3930EF0C6F01J0XQ6WVFN3K9SB99Q6T13S50",
    "cause": {
      "code": "NOT_FOUND_CERTIFICATE",
      "message": "The certificate is not registered."
    }
  }
}
```

| Field                | Type   | Description                 |
| -------------------- | ------ | --------------------------- |
| `eventType`          | string | Event type                  |
| `data.issuanceKey`   | string | Issuance request identifier |
| `data.cause.code`    | string | Error code                  |
| `data.cause.message` | string | Error description           |

## Webhook Delivery Time

| Environment        | Delivery Time                                       |
| ------------------ | --------------------------------------------------- |
| Test key (`test_`) | 10-30 seconds after the issuance request            |
| Live key (`live_`) | Approximately 10 minutes after the issuance request |

## When a Webhook Does Not Arrive

Check the issuance status with [Retrieve Tax Invoice](/en/api-reference/tax-invoice-retrieval/retrieve-tax-invoice). For reverse issuance requests, [Retrieve Reverse Issuance Request Status](/en/api-reference/reverse-issuance/retrieve-reverse-issuance-request-status) also shows whether the request is waiting for approval, rejected, expired, or failed.
