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

# Simple-Approval Reverse Issuance

> A reverse issuance workflow where the supplier approves directly within the platform through an approval URL.

After the platform requests reverse issuance, it **obtains an approval URL and the supplier approves directly within the platform**. Approval is completed inside the platform's UX without going through email.

## Workflow

<Steps>
  <Step title="Register the supplier" icon="code">
    Call the [Register Supplier API](/api-reference/supplier/register-supplier) to register the supplier's information with Bolta. Save the `supplierKey` returned after registration.
  </Step>

  <Step title="Issue a certificate registration URL" icon="code">
    Call the [Retrieve Certificate Registration URL API](/api-reference/certificate/retrieve-certificate-registration-url) to obtain a URL where the supplier can register their certificate.
  </Step>

  <Step title="Supplier registers the certificate" icon="user-check">
    The supplier accesses the issued URL and registers their certificate. This step must be performed by the supplier directly. For the redirect return and result verification after registration, see [Certificate Registration Integration](/en/api-introduction/certificate-registration).
  </Step>

  <Step title="Request reverse issuance" icon="code">
    Call the [Request Reverse Issuance API](/api-reference/reverse-issuance/request-reverse-issuance). Pass the supplier's `supplierKey` in the `Supplier-Key` header.
  </Step>

  <Step title="Obtain the approval URL" icon="code">
    Call the [Retrieve Reverse Issuance Approval URL API](/api-reference/reverse-issuance/retrieve-reverse-issuance-approval-url) to obtain the approval page URL. The generated URL is valid for **10 minutes**.
  </Step>

  <Step title="Simple approval" icon="user-check">
    The supplier accesses the approval URL and approves the tax invoice. Expose the URL from the platform by opening a new tab, navigating to the page, and so on.
  </Step>

  <Step title="Receive the issuance-complete webhook" icon="zap">
    Once approval is complete, a [webhook](/en/api-introduction/webhook-events) sends a notification that includes `taxInvoiceUrl`.
  </Step>

  <Step title="Retrieve the tax invoice (optional)" icon="search">
    Check the issuance result with the [Retrieve Tax Invoice API](/api-reference/tax-invoice/retrieve-tax-invoice).
  </Step>
</Steps>

## Canceling a reverse issuance request

Before approval, you can cancel the reverse issuance request by calling the [Cancel Reverse Issuance Request API](/api-reference/reverse-issuance/cancel-reverse-issuance-request).

* On a successful cancellation, the response is returned with HTTP 200.
* If the request has already been approved, canceled, or issued, an error is returned.

<Warning>
  **Approval is not possible past the issuance deadline**

  If the issuance deadline has passed, approval is not possible, so a 400 error is returned when retrieving the approval URL. Update the date and submit the request again.
</Warning>

## When this fits

* When you want to complete the approval process within the platform's UX
* When the supplier has already registered a certificate
* When you need to track the approval status in real time

## Difference from email-approved reverse issuance

|                      | [Email approval](/en/api-introduction/usecase-reverse-email) | Simple approval                     |
| -------------------- | ------------------------------------------------------------ | ----------------------------------- |
| Approval method      | Email link sent by Bolta                                     | Approval URL issued by the platform |
| Certificate required | Not required                                                 | Required                            |
| UX control           | Delegated to Bolta                                           | Controlled directly by the platform |
| URL validity         | -                                                            | 10 minutes                          |
