> ## 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/api-introduction/webhook-events).

## Event Types

| Event Type                     | Description                               |
| ------------------------------ | ----------------------------------------- |
| `TAX_INVOICE_ISSUANCE_SUCCESS` | When a tax invoice is issued successfully |
| `TAX_INVOICE_ISSUANCE_FAILURE` | When a tax invoice fails to be issued     |

## 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

Delivery time depends on the API key environment you used for the request.

| 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](/api-reference/tax-invoice/retrieve-tax-invoice).
