---
title: "Invoice Voided"
method: POST
path: "invoice.voided"
tags: ["Invoices"]
---

# Invoice Voided

`POST invoice.voided` (webhook)

Sent when a invoice is voided

Required permissions:
 - `invoice:basic:read`
 - `member:email:read`
 - `webhook_receive:invoices`

## Headers

- `webhook-id` string, required — A unique identifier for this webhook request
- `webhook-signature` string, required — The signature of the webhook request with the webhook version prepended
- `webhook-timestamp` string, required — The timestamp in seconds since the Unix epoch that the webhook was sent at on the server

## Payload

- object
  - `api_version` 'v1', required — The API version for this webhook
  - `api_version_date` string, nullable, required — The dated API version (Api-Version-Date) the payload is serialized to
  - `company_id` string, nullable — The account ID that this webhook event is associated with
  - `data` Invoice, required — An invoice represents an itemized bill sent by a company to a customer for a specific product and plan, tracking the amount owed, due date, and payment status.
    - `automatically_finalizes_at` string, date-time, nullable, required — The date and time when the invoice will be automatically finalized. For charge_automatically, triggers an automatic charge. For send_invoice, sends the invoice email at the specified time.
    - `charge_buyer_fee` boolean, required — Whether the invoice includes a buyer processing fee on top of the plan price.
    - `collection_method` 'send_invoice' | 'charge_automatically', required — The method of collection for an invoice.
    - `company` object, required — The company that issued this invoice.
      - `id` string, required — The unique identifier for the company.
    - `created_at` string, date-time, required — The datetime the invoice was created.
    - `current_plan` object, required — The plan that this invoice charges for.
      - `currency` 'usd' | 'sgd' | 'inr' | 'aud' | 'brl' | 'cad' | 'dkk' | 'eur' | 'nok' | 'gbp' | 'sek' | 'chf' | 'hkd' | 'huf' | 'jpy' | 'mxn' | 'myr' | 'pln' | 'czk' | 'nzd' | 'aed' | 'eth' | 'ape' | 'cop' | 'ron' | 'thb' | 'bgn' | 'idr' | 'dop' | 'php' | 'try' | 'krw' | 'twd' | 'vnd' | 'pkr' | 'clp' | 'uyu' | 'ars' | 'zar' | 'dzd' | 'tnd' | 'mad' | 'kes' | 'kwd' | 'jod' | 'all' | 'xcd' | 'amd' | 'bsd' | 'bhd' | 'bob' | 'bam' | 'khr' | 'crc' | 'xof' | 'egp' | 'etb' | 'gmd' | 'ghs' | 'gtq' | 'gyd' | 'ils' | 'jmd' | 'mop' | 'mga' | 'mur' | 'mdl' | 'mnt' | 'nad' | 'ngn' | 'mkd' | 'omr' | 'pyg' | 'pen' | 'qar' | 'rwf' | 'sar' | 'rsd' | 'lkr' | 'tzs' | 'ttd' | 'uzs' | 'rub' | 'btc' | 'cny' | 'usdt' | 'kzt' | 'awg' | 'whop_usd' | 'xau', required — The available currencies on the platform
      - `description` string, nullable, required — A text description of the plan visible to customers. Maximum 1000 characters. Null if no description is set.
      - `formatted_price` string, required — The formatted price (including currency) for the plan.
      - `id` string, required — The unique identifier for the plan.
    - `customer_name` string, nullable, required — The full name of the customer this invoice is addressed to. Null if no name is on file.
    - `due_date` string, date-time, nullable, required — The deadline by which payment is expected. Null if the invoice is collected automatically.
    - `email_address` string, nullable, required — The email address of the customer this invoice is addressed to. Null if no email is on file.
    - `fetch_invoice_token` string, required — A signed token that allows fetching invoice data publicly without authentication.
    - `id` string, required — The unique identifier for the invoice.
    - `line_items` object[], required — Optional line items that break down the invoice total into individual charges.
      - `label` string, required — The label or description for this line item.
      - `position` integer, required — The display order of this line item within the invoice.
      - `quantity` number, required — The quantity of this line item.
      - `total` number, required — The computed total for this line item (quantity * unit_price).
      - `unit_price` number, required — The unit price for this line item.
    - `mailing_address` object, nullable, required — The billing/mailing address associated with this invoice, if one was provided at creation time.
      - `city` string, nullable, required — The city of the address.
      - `country` string, nullable, required — The country of the address.
      - `line1` string, nullable, required — The line 1 of the address.
      - `line2` string, nullable, required — The line 2 of the address.
      - `name` string, nullable, required — The name of the customer.
      - `phone` string, nullable, required — The phone number of the customer.
      - `postal_code` string, nullable, required — The postal code of the address.
      - `state` string, nullable, required — The state of the address.
    - `number` string, required — The sequential invoice number for display purposes.
    - `pay_online_url` string, nullable, required — The checkout URL where the customer can pay this invoice online, with their email address pre-filled and locked.
    - `product` object, required — The product that this invoice was generated for.
      - `id` string, required — The unique identifier for the product.
      - `title` string, required — The display name of the product shown to customers on the product page and in search results.
    - `status` 'draft' | 'open' | 'paid' | 'past_due' | 'uncollectible' | 'void', required — The different statuses an invoice can be in
    - `subscription_billing_anchor_at` string, date-time, nullable, required — The date that defines when the subscription billing cycle starts. When set on a renewal plan invoice, all future billing periods anchor to this date.
    - `updated_at` string, date-time, required — The datetime the invoice was last updated.
    - `user` object, nullable, required — The user this invoice is addressed to. Null if the user account has been removed.
      - `email` string, nullable, required — The user's email address. Requires the member:email:read permission to access. Null if not authorized.
      - `id` string, required — The unique identifier for the user.
      - `name` string, nullable, required — The user's display name shown on their public profile.
      - `username` string, required — The user's unique username shown on their public profile.
  - `id` string, required — A unique ID for every single webhook request
  - `timestamp` string, date-time, required — The timestamp in ISO 8601 format that the webhook was sent at on the server
  - `type` 'invoice.voided', required — The webhook event type

## Acknowledgement `200`

Return a 200 status to indicate that the data was received successfully

---

[API](https://skmtc.net/whop/apis/whop-api.md) · [All operations](https://skmtc.net/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whop/whop-api/versions/866821546d67/schema)
