Finalizing an Invoice
Now that you've created an invoice draft, and your user has reviewed it, the time has come to finalize the invoice.
1. Finalizing a drafted invoice
You can finalize the invoice by making the following POST call:
curl \
--request POST \
--url https://sandbox.hurdlr.com/rest/v5/invoicing/finalizeInvoice \
--header 'Authorization: Bearer ${access_token}' \
--header 'Content-Type: application/json' \
--data '{
"id": 21850,
"sendEmail": true
}'
The sendEmail
flag can be used to determine whether the invoice should be sent to the client or not. There are times where a user may want to simply create the invoice for internal tracking reasons, but not send the invoice to the client. The invoice can be sent at a later time, using the /sendInvoice endpoint.
The response will contain an htmlReport
attribute, which contains an embeddable HTML body of the user's invoice, including their custom branding that you set up earlier:
{
"result": "SUCCESS",
"htmlReport": "<html> Your user's invoice draft's html </html>",
"invoiceId": "21850",
}
You can parse out the htmlReport
field and embed that in your product's UI for your user to review.
2. Sending an invoice to the client
If you opted to not send the invoice in the finalization step, you can simply make a POST call to the /sendInvoice endpoint to send the given invoice to the client:
curl \
--request POST \
--url https://sandbox.hurdlr.com/rest/v5/invoicing/sendInvoice \
--header 'Authorization: Bearer ${access_token}' \
--header 'Content-Type: application/json' \
--data '{
"invoiceId": 21850
}'
If you'd like these emails to originate from your own domain, simply email [email protected] and our API team will work with you to set that up.
Updated over 2 years ago