POST /invoices/{invoice-id}/write_off

Write off the specified invoice.

Use this operation to mark invoices as settled when they remain unpaid after multiple attempts to collect payment.

Reverse a write-off

You can reverse the write-off by removing the linked credit note.

Prerequisites & Constraints

Impacts

Invoice

  • Chargebee sets the invoice status to paid.
  • Chargebee sets the invoice write_off_amount to the invoice amount_due.

Credit Note

  • Chargebee creates a credit note with the following attributes:
    • type is adjustment.
    • create_reason_code is Write Off.
    • total is invoice.amount_due.

Payment Schedules

  • If the invoice has an associated payment_schedule created against it, Chargebee marks the schedule as paid. Chargebee sets schedule_entries[].status to paid.

RevRec

  • To understand how write-offs sync to RevRec, see the write-off sync documentation.
  • To understand how write-offs affect bad debt expenses in RevRec, see the bad debt expense documentation.

Accounting Integrations

  • Write-offs sync to accounting platforms based on configured sync rules. For more details, see the following documentation:
    • Intacct
    • NetSuite

Implementation Notes

Before calling this API, ensure the following:

Servers

Path parameters

Name Type Required Description
invoice-id String Yes

Request headers

Name Type Required Description
chargebee-request-origin-device String No

The device from which the customer has made the request

Content-Type String Yes The media type of the request body.

Default value: "application/x-www-form-urlencoded"

chargebee-event-webhook String No

skip only webhooks

Valid values:

  • "all-disabled"
chargebee-business-entity-id String No

If the site has multiple business entities, you can use this custom HTTP header to specify the business entity for which Chargebee should perform the operation.

chargebee-event-actions String No

skip all actions to be done on the events

Valid values:

  • "all-disabled"
chargebee-request-origin-user String No

The email address of your customer/user. Use this when the email address has only ASCII characters.

chargebee-request-origin-ip String No

The IP address of the customer where the request originated

chargebee-request-origin-user-encoded String No

The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.

chargebee-event-email String No

skip only emails

Valid values:

  • "all-disabled"

Request body fields

Name Type Required Description
comment String No

Reason for deleting this transaction. This comment will be added to the associated entity.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.