Workflow
Register the issuer
Call the Register Issuer API to register the supplier as an issuer.
Request reverse issuance
Call the Request Reverse Issuance API. Set the approval email recipient in
supplier.manager.email in the request body.Send the approval-request email
Bolta sends the approval-request email.
Supplier approval
The supplier accesses Bolta through the email link and approves the tax invoice.
Receive the issuance-complete webhook
Once approval is complete, Bolta sends a webhook notification containing
taxInvoiceUrl.Retrieve the tax invoice (optional)
Check the issuance result with the Retrieve Tax Invoice API.
Handling duplicate requests
You can include the optionalBolta-Client-Reference-Id header in a reverse issuance request. Enter a non-blank value between 1 and 255 characters, and use a new value for each issuance request.
If the same API key reuses a value, the API returns HTTP 400 with INVALID_REQUEST, even when the request body is identical. If you do not receive a response, do not submit the reverse issuance request again. Check whether it was accepted with the client reference status API. See the Authentication guide for the reuse rules.
Checking request status
Call the Retrieve Reverse Issuance Request Status API to see which stage a reverse issuance request is in.
For
FAILED, check failure.stage. SUBMISSION means the request never reached the supplier. Send a new request, and if you use Bolta-Client-Reference-Id, set a value you have not used before. ISSUANCE means the supplier approved but issuance failed, so check failure.code and failure.message for the cause.
Canceling a reverse issuance request
Before approval, you can cancel the reverse issuance request by calling the Cancel Reverse Issuance Request API.- On a successful cancellation, the API returns HTTP 200.
- If the request has already been approved, canceled, or issued, the API returns an error. To check the status before canceling, call the Retrieve Reverse Issuance Request Status API.
When this fits
- When it is difficult to obtain the supplier’s certificate in advance
- When the supplier prefers to approve by email
- When the platform wants to delegate approval to Bolta rather than building its own approval UI
