Managing Finalized Invoices

Now that you've finalized an invoice, you may find that your user needs the ability to take certain actions against those invoices.

1. Sending a payment reminder to the client

You can set an automatic reminder schedule when creating an invoice. However, you may want to allow your user to send a reminder to their client(s) on an ad-hoc basis. To do so, simply make a POST call to the /sendInvoiceReminders endpoint:

curl \
  --request POST \
  --url https://sandbox.hurdlr.com/rest/v5/invoicing/sendReminders \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "invoiceIds": [
        21850
    ]
  }'

2. Cancelling an invoice

If an invoice has been finalized and needs to be cancelled, you can do so by making the following POST call, including the relevant invoiceId:

curl \
  --request POST \
  --url https://sandbox.hurdlr.com/rest/v5/invoicing/cancelInvoices \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "invoiceIds": [
        21850
    ]
  }'

3. Updating an invoice's recurrence schedule

You can update the recurrence schedule/frequency of a finalized recurring invoice by simply POSTing up the invoice object with an updated invoiceFrequency field. To stop it from recurring, you can simply change the invoiceFrequency to ONE_TIME:

curl \
  --request POST \
  --url https://sandbox.hurdlr.com/rest/v5/invoicing/invoice \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "id": 21850
    "invoiceFrequency": "ONE_TIME",
    "reminderSchedule": ["ON_DUE_DATE", "EVERY_SEVEN_DATES_AFTER_DUE_DATE"]
  }'

🚧

Updating closed invoices

Once an invoice has been closed, cancelled, or refunded, it cannot be updated. Instead, we recommend creating a new invoice with duplicated information. This behavior is by design, so as to keep the Accounting functionality (i.e. General Ledger) clean, with a traceable audit trail.